OWL 2-Argumentation mit SWRL-Regeln

Ich versuche das zu benutzenEinsiedler Um Schlussfolgerungen für eine Ontologie zu berechnen, die eine Reihe von OWL-Axiomen und eine SWRL-Regel enthält, gehen Sie wie folgt vor:

Ontology(
  ClassAssertion( :Student :Bob )
  ClassAssertion( :Professor :DrBoffin )
  ClassAssertion( :University :UF )
  ObjectPropertyAssertion( :supervises :DrBoffin :Bob )
  ObjectPropertyAssertion( :worksAt :DrBoffin :UF )

  EquivalentClasses( :Student ObjectHasSelf( :r1 ))
  EquivalentClasses(
    ObjectHasSelf( :r2 )
    ObjectSomeValuesFrom( :worksAt :University ))
  SubObjectPropertyOf(
    ObjectPropertyChain( :r2 :supervises :r1 ) :professorOf )

  DLSafeRule(Body(ObjectPropertyAtom( :professorOf Variable( ?x ) Variable( ?y )))
             Head(ObjectPropertyAtom( :instructorOf Variable( ?x ) Variable( ?y ))))
)

Grundsätzlich versucht der OWL-Teil, eine solche Regel auszudrücken:

worksAt(x, y), University(y), supervises(x, z), Student(z) -> professorOf(x, z)

mit Eigenschaftskette undAufteilung Techniken:

Der SWRL-Teil ist:

professorOf(x, y) -> instructorOf(x, y)

Die erwartete Ausgabe sollte beides enthaltenObjectPropertyAssertion( :professorOf :DrBoffin :Bob ) undObjectPropertyAssertion( :instructorOf :DrBoffin :Bob ). Die tatsächliche Ausgabe ist jedoch (nur Objekteigenschaften werden angezeigt).

ObjectPropertyAssertion( :r1 :Bob :Bob )
ObjectPropertyAssertion( :professorOf :DrBoffin :Bob )
ObjectPropertyAssertion( :r2 :DrBoffin :DrBoffin )
ObjectPropertyAssertion( :supervises :DrBoffin :Bob )
ObjectPropertyAssertion( :worksAt :DrBoffin :UF)

Warum wird das erwartete SWRL-Ergebnis nicht angezeigt? Irgendwelche Vorschläge?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage