💡 둘 다 RDF로 표현됩니다 — 무엇이 다른가
Taxonomy도 Ontology도 같은 RDF 트리플 위에서 살아갑니다. 차이는 사용하는 어휘의 풍부함입니다.
Taxonomy는
rdfs:subClassOf 관계 하나만 씁니다.
Ontology는 그 위에 사용자 정의 관계(
propagatesTo,monitoredBy 등)와 제약·추론 규칙(owl:disjointWith, owl:TransitiveProperty 등)을 더 얹습니다.
Taxonomy — 분류 트리
"~의 한 종류이다(is-a)" 관계로만 위·아래를 잇는 단순 계층. 화살표는 자식이 부모를 가리킴(rdfs:subClassOf 방향).
@prefix : <http://x/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . :Rotating rdfs:subClassOf :Component . :Static rdfs:subClassOf :Component . :Gearbox rdfs:subClassOf :Rotating . :Generator rdfs:subClassOf :Rotating .
→ 답할 수 있는 질문: "기어박스는 어느 상위 분류에 속하는가?"
✗ 답할 수 없는 질문: "기어박스 고장이 어디로 전파되는가?", "어떤 센서가 감시하는가?", "어떤 부품과 영향 관계인가?"
온톨로지 — 분류 + 가로 관계 + 추론
같은 트리에 "고장 전파·감시·포함" 같은 가로 관계(propagatesTo 방향)와 제약·추론 규칙이 얹힌 그래프
@prefix : <http://x/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . # (위 Taxonomy의 subClassOf 트리플은 그대로 유지) :propagatesTo a owl:ObjectProperty . :Gearbox :propagatesTo :Generator .
→ 추가로 답할 수 있는 질문: "어떤 부품 고장이 어디로 전파되는가?"
✨ 추론까지 가능: "고장 전파의 영향을 받는 부품은?" → 기어박스·타워의 전파 관계가 자동 도출 → 발전기, 기초
| Taxonomy | Ontology | |
|---|---|---|
| 형태 | 계층적 is-a 트리 | 풍부한 그래프 (트리 + 다양한 관계) |
| 관계 | 오직 is-a (subClassOf) | propagatesTo, hasPart, monitoredBy 등 자유 |
| 제약 | 없음 | disjoint, functional, cardinality |
| 추론 | 불가 | transitive, symmetric, inverse |
| 예시 | 도서관 분류, 상품 카테고리 | 의약품 지식그래프, 금융 거래 지식그래프 |