본문으로 건너뛰기

모델을 거버넌스하기: 버전 관리, 변경 통제, 그리고 온톨로지 스튜어드십

📍 현재 위치: 6부 · 그래프 전체 — 22장. 디지털 스레드는 강력하지만, 우리가 인정했듯이 표류하기 쉽습니다. 이 장은 모델을 여러 해에 걸쳐 진실하게 유지하는 일 — 영리한 그래프를 신뢰할 수 있고 유지 관리되는 시스템으로 바꿔 주는 거버넌스 — 에 관한 것입니다.

이전 장은 하나의 경고로 끝났습니다. 그래프는 거버넌스되지 않으면 표류하는 파생된 관점일 뿐이며, 모델은 그것을 유지하는 규율만큼만 신뢰할 수 있다는 것입니다. 그 경고는 1부 이래로 줄곧 메아리쳐 왔습니다 — 일관됨은 올바름이 아니고, 검증됨은 측정됨이 아니며, 모델은 산출물이 아니라 실천(practice)이라는 것입니다. 이 장은 그 실천을 정면으로 마주합니다. 규제 환경의 온톨로지는 한 번 작성하고 마는 파일이 아닙니다. 그것은 버전이 관리되어야 하고, 통제 아래 변경되어야 하며, 수십 년에 걸쳐 이어질 수 있는 제품 수명 내내 관장되어야 하는 통제된 자산입니다. 그 거버넌스를 제대로 해내는 것이야말로, 출시를 걸 수 있는 모델과 조용히 썩어 가는 모델을 가르는 차이입니다.

쉽게 말하면

사전은 인쇄된 날 완성되는 것이 아닙니다 — 언어는 변하며, 좋은 사전은 유지 관리됩니다. 새 단어가 추가되고, 옛 단어는 고어로 표시되며(절대 조용히 삭제되지 않습니다. 그랬다가는 그 단어를 쓴 모든 책이 깨지니까요), 모든 판본에 날짜가 매겨지고 추적됩니다. 온톨로지(ontology)는 당신의 공정을 위한 사전이며, 똑같은 스튜어드십이 필요합니다. 변경을 제안하는 절차, 옛 의미를 결코 깨지 않는다는 규칙, 모든 릴리스에 붙는 버전, 그리고 그것을 책임지는 관리자 말입니다. 이 장은 좋은 사전 관리자가 되는 일에 관한 것입니다 — 규제 대상 제조에서, 조용히 바뀌는 의미는 곧 조용히 거짓말하는 기록이기 때문입니다.

이 장에서 다루는 내용

우리는 온톨로지를 통제된 산출물(controlled artifact)로 다룹니다. 버전이 관리되고, 변경이 통제되며, 관장되는 것으로요. 우리는 폐기하되 삭제하지 않는다(deprecate, don't delete)는 으뜸 규칙(IRI 영속성), 이 분야가 사용하는 협의회 거버넌스(council governance) 모델, 하류 스키마가 표류하지 못하게 하는 LinkML 기반 단일 출처 저작(single-source authoring), 그리고 개방형 표준이 당신이 직접 짓도록 남겨 두는 GxP 래퍼(GxP wrapper)를 다룹니다. 우리는 하나의 온톨로지 변경을 해부하고, 거버넌스란 기술이 뒷받침할 뿐인 사회적 문제라는 정직한 진실로 마무리합니다.

폐기하되 결코 삭제하지 않는다: 의미의 영속성

온톨로지 거버넌스의 첫 번째 규칙은 1부의 식별자 규율에서 곧장 따라 나옵니다. IRI는 한 번 발행되면 영구적이라는 것입니다. bp:monomerPct가 언젠가 무언가를 의미했다면, 그 IRI는 영원히 그것을 계속 의미해야 합니다. 기록, 결과, 그리고 출하된 로트가 그것을 참조하기 때문입니다. 한 개념이 대체될 때, 당신은 그 IRI를 삭제하지 않습니다 — 당신은 그것을 폐기(deprecate)하고(폐물로 표시하고, owl:deprecatedreplacedBy 링크 같은 주석으로 그 대체물을 가리키며) 해석 가능한 상태로 남겨 둡니다. IRI를 삭제하는 것은, 모든 옛 기록이 인용하는 페이지를 파쇄하는 온톨로지판 행위입니다. 과거 데이터는 여전히 그곳을 가리키는데, 이제 아무것도 없는 곳을 가리키게 되는 것이죠. 이것이 온톨로지가 덮어쓰는(overwrite) 대신 성장하고 주석을 다는(grow and annotate) 이유이며, 10년 된 배치 기록이 여전히 그것이 작성된 어휘에 비추어 해석될 수 있는 이유입니다. 의미의 영속성은 현학이 아닙니다. 규제 대상 아카이브에서 그것은 판독 가능한 기록과 미아가 된 기록 사이의 차이입니다.

이것이 어휘 자체를 버전이 관리되고 통제된 산출물로 각인하는 이유입니다. 실행 예제의 bp: 어휘는 owl:versionInfo 문자열을 지닌 온톨로지 선언으로 시작합니다 — 거버넌스의 가장 기본적인 행위로서, 모든 적재가 자신이 어떤 판본의 의미에 비추어 추론되었는지를 정확히 알 수 있게 합니다. 이 파일은 이제 두 번째 판에 이르렀고, 그 선언은 바닥만이 아니라 사용 중인 변경 통제 어휘 전체를 보여 줍니다.

# bioproc.ttl
bp: a owl:Ontology ;
rdfs:label "Bioprocess running-example vocabulary" ;
owl:versionInfo "2.0.0" ;
owl:versionIRI <https://example.org/bioproc/2.0.0> ;
owl:priorVersion <https://example.org/bioproc/1.0.0> ;
rdfs:comment "Local vocabulary for a CHO mAb process modeled end to end; aligns up to BFO/IOF/AFO/OBI/QUDT/RO/PROV in align.ttl. v2.0.0 grew the v1.0.0 genealogy-spine model to real-world depth across every unit operation, the full release CQA panel, serialization, and distribution. See the governance chapter for the change record." .

버전 문자열만으로는 규율의 바닥일 뿐, 규율 그 자체는 아닙니다. 그리고 이 선언은 나머지 OWL 변경 통제 어휘가 실제로 일하는 모습을 보여 줍니다. owl:versionIRI 판본의 영구 주소를 못박고, owl:priorVersion은 그것이 대체한 1.0.0 판본으로 거슬러 링크합니다. 그 1.0.0 → 2.0.0 상향은 실행 예제 전체가 계보 척추에서 실세계 수준의 깊이로 성장한 것입니다 — 모든 단위 공정에 그 물질과 공정이 주어지고, 전체 출하 패널이 모델링되며, 직렬화와 유통이 추가되었습니다 — 그리고 그것이 덮어쓰기가 아니라 상향이었기에, 이전 판본은 여전히 이름이 붙어 있고 여전히 해석 가능합니다. 은퇴한 용어도 마찬가지로, 제거되는 대신 그 대체물을 가리키는 포인터와 함께 owl:deprecated(또는 skos:deprecated)로 주석이 달립니다. 그것의 실제 예가 아래에 있습니다.

변경 통제와 협의회 거버넌스

모델에 대한 변경은 공장이 기술되는 방식에 대한 변경이며, GxP 환경에서 그것은 파일을 조용히 편집하는 것이 아니라 통제된 행위입니다 [3]. 거버넌스된 온톨로지에는 변경 절차가 있습니다. 제안, 영향 평가(이 용어가 어떤 기록, 형상, 질의에 영향을 미치는가?), 도메인과 모델을 모두 이해하는 사람들의 검토, 버전 상향, 그리고 에 대한 기록이 그것입니다. 이는 데이터 거버넌스 규율을 스키마 자체에 적용한 것입니다 — 공리 장이 공리에 마땅하다고 말한 바로 그 엄정함입니다. 공리란 실재에 대한 결정이기 때문입니다.

실행 예제는 그러한 변경 하나를 실제 트리플로 담고 있습니다 — 바로 위의 2.0.0 상향을, GxP 변경이 마땅히 그래야 하는 방식으로 기록한 것입니다. 옛 별칭 클래스 bp:monomerPurity출하 게이트가 이제 검사하는 데이터타입 속성 bp:monomerPct로 대체되었습니다. 삭제되는 대신, 그것은 폐물로 표시되어 그 대체물을 가리키며, 변경 자체는 제안, 영향 평가, 서명된 승인으로 포착됩니다.

# instances.ttl — a worked, change-controlled deprecation (deprecate, don't delete)
bp:monomerPurity a owl:DeprecatedClass ; rdfs:label "SEC monomer purity (DEPRECATED alias)" ;
owl:deprecated true ;
obo:IAO_0100001 bp:monomerPct ; # IAO 'term replaced by'
bp:replacedBy bp:monomerPct ;
skos:historyNote "Deprecated in v2.0.0; superseded by the datatype property bp:monomerPct. Never silently overwritten — see the change record below." .

bp:CHG-2026-014 a bp:ChangeProposal ; rdfs:label "change proposal: add full release CQA panel + serialization (v2.0.0)" ;
bp:isAbout bp:Spec-DS-mAb-A .
bp:IA-2026-014 a bp:ImpactAssessment ; rdfs:label "impact assessment for CHG-2026-014" ;
bp:isAbout bp:CHG-2026-014 .
bp:CA-2026-014 a bp:ChangeApproval ; rdfs:label "change approval record for CHG-2026-014" ;
bp:isAbout bp:CHG-2026-014 ; bp:approvedBy bp:SIG-steward .

폐기를 안전하게 만드는 두 주석에 주목하세요. obo:IAO_0100001(OBO의 "term replaced by" 관계로, 여기서 그 링크가 사적 관례가 아니라 표준이 되도록 재사용됨)과, 의도상 그것에 정렬된 지역 속성 bp:replacedBy입니다. 폐물이 된 IRI에 도달한 질의나 사람은 그 의미가 어디로 갔는지 정확히 안내받으며, bp:monomerPurity를 인용했던 과거 기록은 여전히 해석됩니다. ChangeProposal / ImpactAssessment / ChangeApproval 트리플은 종이 자취입니다 — 무엇이 바뀌었고, 무엇에 영향을 미쳤으며, 누가 그것을 승인했는지 — 위키에 남겨 두는 대신 일급 정보 산출물로 모델링한 것입니다.

산업 규모에서 통하는 모델은 협의회 거버넌스(council governance)입니다. OBO 파운드리가 입증했고 IOF와 그 바이오제약(BMIC) 그룹들이 채택한 모델이죠. 공유 어휘를 협의회가 발행된 설계 원칙에 따라 관장하므로, 어느 한 사람이나 벤더도 그 의미를 소유하지 않으며 변경은 그것에 의존하는 모든 이에 걸쳐 조율됩니다 [2]. 이것이 공유 온톨로지를 공유된 채로 유지하게 해 주는 것입니다 — 그 대안, 즉 모든 사이트가 저마다 자기 사본을 포크하는 것은 애초에 온톨로지를 정당화했던 사이트 간 상호운용성을 파괴하는 온톨로지 난립입니다.

단일 출처 저작: 스키마가 표류하지 못하게 하라

미묘한 거버넌스 실패는 내부 표류(internal drift)입니다. 같은 Batch 개념이 OWL 클래스로, SHACL 출하 형상으로, 관계형 테이블로, JSON 스키마로 작성됩니다 — 네 개의 파일이고, 다음번에 누군가 하나를 편집하면서 나머지를 잊을 때 어긋날 네 번의 기회입니다. 오픈소스 책의 답은 LinkML입니다. 모델을 YAML로 한 번 저작하고 거기서 SHACL, JSON Schema, SQL DDL, OWL, 타입이 지정된 클래스를 생성하므로, 이 모두가 손으로 유지되는 대신 변경 통제 아래 하나의 거버넌스된 출처에서 재생성됩니다 [1]. 단일 출처 저작은 "네 개의 스키마를 동기화 상태로 유지하라" — 인간이 어김없이 실패하는 규율 — 를 "출처에서 재생성하라"는 빌드 단계로 바꿉니다. 이것은 이 장에서 가장 실용적인 거버넌스 도구입니다. 올바름의 일관된 부분을 자동화하여, 인간만이 할 수 있는 부분에 대한 인간의 검토만 남깁니다.

하나의 거버넌스된 온톨로지 변경을 해부하는 신분증: 변경과 그 근거를 진술하는 제안 행; 변경이 무엇에 영향을 미치는지 — 용어를 사용하는 기록, SHACL 형상, 질의, 하류 스키마 — 를 나열하는 영향 평가 블록; 옛 IRI가 owl로 표시되고 replacedBy 링크를 지닌 채, 제거되는 대신 해석 가능한 상태로 유지되는 모습을 보여 주는 폐기하되-삭제하지-않음 행; 날짜와 변경 이력과 함께 온톨로지 릴리스를 상향하는 버전 행; LinkML YAML이 한 번 편집되고 거기서 SHACL, JSON Schema, SQL, OWL이 재생성되는 모습을 보여 주는 단일 출처 행; 변경 통제 아래 서명이 담긴 검토·승인 행; 그리고 거버넌스된 변경(추적되고, 되돌릴 수 있으며, 깨지지 않음)과 조용한 파일 편집(추적되지 않고, 깨짐)을 대비시키는 배너. 거버넌스된 하나의 변경: 영향 평가와 함께 제안되고, 삭제가 아니라 폐기로 적용되며, 버전이 매겨지고 변경 이력이 남으며, 하나의 LinkML 출처에서 재생성되고, 변경 통제 아래 서명으로 승인됩니다 — 모델을 표류시키는 조용한 편집의 정반대입니다. 저자가 AI의 도움을 받아 직접 제작한 그림입니다.

미해결 과제: 거버넌스는 사회적 문제이며, GxP 래퍼는 당신이 직접 지어야 한다

정직한 어려움은, 이 중 어느 것도 기술 문제가 아니며 기술이 당신을 대신해 풀어 줄 수 없다는 것입니다. 폐기, 버전 관리, LinkML 생성은 메커니즘입니다. 누군가가 실제로 변경 절차를 따르는지, 스튜어드십 역할에 인력을 배치하는지, 공유 어휘를 포크하려는 유혹에 저항하는지는 조직과 문화의 문제입니다. OBO 파운드리의 성공은 흔히 기술적 성취로 오독되지만, 실은 대체로 거버넌스의 성취입니다 — 조율하기로 합의하고 여러 해에 걸쳐 지속한 공동체 말입니다. 대다수 온톨로지 프로젝트가 실패하는 까닭은 OWL이 틀려서가 아니라, 아무도 그것을 소유하지 않았고, 마감 압박 속에 변경 절차가 건너뛰어졌으며, 모델이 그것이 기술하던 공장으로부터 표류해 결국 아무도 신뢰하지 않게 되었기 때문입니다. 조직적 규율을 위한 추론기는 없습니다.

두 번째 빈틈은 오픈소스 책이 솔직하게 말하는 것입니다. 개방형 표준은 깔끔한 엔진을 줄 뿐, 검증된 시스템(validated system)을 주지 않습니다. RDF, OWL, SHACL, LinkML은 성숙하고 무료이지만, GxP 검증된 온톨로지 — GAMP에 따라 변경 통제되고, 적재가 완전하고 올바름이 자격 인정되며, 트리플스토어에 대한 공급자 책임이 있고, 전체 수명주기가 감사 추적되는 것 — 는 당신이 짓거나 사들이는 래퍼이지, 가져다 쓰는 기능이 아닙니다 [3]. 그리고 진화하도록 의도된 것을 검증하는 일은, 학습 모델이 그러하듯 전통적인 일회성 검증에 부담을 줍니다. 모든 모델 변경은 새로 검증되어야 할 객체이고, 검증은 결코 완전히 끝나지 않습니다. 그래서 이 장이 세우는 기준은 냉철하면서도 이 책 전체의 핵심입니다. 시간에 걸친 모델의 올바름은 개방형 표준이 뒷받침하되 공급하지는 않는, 거버넌스된 인간의 실천이며, 거버넌스되지 않은 온톨로지는 — 아무리 우아하더라도 — 표류하다 자신만만한 거짓말쟁이가 되는 부채입니다. 거버넌스는 기술에 딸린 지루한 부록이 아닙니다. 그것은 기술을 신뢰할 수 있게 만드는 바로 그것입니다.

왜 중요한가

이 책이 제시한 모든 보장 — 질의 가능한 계보, 강제 가능한 출하, 상호운용 가능한 의미 — 은 모델이 진실하게 유지된다고 조용히 가정했으며, 그 가정은 그 뒤에 있는 거버넌스만큼만 견실합니다. 버전을 매기고 제대로 폐기하면 10년 된 기록이 판독 가능한 상태로 남고, 통제 아래 변경하면 모델이 결코 조용히 거짓말하지 않으며, 단일 출처에서 저작하면 스키마가 서로 어긋날 수 없고, 협의회로 관장하면 공유 어휘가 공유된 채로 남습니다. 거버넌스를 건너뛰면, 공장에서 가장 정교한 그래프가 스프레드시트보다 더 빠르게 신뢰할 수 없게 됩니다. 그 자신만만한 구조가 자신의 부패를 숨기기 때문입니다. 거버넌스는 모델이 의지될 권리를 얻는 지점이며, 그래서 규제 환경은 그 아래에 깔린 데이터 무결성만큼이나 거버넌스를 요구합니다.

실제 현장에서는

협의회가 거버넌스하는 온톨로지는 입증된 모델입니다 — OBO 파운드리는 거의 20년간 생의학 온톨로지들을 조율해 왔고, IOF와 그 바이오제약 협의회는 같은 규율을 제조에 적용합니다 [2]. LinkML은 주요 데이터 조율 활동에서 운영 중이며, 하나의 출처에서 하류 스키마를 생성합니다 [1]. 그리고 GAMP 5 하의 전산 시스템 검증은 규제 대상 제조사가 이미 소프트웨어에 적용하는 확립된 프레임워크입니다 — 그것을 온톨로지와 그 적재까지 포괄하도록 확장하는 것이 현재 진행 중인 최전선입니다 [3]. 어떤 표준도 당신에게 건네주지 않는 것은 거버넌스하려는 의지입니다. 인력이 배치된 스튜어드십, 강제되는 변경 절차, 저항된 포크 말입니다. 그것은 경영진의 약속이며, 한 공장의 온톨로지가 5년 뒤 자산이 될지 아니면 아무도 신뢰하지 않는 방치된 그래프가 될지를 가르는 단 하나의 가장 좋은 예측 변수입니다.

핵심 용어

  • 폐기하되 삭제하지 않는다(deprecate, don't delete) — IRI는 한 번 발행되면 결코 제거되지 않고 폐물로 표시되어 그 대체물을 가리키므로, 과거 기록이 해석 가능한 상태로 남는다는 규칙.
  • (모델의) 변경 통제(change control) — 온톨로지 변경을 조용한 파일 편집이 아니라 제안되고, 영향이 평가되고, 검토되고, 버전이 매겨지고, 서명된 행위로 다루는 것.
  • 협의회 거버넌스(council governance) — 공유 어휘를 조율 기구가 발행된 원칙(OBO 파운드리, IOF, BMIC)에 따라 관장하여, 아무도 그 의미를 소유하지 않고 변경이 조율된 채로 유지되게 하는 것.
  • 단일 출처 저작(LinkML)(single-source authoring) — YAML로 한 번 모델링하고 거기서 SHACL, JSON Schema, SQL, OWL을 생성하여, 하류 스키마가 표류하는 대신 재생성되게 하는 것.
  • GxP 래퍼(GxP wrapper) — 개방형 표준 엔진을 둘러싼, 검증되고 변경 통제되며 자격 인정된 시스템. 가져다 쓰는 것이 아니라 짓거나 사들이는 것.
  • 사회적 문제로서의 거버넌스(governance as a social problem) — 폐기, 버전 관리, 생성은 메커니즘인 반면, 소유, 규율, 포크에 대한 저항은 어떤 기술도 공급하지 못하는 조직적 약속이라는 인식.

다음 이야기

우리는 모델을 거버넌스하여 그것이 진실하게 유지되도록 할 수 있습니다. 그러나 "공장에 충실함"은 "세상에 유용함"과 같지 않습니다 — 완벽하게 거버넌스된 그래프도 그것을 정당화했던 목표에서 여전히 실패할 수 있습니다. 다음 장 실전의 FAIR: 그래프가 실제로 성과를 내는지 측정하기는 FAIR 원칙을 열망에서 측정으로 바꾸고, 그래프가 진정으로 찾을 수 있고, 접근 가능하며, 상호운용 가능하고, 재사용 가능한지를 묻고, 표준 준수와 실제 FAIR함 사이에 잘 기록된 불편한 간극을 마주합니다.