OWL 2 rolification

8

In der Beschreibungslogik gibt es ein Konzept namens "rolification" ( OWL und Regeln, Sec 3.2 ). Es konvertiert ein Konzept (Klasse) in eine Rolle (Eigenschaft). Wenn wir zum Beispiel R(x) rolifizieren, erhalten wir r(x,x) . Diese Technik ist nützlich, um einige Regeln in DL auszudrücken.

Wie machen wir das in OWL 2? Es scheint, dass es in der OWL 2-Spezifikation keine direkte Unterstützung für die Rolifizierung gibt.

    
Yang 07.06.2013, 16:38
quelle

1 Antwort

15

In Abschnitt 3.2 des Artikels, den Sie verlinkt haben, heißt es:

  

Es ist tatsächlich möglich, diese Regel in OWL 2 zu übersetzen - dies beinhaltet jedoch eine Transformation, die wir Rolifikation nennen: Die Rolifizierung eines Konzepts A ist eine (neue) Rolle R A definiert durch das Axiom A ≡ ∃R A .Self . Bewaffnet mit der Rolifikation können wir nun Regel (1) mit dem Axiom ausdrücken ...

OWL2 unterstützt nicht das Ausdrücken eines Axioms wie Elephant (x) & amp; keil; Maus (y) → biggerThan (x, y) direkt. Wie ich es verstehe, verwenden Sie manuell den Prozess der Rolifizierung, den das Papier beschreibt, um ein neues Axiom zu erzeugen, das direkt in OWL2 ausgedrückt werden kann.

Rolifizierung

Was den spezifischen Prozess betrifft, wenn Sie etwas wie Elephant (x) & keil; Maus (y) → biggerThan (x, y) , erst rolifierst du die Klassen Elephant und Mouse . Das bedeutet, dass Sie neue Rollen (Eigenschaften) R Elefant und R Maus einführen (aber Sie löschen nicht die Klassen Elefant und Maus ). Diese neuen Rollen sind so, dass R Elefant (x, x) wenn und nur wenn Elefant (x) . Dies wird durch Hinzufügen der Axiome

erzwungen

Elefant ≡ ∃R Elefant .Self

Maus ≡ ∃ R Maus .Self

, von denen jeder in OWL2 ausdrückbar ist. Mit diesen zwei Axiomen in der Hand fügen Sie schließlich das Untereigenschaftskettenaxiom hinzu

R Elefant & amp; bullet; topObjectProperty & amp; bullet; R Maus & amp; sqsubseteq; biggerThan

was auch in OWL2 ausdrückbar ist. Für jeden Elefanten e und jede Maus m haben wir das

R Elefant (e, e)

topObjectProperty (e, m)

R Maus (m, m)

dann durch das Axiom der Untereigenschaftskette, haben wir das

biggerThan (e, m)

was genau wir ausdrücken wollten.

Axiom Syntax

In der von Protege akzeptierten Eingabesyntax werden diese Axiome wie folgt geschrieben:

Elefant EquivalentTo R_Elephant some Self
Maus EquivalentTo R_Mouse irgendein Self
R_Elephant o topObjectProperty o R_mouse SubPropertyOf biggerThan

In Protege erscheinen sie wie folgt.

In N3:

%Vor%

In RDF / XML:

%Vor%     
Joshua Taylor 07.06.2013, 17:49
quelle

Tags und Links