A · 입력
입력한 사실
Asserted Facts
예) "기어박스가 발전기에 영향"
"윤활유시스템이 메인베어링에 공급"
"윤활유시스템이 메인베어링에 공급"
+
B · 약속
의미와 규칙
Ontology + Rules
예) ":영향"은 이어진다
(Transitive)
(Transitive)
추론 엔진
→
Reasoner
C ★ 도출
자동 따라오는 사실
Inferred Facts
"기어박스가 전력변환기까지"
한 번도 입력 안 함
한 번도 입력 안 함
DB는 저장된 사실만 답하지만, 온톨로지는 선언한 규칙 범위 안에서 따라오는 사실까지 답할 수 있습니다.
이 코드는 어디에 두나? → OWL · Turtle(.ttl)
Turtle 한 줄
데모 · 체크박스
:영향
rdfs:subPropertyOf :파급 .① 직접 영향은 파급의 일종
:파급
a owl:TransitiveProperty .② 파급은 이어진다
:공급하다
owl:inverseOf :공급받는다 .③ 공급 ↔ 공급받음
한 단계 더 — 자주 쓰는 OWL 규칙 6가지 (이름만)
subClassOf — "X는 Y의 일종"
:고온알람은 :알람의 일종 → 고온알람 데이터는 자동으로 알람으로도 분류됩니다.
InverseOf — "반대 방향도 성립"
:공급하다 ↔ :공급받는다 — 정방향(공급)만 넣어도 역방향(공급받음)으로 질문·조회 가능. 데모 B가 이것입니다.
TransitiveProperty — "이어진다"
A→B, B→C이면 A→C. 위 데모의 :파급 규칙 ②가 이것입니다.
equivalentClass — "X와 Y는 같은 뜻"
두 클래스를 동일하게 봅니다. 한쪽에 속하면 다른 쪽에도 속한 것으로 처리됩니다.
disjointWith — "X와 Y는 동시에 안 됨"
예: :트립과 :정상운전을 같은 시점에 겹치게 두면 추론기가 모순으로 잡습니다.
FunctionalProperty — "딱 하나만"
한 대상에 값이 하나만 허용됩니다. 예: 진단당 :근본원인은 하나.