35분
OWL 핵심 구성요소: 제약조건 & 추론
OWL 온톨로지 언어
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 EL | existential(∃) 중심 | 대규모 온톨로지 (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 별도 사용