2016-07-28 49 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上的等價關係。希望這可以幫助。