2016-05-06 16 views
0

Stellen Sie sich vor, dass angesichts der folgenden zwei Beziehungen:
a (x, y)
b (y, z)
wir ableiten könnte:
c (x, z)
dann kann dies ausdrücklich in Protégé ausgedrückt werden, indem ein SuperProperty Of (Chain) für die c Eigenschaft wie folgt ergänzt:
aob subPropertyOf cSuperProperty Verkettungstag

Damit ausgedrückt, sich vorstellen, dass wir nur wissen:
a (x, y)
c (x, z)
wie können wir explizit ausdrücken, dass wir deshalb auch wissen:
b (y, z)
und diese wieder mit einem SuperProperty Of (Chain) sein würde, aber für die b-Eigenschaft?

Ich dachte zuerst versuchen:
a o inverse (c) subPropertyOf b

Das Protégé nicht gefallen hat, sagen, es ein Kreis war. Jetzt bin ich nur sehr verwirrt.

Antwort

1

Der korrekte Ausdruck für die b(y,z) wäre inverse(a) o c SubPropertyOf b, wie Sie, dass die Eigenschaft Pfad von y zu z zu b entspricht ausdrücken wollen. Wenn Sie nur dieses Axiom haben, sollte Ihnen dies eine notwendige Schlussfolgerung geben. Sie können es jedoch nicht zusammen mit dem ersten Axiom verwenden, a o b SubPropertyOf c. In diesem Fall definieren Sie c über b im Axiom mit direkten Eigenschaften und b über c im Axiom mit inverser Eigenschaft. Sie müssen also c kennen, um c zu definieren. Diese Art von Schleifen ist in OWL 2 DL nicht erlaubt, deshalb erzählt Protege von zyklischen Definitionen. Alles in allem können Sie nur eines dieser Axiome haben, aber nicht beide gleichzeitig.

+0

Danke! Das hat wirklich viel Sinn gemacht! :) –

0

Das Wissen von a und c beinhaltet nicht b. Das kann leicht mit dem klassischen Beispiel Definition von Onkel ilustarted werden:

:hasUncle 
    rdf:type owl:ObjectProperty ; 
    owl:propertyChainAxiom (
     :hasParent 
     :hasBrother 
    ) . 

Dann, wenn :David :hasParent :Mary und :Mary :hasBrother :John, ein DL reasoner in der Tat, dass :David :hasUncle :John schließen würde. Aber wenn wir das bestätigen :David :hasUncle :John und :David :hasParent :Mary, das ist nicht ausreichend, um das :Mary :hasBrother :John zu schließen. Und tatsächlich kann Johannes ein Bruder eines anderen Elternteils von Maria sein.

Bitte beachten Sie, dass die Definitionsanweisung besagt, dass die Eigenschaftskette subProperty von :hasUncle und nicht gleichwertige Eigenschaft ist. Selbst wenn Sie also :hasParent als funktionsfähig angeben, würde der Reasoner b aus a und c immer noch nicht ableiten. OWL2 lässt jedoch keine äquivalente Kombination von Objekteigenschaften zu.

Die Objektketten sollten vorsichtig angewendet werden. Zum Beispiel kann in S1 º S2 º S3 º ... º Sn ∈ R, R nur an der ersten oder letzten Stelle der linken Seite des Ausdrucks stehen. Sonst ist es nicht entscheidbar. Dies ist eine der Einschränkungen für reguläre RBoxes. Und Immobilienketten, oder formaler "General Role Inclusion", können nur entscheidbar sein, wenn sie auf reguläre RBoxen angewendet werden.

+0

Ich denke, du hast missverstanden. Ich sage, dass wir b (y, z) kennen, wenn wir a (x, y) und c (x, z) kennen.Ich weiß, dass das nicht notwendigerweise der Fall ist, abhängig davon, was diese Beziehungen sind, aber ich sagte, dass in diesem Fall, wenn wir a (x, y) und c (x, z) kennen, wir daher auch b (y, z). Ich brauche nur Hilfe, um auszudrücken, dass dies der Fall sein sollte. –