2016-05-11 23 views
3

Ist es richtig, dass in OWL-DL, wenn einige: x hat eine rdf: Typ von etwas, was eine Eule ist: Klasse, z. : AutoMitglied einer Eule: Klasse gegen Eule: NamedIndividual

:Car rdf:type owl:Class . 
:x rdf:type  :Car . 

oder gleichwertig

:Car a owl:Class . 
:x a  :Car . 

es nicht abgeleitet werden, dass: x muss eine Eule sein: (Named) Person, so muss man, dass zusätzliche Tatsache angeben immer manuell?

:x a   :Car    ; 
    a   owl:NamedIndividual ; 
    :hasType :Ford    ; 
    :hasColor "red"    . 
+0

Interessante Frage! Beachten Sie, dass hier möglicherweise zwei Dinge im Spiel sind: die OWL-DL-Semantik und die Zuordnung zwischen OWL-Ontologien und RDF. Die OWL-Semantik sollte, wie ich meine, niemals zu RDF-Tripeln führen, sondern zu neuen OWL-Assertions, die RDF-Tripeln zugeordnet werden. –

+0

Zum Beispiel, wenn Sie in https://www.w3.org/TR/2012/REC-owl2-direct-semantics-20121211/ nach "NamedIndividual" suchen, gibt es keine Treffer. –

+0

@Joshua: Ich benutze jetzt nur noch eule: NamedIndividual, um Individuen zu markieren, um sie durch Sparql-Abfragen zurückzubekommen. Aber beeinflusst die Existenz dieser Information auch einen Denker (wie Stardog, Pellet, Hermite) in irgendeiner Weise? (Ich denke deine Antwort wird "Nein" sein ;-) – rmv

Antwort

3

OWL und RDF sind verschiedene Dinge. OWL-Ontologien können in RDF gemäß den im Dokument OWL 2 Web Ontology Language Mapping to RDF Graphs angegebenen Regeln dargestellt werden. Wenn Sie einen Blick in dort haben, die Art und Weise, die Eule: NamedIndividual werden verwendet, sind:

Wenn eine Ontologie das Axiom enthält:

Erklärung (NamedIndividual (* a))

enthält dann die RDF Mapping the triple:

T(*:a) rdf:type owl:NamedIndividual . 

und in ähnlicher Weise, wenn ein RDF-Mapping enthält:

0.123.
*:x rdf:type owl:NamedIndividual . 

dann die Ontologie enthält

Erklärung (NamedIndividual (*: x))

(und es gibt ein weiteres Argument für kommentierten Axiome, aber es ist im Wesentlichen gleich).

Wenn ich einige der Semantik-Dokumente durchsuche, sehe ich keine anderen Stellen (außer aufgezählten Klassenausdrücken), die das Hinzufügen eines x rdf:type owl:NamedIndividual RDF-Triple oder des Schlusses NamedIndividual(x) erlauben.