2016-07-28 40 views
0

Im Ontologie-Editor Protegé gibt es eine Registerkarte namens Klassenhierarchie (abgeleitet). Ich suche nach einem minimalen Beispiel, um eine solche abgeleitete Klasse zu erzeugen, z. ist es hauptsächlich das :RedCar rdfs:subClassOf :Car, und das ist alles?Minimales Beispiel für eine abgeleitete Klassenhierarchie in OWL

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

"... und das ist alles?" Was haben Sie sonst noch erwartet/erhofft, angesichts der Beispieldaten, die Sie zeigen? –

+0

Ich habe eine große Ontologie von einem Kollegen bekommen, wo nach der Argumentation einige existierende Klassen auch in einem völlig anderen Teilbaum der Klassenhierarchie vorkommen und ich habe nicht verstanden, wie das passieren kann. (Vielleicht aufgrund einer langen Domain/Range-Eigenschaft Kette oder so? Ich denke sogar, es ist nicht möglich, * neue Klassendefinitionen * durch Argumentation zu erstellen, so ist es vielleicht ein Fehler, aber ich bin mir nicht ganz sicher). Ich werde versuchen, die betreffende Ontologie zu vereinfachen und ein Beispiel zu veröffentlichen, um dieses Verhalten hoffentlich zu reproduzieren ... – rmv

+0

Warum denken Sie, dass eine Klasse nicht in verschiedenen Teilbäumen auftreten kann? Die Klassenhierarchie ist nicht notwendigerweise ein Baum. – AKSW

Antwort

1

Es gibt einige Möglichkeiten, die dieses Verhalten erzeugen können. Ein Beispiel ist auf allgemeine Klassenaxiome zurückzuführen (siehe letzte Zeile des Beispiels unten).

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

Sie werden feststellen, dass die menschliche in dieser Ontologie, was äquivalent ist, wenn Sie den Inferenz-Ansicht wechseln.

Weitere Gründe finden sich in der Pizza-Ontologie. Wenn Sie einen Blick auf VegetableTopping und VegetarianTopping werfen, werden Sie feststellen, dass der erste in der Inferenz-Ansicht durch den äquivalentenTo-Bezug auf VegetarianTopping mit dem zweiten zusammengefasst wird. Hoffe das hilft.