실제로 쓰이는 어휘: AFO에서 IDMP까지
📍 현재 위치: 제8부 · 오늘날 산업 현장의 온톨로지. 앞 장은 컨소시엄과 표준화 기구의 이름을 불렀고, 이 장은 그들이 실제로 내놓은 산출물을 목록화하며, 어떤 어휘가 상용 환경에서 살아 있고 어떤 어휘가 단지 다운로드 페이지에만 머무는가라는 더 어려운 질문을 던집니다.
지난 장은 무대를 호명했습니다. Allotrope, OBO Foundry, IOF, EMA와 FDA의 규제 당국, 그리고 키보드 앞의 스키마 모델러들.
컨소시엄의 이름을 부르는 것은 쉬운 절반입니다.
더 어려운 질문 — "당신의 배치를 공유 온톨로지에 닻 내려라"라는 조언이 실현 가능한 지침인지 아니면 희망 사항인지를 가르는 질문 — 은 그 산출물 중 무엇을 실제 공장이 가동 중인 시스템에 배선해 두었고, 무엇이 발행되어 다운로드 가능한 상태로 쓰이지 않은 채 놓여 있는가입니다. 안정적인 URL을 가진 표준과, 그것에 의존하는 상용 시스템이 있는 표준은 같지 않습니다.
그래서 이 장은 목록이며, 그 뒤에 따라오는 정직한 결산입니다. 우리는 어휘들의 이름을 부르고, 각각이 무엇을 모델링하는지 말하며, 단 하나의 가차 없는 기준으로 정렬합니다. 그 온톨로지가 얼마나 훌륭한가가 아니라, GMP(Good Manufacturing Practice — 규제되고 감사 가능한 생산 환경)나 규제 시스템에 실제로 얼마나 깊이 침투했는가입니다.
거기서 드러나는 그림은 한쪽으로 치우쳐 있으며, 이는 이 책의 나머지 부분이 조용히 당신을 준비시켜 온 방식이기도 합니다.
전문 주방을 떠올려 보세요. 어떤 도구는 매 영업시간마다 요리사의 손에 들려 있습니다 — 칼, 팬, 주문표. 어떤 것은 식료품 저장고에 살고 있으며, 실재하고 의존하지만 결국 만들어진 요리를 통해서만 맛볼 수 있습니다 — 향신료 병, 육수. 그리고 어떤 것은 주방이 주문은 했지만 한 번도 포장을 뜯지 않은 카탈로그 품목입니다.
모두가 "주방 안에" 있습니다. 그러나 오직 첫 번째 종류만이 쓰이고 있습니다. 바이오의약품의 온톨로지도 똑같이 세 갈래로 갈립니다.
이 장에서 다루는 내용
우리는 바이오의약품 그래프가 실제로 집어 드는 어휘들을 세 가지 성숙도 단계로 정렬해 살펴봅니다.
1단계(Tier 1)는 진정으로 상용이며 진정으로 형식적인 층입니다. 실험실 데이터를 위한 Allotrope Foundation Ontology(AFO)와 그 경량 자매격인 Allotrope Simple Model(ASM), 물질·제품 동일성을 위한 ISO IDMP 계열과 UNII, 그리고 NCIt/CDISC 용어입니다.
2단계(Tier 2)는 상용이지만 간접적입니다 — ChEBI 같은 참조 온톨로지, 단위 어휘인 QUDT와 UCUM, OBO 생명과학 앵커들, 그리고 출처 온톨로지 PROV-O — 제조 현장에는 오직 이들을 품은 파일과 그래프를 통해서만 등장합니다.
3단계(Tier 3)는 파일럿·제안·학술 단계입니다. BAO, CHMO, PROCO, 그리고 이 책이 가장 공들여 작업한 바로 그 지점에서 가장 빈약한 제조 공정 어휘들입니다. 우리는 이 단계 구분이 드러내는 간극으로 장을 닫습니다.
단계가 무엇을 재는지에 대해 한마디 — 오해하기 쉽기 때문입니다. 단계는 시스템이 어떤 어휘에 얼마나 직접적으로 의존하는가로 정렬하지, 얼마나 깊이 의존하는가로 정렬하지 않습니다. 2단계의 단위 문법이 1단계의 등록처보다 더 하중을 지탱하면서도 한 단계 아래에 자리할 수 있습니다. 당신은 그것을 오직 파일이나 임포트 안에서만 마주칠 뿐, 현장에서 이름으로는 결코 만나지 않기 때문입니다.
성숙한 어휘는 가장자리 — 실험실과 등록부 — 를 기술하는 반면, 공정 어휘는 맨 아래 계층으로 갈수록 얇아진다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
1단계 — 상용이며 형식적: 실험실과 등록처
바이오의약품의 두 영역은 진정으로 "발행된 온톨로지"에서 "상용 환경에서 하중을 지탱하는" 단계로 건너왔습니다. 둘 다 제조의 중심이 아니라 가장자리에 자리합니다. 이는 이 장의 핵심을 미리 알려주는 첫 번째 단서입니다.
첫 번째는 분석 실험실 데이터(analytical-lab data)입니다. Allotrope Foundation Ontology(AFO)는 BFO에 정렬된 형식 온톨로지로 — Equipment, Material, Process, Result 분류 체계로 조직되어 있으며 — 2018년 3월에 처음 공개되었습니다 (상용 단계) [1]. "BFO에 정렬됨"은 이 장 전체에서 정렬 작업을 해내는 기준이므로, 여기서 단단히 고정해 둘 가치가 있습니다. BFO(Basic Formal Ontology)는 종류(kinds) — 독립적 지속체, 공정, 성질, 정보 인공물 — 의 작디작은 최상위 어휘로, 이 책 스택의 모든 단이 그 아래에 매달립니다. BFO에 닻을 내린 어휘는 추론될 수 있고 — 프로그램(추론기(reasoner))이 새로운 사실을 도출하고 모순을 짚어낼 수 있고 — 다른 어떤 BFO 정렬 어휘와도 줄을 맞출 수 있는데, 이는 벌거벗은 식별자들의 등록처가 결코 제공할 수 없는 바로 그것입니다.
AFO는 정확히 이 책이 주장해 온 종류의 것입니다. 실재하는 클래스, 실재하는 상위 온톨로지 앵커, 실재하는 재사용 — 그리고 이 조사에서는 이례적으로, 실재하는 기기가 이를 방출합니다.
원래의 중량급 운반체였던 HDF5 기반 Allotrope Data Format(ADF)은 가벼운 도입에 쓰기에는 너무 번거로운 것으로 드러났습니다.
그래서 재단은 Allotrope Simple Model(ASM)을 내놓았습니다 — AFO에서 파생된 어휘를 훨씬 적은 부담으로 운반하는 경량 JSON 직렬화입니다 — 2023년 2월 8일에 공개되었고, 40가지 이상의 기법을 포괄합니다 (상용 단계) [2].
여기에 헤지 하나를 드러내 둘 필요가 있습니다. AFO 사용량이 "3년에 걸쳐 세 배로 늘었다"는, 자주 인용되는 주장은 컨소시엄 자가보고이며 절대적 기준값을 동반하지 않습니다. 그러니 측정된 헤드라인 수치가 아니라 자가보고된 진행 방향으로 읽으십시오 [2].
AFO가 현장에서 실제로 무엇을 운반하는지 이름 붙일 가치가 있습니다. 내부와 성숙한 온톨로지가 맞닿는 유일한 지점이기 때문입니다. 우리 캠페인에서 AFO는 출하 SEC 크로마토그램 — 크기 배제 크로마토그래피(size-exclusion chromatography, SEC), 즉 분자를 크기로 분리하는 실험실 방법에서 나오는 트레이스이며, bp:ADF-SEC-001은 이 실행의 크로마토그램이 그래프에서 지니는 식별자이고, bp: 접두어는 그것이 이 책 고유의 용어 중 하나임을 표시합니다 — 뒤의 어휘입니다. 이 페이지의 모든 식별자는 그 prefix:name 형태를 지니며, 접두어는 그 용어가 어느 어휘에서 왔는지를 이름 짓습니다(OBO는 obo:, QUDT는 qudt: 등). 그래서 어떤 용어를 누가 소유하는지 한눈에 읽을 수 있습니다. 그 크로마토그램은 원료의약품을 최소 95 %의 단량체(온전한 단일 분자 항체) 명세와 2.0 %의 HMW(고분자량) 응집체 한도 — 서로 들러붙은 항체 덩어리로, 그 상한 아래에 머물러야 합니다 — 에 비추어 98.611 % 단량체로 보고합니다. 이것들이 CQA입니다. 규제 당국이 안전성과 유효성에 결부하고, 검증된 방법으로 측정하며, 크로마토그램을 원자료 기록으로 보존하는 핵심 품질 속성(critical quality attribute)입니다. 여기서 AFO가 상용 등급인 까닭은 바로 SEC 결과가 이산적이고 방어 가능한 사실이기 때문입니다 — 그것이 바로 실험실 끝이 바이오리액터 끝보다 먼저 형식 온톨로지를 얻은 이유입니다.
두 번째 상용 영역은 규제 물질·제품 식별(regulatory substance and product identification)입니다 — 규제 장에서 깊이 다루었고, 여기서는 목록을 위해 이름만 부릅니다.
ISO IDMP 계열(ISO는 국제 표준화 기구이고, IDMP는 그 의약품 식별(Identification of Medicinal Products) 표준입니다 — 물질에 대한 ISO 11238, 제품에 대한 11615, 그리고 11616, 11239, 11240)은 EMA(European Medicines Agency, EU 의약품 규제 당국)의 SPOR 서비스(Substance, Product, Organisation, Referential — 네 개의 마스터 데이터 등록처)로 구현되어, 기업이 의약품을 승인 신청하는 통로인 EU 제출 스택 전반에서 상용 환경에 있습니다 (상용 단계) [3].
FDA 측에서는 GSRS/UNII가 ISO 11238과 ISO/TS 19844에 근거한 고유 물질 식별자를 발급합니다 (상용 단계) [4].
그리고 NCI Thesaurus(NCIt) — 미국 국립암연구소(US National Cancer Institute)가 유지하는 대형 참조 어휘 — 는 CDISC Controlled Terminology(CDISC 표준화 기구가 내놓은 표준화된 임상시험 용어 집합)와 다수의 SPL(Structured Product Labeling — 미국 의약품 라벨 형식) 용어 하위 집합을 배포하는 상용 플랫폼입니다 (상용 단계) [5].
여기서 한 가지 구분이 중요합니다. 이 책이 그 점에 대해 엄격해 왔기 때문입니다. IDMP, UNII, CDISC CT는 구조화된 통제 어휘이자 등록처입니다 — AFO 같은 BFO 정렬 OWL(Web Ontology Language) 온톨로지가 아닙니다 — 그러나 그렇다고 해서 상용 등급으로서의 위상이 조금도 떨어지지 않습니다.
IDMP 물질 식별자는, 우리의 진행 중인 예시 bp:DS-001 — 우리의 배치가 되어 가는 원료의약품 — 이 내부 계보에서 규제 제출로 건너갈 때 실제 공장이 그 뒤에 놓는 바로 그것입니다.
그 건넘은 이미 데이터셋에 배선되어 있습니다. bp:DS-001 bp:hasSubstanceIdentifier bp:IDMP-DS-001. 의도된 모델링 선택에 주목하세요 — IDMP 식별자는 물질 자체가 아니라 물질에 대한(about) 정보 콘텐츠 개체이므로, 그래프는 등록처 키를 물질에 뭉뚱그려 얹는 대신 전용 속성을 통해 그것에 연결합니다. UNII도 똑같이 동작합니다(UNII는 물질을 위한(for) 식별자로, ISO 11238과 ISO/TS 19844에 근거합니다). 그래서 둘 다 OWL 온톨로지가 아니면서 등록처로서 상용 단계에 자리합니다. 그들의 일은 포섭 추론이 아니라 지속적인 동일성이기 때문입니다.
2단계 — 상용이지만 간접적: 인프라 층
다음 단계는 실재하고, 유지되며, 의존되고 있습니다 — 그러나 제조 현장에서는 좀처럼 이름으로 등장하지 않습니다. 그것은 데이터 파일 안에 올라타거나, 직접 쓰이는 온톨로지에 의해 임포트됩니다.
이들이 향신료 병입니다. 없어서는 안 되지만, 오직 요리를 통해서만 맛보게 됩니다.
ChEBI(Chemical Entities of Biological Interest, EMBL-EBI에서 유지)는 참조 화학 온톨로지로, PubChem과 하위 온톨로지들이 재사용합니다. 제조 현장에서의 존재감은 간접적입니다 (상용 단계) [6].
단위는 이 간접 패턴의 가장 깔끔한 사례이며, 짚어 둘 만한 방식으로 갈라집니다 — 그 갈라짐이 주어진 시스템이 실제로 어떤 어휘를 말하고 있는지 알려주기 때문입니다. QUDT(Quantities, Units, Dimensions and Types)는 Allotrope ADF 안에 박혀 있는 단위 온톨로지로, 모든 양값(quantity value)이 자신의 단위를 지니게 합니다 (상용 단계) [7].
그러나 정작 주시해야 할 것은 UCUM(the Unified Code for Units of Measure)입니다. QUDT가 아니라 UCUM이 HL7/FHIR(지배적인 헬스케어 데이터 교환 표준 — HL7은 표준화 기구이고, FHIR은 그 현대적 웹 API 형식입니다) 안에서, 따라서 그 위에 세워진 규제 제출 시스템 — EMA PMS(유럽 기관의 Product Management Service), FDA SPL(Structured Product Labeling, 미국 의약품 라벨 형식), PQ-CMC FHIR(FDA의 제조·품질 제출 형식) — 안에서 의무화된 단위 문법이기 때문입니다. 즉 이미 상용 환경에 있는 바로 그 규제 스택 안에 있습니다 (상용 단계) [8]. 그것들 각각이 UCUM을 의무화하므로, 거기에 도달하는 숫자는 UCUM 코드를 입어야 합니다.
그래서 우리의 bp:DS-001 샘플에 대한 동일한 SEC 출하 결과가 자신의 Allotrope ADF 크로마토그램 안에서는 QUDT 단위 IRI(IRI는 웹 주소 형태의 식별자입니다 — 여기서는 기계가 따라가 단위의 정의에 닿을 수 있는 것)를 지니고, 규제 당국으로 가는 길에서는 UCUM 코드를 지닐 수 있습니다 — 하나의 숫자에 두 개의 단위 문법이며, 값만 읽는 사람에게는 둘 다 보이지 않습니다. (이 갈라짐은 companion의 identifiers-and-units 장이 온전히 추적합니다.)
단계 구분을, 하나의 숫자가 공장을 통과하며 밟는 경로로 보면 도움이 됩니다. 배양 온도 설정값은 히스토리언과 OPC UA 스트림을 떠날 때 벌거벗은 UCUM 문자열 — 단위 Cel을 단 36.5 — 로, 형식 온톨로지는 전혀 없이 떠납니다. 그것이 내부이며, 자체 제작 태그로 돌아갑니다. 같은 캠페인의 출하 SEC 크로마토그램은 분석 기기를 떠날 때 AFO/ASM이며, 모든 양값이 QUDT 단위 IRI를 지닙니다. 그것이 한쪽의 성숙한 가장자리입니다. 그 둘을 묶는 배치 기록은 어느 컨소시엄도 표준화하지 않은 단위공정 이름을 감싼 ISA-95 / B2MML 구조입니다. 그리고 물질이 제출로 건너갈 때, 그 동일성은 IDMP/UNII 코드가 되고 그 숫자들은 SPL과 PQ-CMC FHIR을 위해 UCUM으로 다시 인코딩됩니다. 그것이 다른 쪽의 성숙한 가장자리입니다. 네 개의 시스템, 네 개의 어휘 — 양쪽 끝에서는 형식적이고 중간에서는 즉흥적 — 이며, companion 스위트의 로더(opcua_to_rdf.py, historian_to_rdf.py, b2mml_to_rdf.py, asm_to_rdf.py — rdf는 RDF, 즉 이 책의 그래프가 그 위에 세워진 단순한 주어-술어-목적어 "트리플" 데이터 모델인 Resource Description Framework를 가리킵니다)가 바로 그 경로를 걷습니다. 여기서 히스토리언은 공장의 시계열 아카이브이고 OPC UA는 그 측정값이 흘러가는 산업용 기계 대 기계 프로토콜이며, ISA-95 / B2MML은 배치 기록을 구조화하는 제조 데이터 표준입니다.
실행 예제는 실재하는 값들에 두 문법을 모두 싣습니다. 출하 SEC 결과는 QUDT 형식의 양값으로 안착합니다 — bp:DS-001-monomer a qudt:QuantityValue ; qudt:hasUnit unit:PERCENT ; qudt:hasQuantityKind qkind:DimensionlessRatio(절들로 이루어진 하나의 사실로 읽으세요. 이 단량체 값은 QUDT 양값이며, 단위는 퍼센트이고, 양 종류는 무차원 비율입니다) — 추론기가 다룰 수 있는 역참조 가능한 단위 IRI("역참조 가능"이란 기계가 IRI를 따라가 단위의 정의 — 그 차원과 양 종류 — 를 가져올 수 있다는 뜻입니다)를 단 채로 말입니다. 같은 캠페인의 바이오리액터 온도는 히스토리언과 OPC UA 태그에서 그 출처 UCUM 문자열 qudt:ucumCode "Cel"을 달고 도착하며, 로더는 UCUM 코드가 QUDT 단위에 깔끔하게 대응하는 한 이를 qudt:hasUnit unit:DEG_C(그리고 qudt:hasQuantityKind qkind:Temperature)로 해소합니다 — 그래서 이 값 또한 두 문법을 모두 입게 됩니다. 둘은 중복이 아닙니다. QUDT IRI는 추론을 위한 것이고, UCUM 코드는 파서가 검증하고 규제 당국의 FHIR 리소스가 요구하는 문법입니다. 성숙한 파이프라인은 둘 다 유지합니다 — 그래서 historian_to_rdf.py, opcua_to_rdf.py, b2mml_to_rdf.py가 모두 들어오는 길에 qudt:ucumCode(그리고 그 옆의 QUDT 단위 IRI)를 씁니다.
OBO 생명과학 앵커들이 여기서 두 번째 군집을 이룹니다. OBO — Open Biological and Biomedical Ontologies Foundry — 는 발견 세계가 이미 표준으로 삼은, 큐레이션된 BFO 정렬 생명과학 참조 어휘 공유지이며, 그래서 바이오의약품 그래프는 자신의 생물학을 새로 만드는 대신 그것에서 빌려 옵니다. Protein Ontology(PRO) [12]가 분자를 정초하고, Cell Line Ontology와 NCBI Taxonomy가 세포주를 정초하며, Gene Ontology와 Disease Ontology가 표적을 정초합니다 — 2부가 집어 들었던 바로 그 OBO 앵커들입니다 (상용 단계).
실행 예제는 이들 중 셋을 align.ttl에서 IRI로 재사용합니다. bp:HostOrganism rdfs:subClassOf obo:NCBITaxon_10029(rdfs:subClassOf는 "~의 한 종류이다"로 읽으세요. 우리의 숙주 생물 클래스가 NCBI Taxonomy의 Cricetulus griseus, 즉 CHO 세포주 뒤의 중국 햄스터의 하위 클래스로 선언됩니다 — CHO는 Chinese Hamster Ovary 세포로, 대부분의 바이오의약품을 키우는 일꾼 숙주입니다), bp:WorkingCellBank rdfs:subClassOf obo:CLO_0002421(Cell Line Ontology의 CHO 세포 클래스), 그리고 bp:Target rdfs:subClassOf obo:PR_000000001(PRO 단백질 IRI) — CQ-20의 "어떤 숙주 생물이며, 안정적 NCBI Taxon IRI로 무엇인가"라는 질문이 비추어 해소되는 바로 그 간선들입니다. 이 군집이 여기서 2단계인 까닭은 그 이름표가 말하는 그대로입니다. 공장은 자기 세포주를 "손으로" 타이핑하지 않고, 그 정렬을 통해 OBO IRI를 물려받습니다.
산업 현장에서 이들은 GMP 현장이 아니라 발견·R&D 그래프를 정초합니다. 패턴은 반복됩니다. 형식 어휘는 과학이 있는 곳에서 가장 빽빽하고, 제조 라인을 향해 걸어갈수록 얇아집니다.
끝으로, PROV-O(W3C 출처 온톨로지)는 카탈로그 어휘 SKOS, DCAT와 함께, 실제 FAIR 프로그램이 기대는 출처·카탈로그 층입니다. PROV-O는 이력과 계보 — 이 책 전체의 결실 — 가 상용 카탈로그에서 모델링되는 흔한 방식입니다 (상용 단계) [13].
공장이 bp:DS-001은 bp:POLpool-001로부터 derivedFrom이라고 기록할 때(직속 부모입니다 — 단백질 A 포집 풀 bp:PApool-001은 폴리싱 풀과 두 바이러스 풀을 거쳐 같은 계보 사슬에서 bp:DS-001로부터 네 홉 위에 있습니다), 바깥세상에 그렇게 말하는 상용 등급의 방식은 매우 흔히 PROV-O의 wasDerivedFrom입니다.
이 책 자신의 그래프는 두 층을 눈에 보이게 분리해 둡니다. 계보는 지역 bp:derivedFrom으로 단언하고, PROV-O는 귀속과 큐레이션(attribution and curation)을 위해 남겨 둡니다 — 각 출처 주장에 대한 prov:wasAttributedTo, 스튜어드의 조정에 대한 prov:Activity입니다. PROV-O의 wasDerivedFrom은 내보내기 관용구이며, 계보가 건물을 떠나야 할 때 집어 드는 단어입니다.
이 단계에는 단서를 단 채 들어가야 할 이름이 하나 더 있습니다. LinkML은 거버넌스 장에서 만난 스키마 모델링 프레임워크로, 여러 기업 프로그램이 OWL과 SHACL(Shapes Constraint Language, 실제 데이터가 온톨로지의 셰이프를 따르는지 검증합니다)을 방출하기 전에 데이터 모델을 작성하는 실용적 층입니다. 그것은 형식 상위 온톨로지 자체가 아니라 모델링의 편의입니다 — 팀이 스프레드시트와 YAML로 작업하면서도 이 단계의 나머지가 전제하는 형식 산출물로 컴파일해 내려갈 수 있게 해 주기에 정확히 유용합니다.
이 목록은 AI 준비도 목록이기도 하다
이 어휘들 가운데 무엇이든 그것을 옹호하는 가장 새로운 논거 — AI 프런티어 장과 동반 권의 그 자신의 프런티어 장에서 온전히 다시 진술되는 — 이 바로 이 단계 목록을, 모델이 무엇에 딛고 서도 되는가의 점검표로 바꾸는 데에는 이유가 있습니다. 대형 언어 모델은 유창한 추측기입니다. bp:DS-001이 자기 단량체 명세를 충족했는지 물으면, 그 사실을 가졌든 못 가졌든 똑같이 손쉽게 자신만만한 답을 지어냅니다. 진실은 무언가 다른 것이 공급해야 하며, 이 어휘들이 바로 그 무언가입니다. 2024~2026년 물결이 안착한 기법인 검색 증강 생성(retrieval-augmented generation) — 신뢰할 수 있는 저장소에서 검증 사실을 끌어와 모델이 그 사실로부터만 답하도록 요구하는 것 — 은 그 저장소만큼만 신뢰할 수 있고, 그 그래프 네이티브 형태(GraphRAG)에서 저장소는 정확히 이 장이 목록화하는 bp: 그래프입니다. 성숙한 가장자리가 바로 그 저장소를 믿음직하게 만듭니다. AFO/ASM SEC 결과는 검사 가능한 실험실 사실이고, IDMP/UNII 코드는 영속적 동일성이며, 둘 중 무엇을 검색하든 모델은 그라운딩됩니다. 반면 자체 제작된, 어휘 없는 내부 위에서 즉흥적으로 지어내는 모델은 검색할 것이 없어 발명으로 되돌아갑니다.
이 절이 그토록 길게 다룬 단위의 갈라짐은, 일단 모델이 끼어들면 학술적인 이야기가 아닙니다 — 그것이 학습된 특징을 차원적으로 정직하게 지켜 주는 것입니다. 히스토리언에서 36.5를 벌거벗은 부동소수점으로 받아들이는 모델은 그것을 Cel을 뜻하는 값, K를 뜻하는 값과 마치 같은 숫자인 양 기꺼이 뒤섞습니다. 로더가 써 넣는 QUDT IRI와 qudt:ucumCode "Cel" 문자열이 바로, 특징 파이프라인(또는 그 뒤의 추론기)이 그 실수가 모델에 닿기 전에 거부할 수 있게 하는 것입니다. 그래프 특징은 단위를 지니고 식별된 뒤에야 학습에 안전하며 — 그것이 정확히 2단계 단위 어휘가 수행하는, 벙어리 부동소수점에서 타입 부여된 양값으로의 들어올림입니다.
이 책 자신의 산출물 가운데 셋이 그 그라운딩을, 모델이 실제로 따라야 하는 규율로 바꿉니다.
- SHACL 게이트가 검색 게이트가 됩니다. 부적합 출하를 거부하는 셰이프 — 모든 배치가 자기 물질 식별자를, 모든 양값이 자기 단위를 지니라는 — 는 부적합 검색도 똑같이 거부합니다. SHACL 선별을 거친 부분 그래프는 이 인스턴스들 위에서 학습하는 모델이 가질 수 있는 유일하게 정직한 학습 집합이자 검색 맥락입니다. 셰이프를 통과하지 못하는 부분 그래프는, 유창한 모델이 학습 기억에서 기꺼이 채워 넣을, 텅 비고 잘못 라벨링된 입력입니다.
- 계보 엣지가 곧 교차 검증 폴드입니다.
bp:derivedFrom이 명시적이고 추이적이기에, 모델은 바이오공정 데이터가 요구하는 방식으로 분할될 수 있습니다 — 무작위 행이 아니라 배치별로, 같은bp:derivedFrom조상을 공유하는 모든 행을 보류하는 그룹화 / 리브-원-배치-아웃(grouped / leave-one-batch-out) 방식으로. 이 캠페인의 모든 로트는 같은 작업 세포 은행에서 유래하므로, 한 은행에서 나온 두 로트는 거의 쌍둥이입니다. 그 공유 조상으로 거슬러 올라가는(bp:derivedFrom)+걷기가 곧 그룹화 키이며, 동반 권의 검증 장이 자신의 기본값으로 삼는 규율입니다. 독점 테이블을 평면적으로 내보낸 결과물은 그 그룹화를 막연한 관행에 맡기지만, 그래프는 그것을 기계적으로 만듭니다. - 추론된 그래프가 동점을 이깁니다 — 검증 역설. 유창한 모델은 보류된 데이터에 견주어 검사되지만, 그 데이터는 그것이 나온 그래프만큼만 정직합니다. 추론된 그래프 — 그
owl:TransitiveProperty폐쇄와 SHACL 셰이프가 이미 기계 검증된 그래프 — 와 모순되는 모델은, 그 모순에서 둘 중 틀렸을 가능성이 더 큰 쪽입니다. 그래프의 답은 도출되고 인증된 반면 모델의 답은 단지 생성되었기 때문입니다. 이것이 동반 권이 명명하는 검증 역설(validation paradox)이며, 이 어휘들을 감사를 위해 순위 매기는 바로 그 단계 구분이 AI를 위해서도 순위 매기는 이유입니다. 성숙하고 추론되고 셰이프로 검증된 가장자리야말로 모델이 필요로 하는 신뢰할 수 있는 그라운드 트루스이고, 검증되지 않은 내부야말로 모델이 가장 자유롭게 발명하는 곳입니다.
그래서 이 장이 향해 가는 그 치우침에는 두 번째 날이 있습니다. 가장자리는 상세하고 내부는 비어 있는 그 같은 지도는, 모델이 어디서 그라운딩될 수 있고 어디서 오직 추측만 할 수 있는가의 지도이기도 합니다. 가장자리는 모델에게 검색할 검사 가능하고 단위를 지니며 계보에 닻 내린 사실을 주고, 내부 — 벙어리이고 자체 제작이며 추론되지 않은 — 는 정확히 자신만만하고 유창하고 틀린 답이 가장 값비싸고 가장 잡아내기 어려운 곳입니다.
한눈에 보는 단계 구분
| 온톨로지 / 어휘 | 모델링 대상 영역 | 유지 주체 | 성숙도 |
|---|---|---|---|
| AFO / ASM | 분석 실험실 장비·물질·공정·결과 | Allotrope Foundation | Production |
| ISO IDMP / SPOR | 물질·제품 동일성(EU) | EMA / ISO | Production |
| GSRS / UNII | 고유 물질 식별자(US) | FDA | Production |
| NCIt / CDISC CT | 임상 및 SPL 통제 용어 | NCI / CDISC | Production |
| QUDT | 양과 단위(ADF 내부) | QUDT.org | Production (indirect) |
| UCUM | 단위 문법(HL7/FHIR, SPL, PMS 내부) | Regenstrief | Production |
| ChEBI | 참조 화학 | EMBL-EBI | Production (reference) |
| PRO / CLO / GO / DOID | 분자·세포주·유전자·질병 | OBO Foundry | Production (reference) |
| PROV-O | 출처와 이력 | W3C | Production |
| BAO | 고속 대량 스크리닝 시험법 | Univ. of Miami (academic) | Piloted |
| CHMO | 화학 방법(OBI 확장) | OBO Foundry | Academic |
| PROCO | 공정 화학 | OBO Foundry | Proposed |
| IOF 바이오제약 | 바이오공정 단위공정·장비·물질·QbD·레시피 | IOF (OAGi / NIIMBL과 함께) | Released 2026-02 (도입 초기) |
성숙도 열에 대한 한마디: "Production (indirect)"와 "Production (reference)"는 맨 "Production"보다 약하지 않습니다 — 이름으로 인용하는 어휘가 아니라 파일이나 임포트를 통해 의존하는 어휘를 표시할 뿐입니다. 단계는 의존의 무게가 아니라 직접성에 관한 것입니다.
이 표가 감추는 한 축은 각 어휘가 무엇으로 배포되는가이며, 이는 통합 비용의 절반입니다. AFO는 OWL입니다(그리고 ASM은 그 용어들을 JSON-LD로 다시 직렬화합니다). CDISC CT는 NCIt OWL과 평면 파일로 이동합니다. IDMP와 SPL은 XML입니다. UCUM은 FHIR JSON/XML 안에 박힌 코드 문법입니다. PROV-O, SKOS, DCAT는 RDF입니다. 따라서 "쓰인다"는 것은 저마다 다른 것을 뜻합니다 — AFO는 DL 추론기(기술 논리(description-logic) 추론기: OWL의 논리적 정의를 읽고 무엇이 무엇 아래에 드는지 스스로 알아내는 소프트웨어)로 분류할 수 있고, NCIt는 대개 조회하며(다중 계층 시소러스 — 하나의 개념이 동시에 여러 부모 아래에 자리할 수 있는, 둘러볼 수 있는 용어 목록으로, 그런 종류의 자동 OWL-DL 추론을 위해 설계되지 않았습니다), IDMP는 파싱합니다. companion은 가장 값싼 왕복을 입증합니다. asm_to_rdf.py는 하나의 Allotrope Simple Model JSON-LD 문서를 적재해 Turtle이 단언하는 것과 동일한 bp:SEC-Result-001 트리플을 산출합니다 — 동일한 의미, 더 가벼운 파일입니다.
3단계 — 파일럿·제안·학술: 단어가 바닥나는 곳
세 번째 단계는 야심이 도입을 앞질러 가는 곳입니다. 여기 있는 어휘들은 나쁘지 않습니다 — 몇몇은 탁월합니다 — 그러나 누군가가 가리킬 수 있는 상용 의존을 아직 얻어내지 못했습니다.
BioAssay Ontology(BAO)는 고속 대량 스크리닝 시험법을 기술합니다. 대규모 HTS 시험법 컬렉션에 주석을 다는 데 쓰였고 Open PHACTS, Pistoia 노력과 맞물려 있습니다 — 실재하지만 공장 전체가 아니라 파일럿 규모입니다 (파일럿 단계) [9].
그 아래에는 화학 방법 온톨로지들이 자리합니다. CHMO(the Chemical Methods Ontology, OBI를 확장) (학술 단계) [10], 그리고 PROCO(the Process Chemistry Ontology, BFO에 정렬되어 2021년 OBO에 제출되었고 ChEBI, CHMO, AFO를 재사용) (제안 단계) [11]입니다.
둘 다 신뢰할 만하고 잘 만들어졌으며 BFO에 닻을 내리고 있습니다 — 그리고 둘 중 어느 것도 확인된 공개 근거 안에서는 일상적인 GMP 제조 용도로 건너오지 못했습니다. 이것이 이 단계의 반복되는 형상입니다. 모델링은 견고하나, 도입은 아직 거기에 없습니다.
제조 공정 어휘 본연 — 단위 작업, 장비 상태, 공정 중 물질 — 은 현장 장에서 다루며, 이들은 확고히 이 단계에 살고 있습니다. 그 배치는 이 장 조사의 우연이 아닙니다. 그것은 이 부 전체의 핵심 발견입니다.
그 내부에 형식적이고 BFO에 기초한 단어를 부여하려는 가장 진지한 시도는 IOF의 바이오제약 도메인 온톨로지이며, 첫인상이 시사하는 것보다 훨씬 앞서 있습니다. 2026년 2월 릴리스에 직접 비추어 감사해 보면, 이 온톨로지는 171개 클래스를 정의하고 — 클래스란 "포집 단계"나 "공정 파라미터"처럼 온톨로지가 정의하는, 사물의 이름 붙은 범주이며, 전부 Released로 표시됩니다 — 그중 44개가 단위공정 클래스(포집, 바이러스 불활성화와 바이러스 여과 — 두 개의 직교적 바이러스 제거 단계 — 폴리싱, 한외여과, 원료의약품 제형 — 바이오의약품이 거쳐 가는 이산적 공정 단계들), 17개가 QbD 파라미터 클래스(공정 파라미터, 품질 속성, 정상운전범위·입증가능허용범위 표현 — QbD는 Quality by Design, 즉 어떤 공정 파라미터와 품질 속성이 통제되어야 하는지를 사전에 정의하는 규제 접근법입니다)입니다. 이 책의 실행 예제는 이제 공정 단계, 세포주, QbD 골격을 지역 IRI를 새로 만드는 대신 이 실재 IRI들에 정렬합니다. 하지만 명세서에서 Released인 것과 공장에서 의존되는 것은 같지 않습니다. IOF 바이오제약은 여전히 누구도 가리킬 수 있는 상용 의존성을 갖지 못했고, 바로 그래서 이 단계에 자리합니다. 단어는 마침내 존재하지만, 도입은 아직 — 아닙니다.
미해결 과제: 성숙한 단어들은 가장자리를 기술할 뿐, 공정을 기술하지 않는다
이 단계 구분을 제조의 지도로 거꾸로 읽으면 간극이 선명합니다.
성숙한 어휘들은 실험실(lab)과 물질·제품 등록처(substance/product registry)를 기술합니다 — 한쪽 끝의 분석 벤치와 다른 쪽 끝의 규제 제출입니다.
공정 자체(process itself)의 어휘 — bp:SEED-001을 bp:BATCH-2026-001로 바꾼 세포 배양 공정(bp:CellCultureProcess), 바이오리액터의 장비 상태, 포집 풀 안 공정 중 물질의 동일성 — 가 바로 표준이 가장 빈약하고 가장 덜 도입된 지점입니다. 이 책은 그 공정을 모델링하는 데 중간 전체를 썼습니다.
산업은 공정 안으로 들어가는 것과 공정에서 나오는 것에 대해서는 성숙한 상용 등급의 단어를 가지고 있고, 그 사이의 변환에 대해서는 미성숙하거나 파일럿이거나 자체 제작한 단어만을 가지고 있습니다. 지도는 경계에서는 상세하고 내부에서는 비어 있습니다.
가장자리는 표준화되었는데 내부는 그러지 못한 데에는 제조상의 이유가 있습니다. SEC 결과와 UNII 코드는 이산적이고 공장-독립적인 사실입니다 — 같은 숫자, 같은 식별자, 누가 측정하든 동일합니다 — 그래서 그것들을 위한 공유 어휘는 그저 이름에 합의하는 문제일 뿐입니다. 단위 작업은 사실이 아닙니다. 그것은 통제된 궤적입니다. "단백질 A 포집"은 모든 공장에서 같은 명사이지만, 공장마다 다른 레진, 다른 부하(레진 1리터당 mAb 그램), 다른 체류 시간, 다른 세척·용출 완충액 계열, 다른 풀 수집 기준을 씁니다 — 이름은 표준화되지만 레시피는 그러지 않습니다. 가장자리가 먼저 온톨로지를 얻은 까닭은 바로 그것이 기술하는 바가 어디서나 같기 때문이고, 내부가 얇은 까닭은 그것이 기술하는 바가 설계상 각 제조사의 공정 지식이 실제로 사는 곳이기 때문입니다.
같은 사실 밑에는 모델링상의 이유가 있으며, 그것은 이 책이 2부 이래로 기대 온 지속체/발생체(continuant/occurrent) 구분입니다. 물질과 제품은 안정적 동일성 기준을 가진 독립적 지속체입니다 — 원료의약품은 바이알에서 바이알로, 해에서 해로 동일한 물질입니다 — 그리고 IDMP, UNII 같은 등록처는 지속하는 것에 대해 영속적 식별자를 발급하는 데 매우 능숙합니다. 반면 공정 내부는 BFO 발생체(occurrent) — 지속하기보다 일어나는 것 — 로 이루어집니다. 포집 단계, 저-pH 유지, 세포 배양 실행 각각은 시간적 부분(시작, 중간, 끝), 상태가 연속적으로 변하는 참여자, 그리고 공정이 펼쳐지는 동안에만 실현되는 성향(잠재된 경향성, 이를테면 단백질을 용출하려는 완충액의 경향)을 가집니다. 가장자리가 성숙한 까닭은 부분적으로 쉬운 존재론적 질문(무엇이 지속하는가)을 묻기 때문이고, 내부가 뒤처진 까닭은 부분적으로 어려운 질문(무엇이 일어나는가)을 묻기 때문입니다.
이 부의 나머지가 고집하는 단서가 하나 있습니다. 그 내부는 더 이상 단어가 비어 있는 것이 아닙니다. IOF의 바이오제약 온톨로지(2026년 2월 Released)가 이제 형식적인 단위공정·QbD 클래스를 공급하고, 이 책의 실행 예제가 그것에 직접 정렬합니다. 내부에 여전히 없는 것은 도입 — 그 용어들에 실제로 의존하는, 상용 환경의 공장 — 입니다. 경계가 잉크로 그려진 까닭은 실험실과 등록부가 매일 자기 어휘로 돌아가기 때문이고, 내부가 연필로만 그려진 까닭은 그 어휘가 아무리 실재하고 아무리 Released라 해도 아직 어디에서도 하중을 지탱하지 않기 때문입니다.
왜 중요한가
이 책이 "공유 온톨로지에 닻을 내려라"라고 말했을 때, 바로 이 어휘들이 그것이 의미한 바였습니다 — 그리고 그 고르지 못한 성숙도가 실제 공장의 지식 그래프가 누비이불인 이유입니다.
성숙한 실험실·등록 어휘는 어느 컨소시엄도 아직 표준화하지 않은 자체 제작 공정 용어에 한 폭 한 폭 이어 붙여집니다. 어느 실이 하중을 지탱하고 어느 실이 장식인지 아는 것이, 감사에서 방어할 수 있는 그래프와 그저 시맨틱해 보일 뿐인 그래프를 가르는 차이입니다.
단계 구분은 비관이 아닙니다. 그것은 어디에 짓고 어디에서 빌릴지 결정하기 전에 필요한 정직한 지도입니다.
핵심 용어
- AFO(Allotrope Foundation Ontology) — 분석 실험실 데이터를 위한 BFO 정렬 형식 온톨로지로, Equipment, Material, Process, Result로 조직되며 2018년 3월에 처음 공개되었습니다.
- ASM(Allotrope Simple Model) — HDF5 기반 ADF보다 훨씬 적은 부담으로 AFO 파생 어휘를 운반하는 경량 JSON 직렬화로, 2023년 2월 8일에 공개되었습니다.
- ISO IDMP — 의약품의 물질과 제품을 식별하기 위한 ISO 계열(11238, 11615, 11616, 11239, 11240)로, OWL 온톨로지가 아니라 구조화된 표준이며 EMA의 SPOR 서비스로 상용 환경에 구현되어 있습니다.
- UNII / GSRS — ISO 11238에 근거한, FDA의 고유 물질 식별자와 이를 발급하는 Global Substance Registration System입니다.
- QUDT 대 UCUM — 두 개의 상용 단위 어휘로, QUDT는 Allotrope ADF 안에 올라타고, UCUM은 HL7/FHIR와 규제 스택 안에서 의무화된 단위 문법입니다.
- ChEBI — EMBL-EBI의 참조 화학 온톨로지로, 이를 재사용하는 파일과 온톨로지를 통해 제약 제조에 간접적으로 존재합니다.
- PROV-O — W3C 출처 온톨로지로, FAIR 데이터 카탈로그에서 이력과 계보를 모델링하는 상용 등급 표준입니다.
- 성숙도 단계(maturity tier) — 이 장의 정렬 축으로, 온톨로지의 품질이 아니라 실제 시스템 의존의 깊이로 판단한 상용·형식, 상용·간접, 또는 파일럿·제안·학술의 구분입니다.
- GraphRAG — 신뢰 저장소가 지식 그래프인 검색 증강 생성으로, 모델이 즉흥적으로 지어내는 대신 연결되고 타입 부여된 사실(예:
bp:derivedFrom엣지)을 검색해 답합니다. 이 목록의 성숙한 가장자리가 바로 그 저장소를 믿음직하게 만듭니다. - 그룹화 / 리브-원-배치-아웃 교차 검증(grouped / leave-one-batch-out cross-validation) — 모델의 데이터를 행이 아니라 배치별로 분할하여, 같은
bp:derivedFrom조상을 공유하는 모든 행을 보류함으로써, 같은 로트의 형제 샘플이 분할을 가로질러 누설되어 점수가 부풀려지지 않게 하는 방법. 그래프의 계보 엣지가 그룹화 키를 공급합니다. - 검증 역설(validation paradox) — 유창한 모델은 보류된 데이터에 견주어 검사되지만, 둘이 어긋날 때 추론되고 SHACL로 검증된 그래프가 더 신뢰할 수 있는 쪽입니다. 그래프의 답은 도출·인증된 반면 모델의 답은 생성되었기 때문입니다.
다음 이야기
어휘는 이야기의 절반에 불과합니다.
누군가는 그것을 적재하는 기계를 포장하고, 호스팅하고, 팔아야 합니다.
다음 장 플랫폼: 벤더는 시맨틱을 어떻게 파는가는 표준에서 그것을 감싸는 상업 시스템으로 방향을 돌립니다.
이 장은 이 단계 구분이 설정한 질문을 던집니다. 벤더의 피칭에 담긴 "시맨틱"의 얼마만큼이 그 밑바닥의 AFO와 PROV-O이고, 얼마만큼이 관계형 데이터베이스 위에 덧칠한 마케팅인가.