35

OWL 핵심 구성요소: 제약조건 & 추론

OWL 온톨로지 언어

학습 목표

disjointWith와 equivalentClass의 추론 효과를 설명할 수 있다 someValuesFrom, allValuesFrom, cardinality 제약을 구분할 수 있다 OWL 2 프로파일 선택 기준을 설명할 수 있다 추론기의 역할(Classification, Consistency Checking)을 이해한다

OWL의 강력한 무기들: 제약, 복합 클래스, 추론

학습 목표

  • owl:disjointWith, owl:equivalentClass의 의미를 이해한다
  • 속성 제약(Restriction)의 종류와 사용법을 안다
  • OWL 2 프로파일(EL, QL, RL)의 차이를 안다
  • Open World vs Closed World Assumption을 심화 이해한다

1. 클래스 간 관계

owl:disjointWith — 상호 배타

에디터 로딩 중...
에디터 로딩 중...

owl:equivalentClass — 동치 클래스

에디터 로딩 중...

owl:unionOf / owl:intersectionOf — 복합 클래스

에디터 로딩 중...
에디터 로딩 중...

2. 속성 제약 (Restriction)

OWL의 가장 강력한 기능! 클래스에 속성 제약을 걸 수 있습니다.

someValuesFrom (∃) — "최소 하나"

에디터 로딩 중...

allValuesFrom (∀) — "모든 값이"

에디터 로딩 중...

Cardinality — 개수 제약

에디터 로딩 중...
에디터 로딩 중...

hasValue — 특정 값 제약

에디터 로딩 중...

3. owl:inverseOf — 역관계

에디터 로딩 중...

4. Open World vs Closed World (심화)

에디터 로딩 중...

실무적 시사점:

  • 데이터 유효성 검증이 필요하면: SHACL 또는 ShEx 사용 (별도 표준)
  • OWL은 "추론"을 위한 것이지 "검증"을 위한 것이 아님
  • 두 가지를 혼동하면 OWL을 오용하게 됨

5. OWL 2 프로파일 (Profile)

OWL 2 Full은 너무 복잡하여 추론이 비현실적일 수 있습니다. 3가지 프로파일로 표현력을 제한하여 효율적 추론을 보장합니다:

프로파일특징적합한 용도추론 복잡도
OWL 2 ELexistential(∃) 중심대규모 온톨로지 (SNOMED CT, Gene Ontology)다항시간
OWL 2 QL쿼리 최적화SPARQL 쿼리 응답, DB 매핑다항시간
OWL 2 RL규칙 기반비즈니스 규칙, 데이터 검증다항시간
OWL 2 DL풀 Description Logic일반적 온톨로지 설계결정 가능
OWL 2 Full제한 없음이론적결정 불가능

선택 가이드:

에디터 로딩 중...

6. 추론기 (Reasoner)

OWL 온톨로지에 추론을 수행하는 소프트웨어:

추론기특징프로파일
HermiT가장 정확, OWL 2 DL 완전 지원DL
Pellet (Stardog)실용적, SPARQL 통합DL
ELK대규모 EL 온톨로지 최적화EL
FaCT++빠른 분류(classification)DL

추론기가 하는 일:

  • Classification: 클래스 계층 자동 완성 (subClassOf 추론)
  • Realization: 개체의 가장 구체적인 클래스 결정
  • Consistency Checking: 모순 감지 (disjoint 위반 등)
  • Entailment: 명시적 공리에서 암묵적 사실 도출

핵심 정리

OWL은 disjoint(배타), restriction(제약), inverse(역관계), cardinality(개수) 등 RDFS에 없는 강력한 논리적 표현력을 제공하여 기계가 자동으로 추론할 수 있게 합니다.

📖 심화 읽기: 이강배 외, "지식그래프", 유원북스, 2025 — 4장 OWL 구성요소

핵심 포인트
  • owl:disjointWith: 두 클래스가 절대 겹치지 않음 → 모순 감지
  • Restriction: someValuesFrom(∃), allValuesFrom(∀), cardinality(개수)
  • owl:inverseOf: 역관계 자동 추론 (hasParent ↔ hasChild)
  • OWL 2 프로파일: EL(대규모), QL(쿼리), RL(규칙) — 표현력 vs 성능 트레이드오프
  • Open World → OWL은 '추론'용, '검증'은 SHACL/ShEx 별도 사용