2016-08-10 3 views
1

Nehmen wir an, wir haben eine kleine Ontologie über familiäre Beziehungen. Ich würde gerne auf indirekte Beziehungen wie Tante und Onkel schließen.Gibt es eine Möglichkeit, in OWL2 irreffektive Eigentumsketten zu machen?

Es scheint ansprechend zu sein, dafür Eigenschaftsketten zu verwenden, aber diese enden immer reflexiv. Zum Beispiel, wenn versucht, Geschwister wie folgt zu schließen:

:sibling owl:propertyChainAxiom (:child [owl:inverseOf :child]) 

jede Person am Ende ihre eigenen Geschwister sein. Dies bedeutet, dass der Aufbau einer Kette für Onkel/Tante basierend auf Geschwisterbeziehungen unmöglich ist.

Gibt es Hinweise, wie Sie das sonst erreichen können?

+0

Was passiert, wenn Sie feststellen, dass die Eigenschaft ': sibling' irreflexive ist? – AKSW

+0

Ein Fehler in der Argumentation, weil Eigenschaftsketten nur mit einfachen Klassen arbeiten. – Michael

Antwort

0

Späte Antwort, aber ich hatte das gleiche Problem und verwendet SWRL-Regeln, um dies zu beheben.

Beispiel für Bruder

isParentOf(?parent, ?child2)^isSonOf(?child, ?parent)^DifferentFrom(?child, ?child2) -> isBrotherOf(?child, ?child2) 
Verwandte Themen