2016-07-28 6 views
0

온톨로지 편집기 Protegé에는 클래스 계층 (유추)이라는 탭이 있습니다. 나는 그러한 추론 된 클래스를 생성하기위한 최소한의 예제를 찾고있다. 주로 :RedCar rdfs:subClassOf :Car일까요? 그게 전부입니까?OWL의 추론 된 클래스 계층 구조에 대한 최소 예제

:RedCar a     owl:Class ; 
     owl:equivalentClass [ a owl:Class ; 
           owl:intersectionOf 
           (
            :Car 
            [ a    owl:Restriction ; 
            owl:onProperty :hasColor ; 
            owl:hasValue :Red 
            ] 
           ) 
           ] . 
+0

"... 그게 전부입니까?" 당신이 보여 주었던 예제 데이터를 보았을 때, 당신은 또 무엇을 기대하고 있었습니까? –

+0

동료로부터 큰 온톨로지를 얻었습니다. 추론 후에 클래스 계층 구조의 완전히 다른 하위 트리에 기존 클래스가 일부 생겨서 어떻게 이런 일이 발생할 수 있는지 이해하지 못했습니다. (아마도 긴 도메인/범위 속성 체인 때문에 또는 아마도? 추론에 의해 * 새 클래스 정의 *를 만들 수 없기 때문에 아마도 오류 일 수도 있지만 확실히는 아닙니다.) 문제의 온톨로지를 단순화하고이 문제를 재현 할 수있는 예제를 게시하려고합니다 ... – rmv

+0

왜 다른 하위 트리에서 클래스가 발생할 수 없다고 생각합니까? 클래스 계층 구조는 반드시 트리가되는 것은 아닙니다. – AKSW

답변

1

이 동작을 유발할 수있는 몇 가지 가능성이 있습니다. 한 가지 예는 일반적인 클래스 공리 (아래 예제의 마지막 줄 참조) 때문입니다.

Human rdf:type owl:Class 
Man rdf:type owl:Class 
[rdf:type owl:Class ; owl:complementOf Man ; rdfs:subClassOf Human] 

유추 뷰로 전환하면이 온톨로지 문제는 인간과 동일하다는 것을 알 수 있습니다.

기타 이유는 피자 온톨로지에서 발견됩니다. VegetableTopping과 VegetarianTopping을 살펴보면, VegetarianTopping에 대한 equivalentTo 관계로 인해 첫 번째 것은 유추 뷰에서 두 번째 것에 포함됩니다. 희망이 도움이됩니다.