Frage

Ich bin versuchen, um Pellet zu propagieren Eigenschaften von Klassen nach unten, um die Angehörigen dieser Klassen.Zum Beispiel, wenn ich in der Klasse A mit der Eigenschaft X, und Einzelne B mit rdf:type=Class A, ich will die Einzelnen B haben die Eigenschaft X nach Ausführung des reasoners.Ich bin mit der Technik der Eigenschaft chain Integration verwiesen auf die OWL 2 Neue Funktionen Seite.Diese Technik funktioniert gut, wenn ich meine eigenen benutzerdefinierten Eigenschaften in der Eigenschaft der Kette, aber es funktioniert nicht, wenn ich versuche, rdf:type selbst.Hier sind einige relevante Ausschnitte meiner RDF/XML.

Ontologische Klasse (erstellt von Jena;Hinweis: der "spread" - Eigenschaft, wie das ist, was ich bin versucht zu propagieren, um die Individuen der Klasse Person):

<rdf:Description rdf:about="http://family/person">
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:sameAs rdf:resource="http://family/person"/>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <owl:equivalentClass rdf:resource="http://family/person"/>
    <owl:disjointWith rdf:resource="http://www.w3.org/2002/07/owl#Nothing"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>

"Spread" - Eigenschaft selbst (von Hand geschrieben von mir, nicht von Ihr erzeugten Jena seit Jena API nicht unterstützt Objekt-Eigenschaft-Ketten):

<rdf:Description rdf:about="http://spread/generalSpread">
    <owl:propertyChainAxiom rdf:parseType="Collection">
        <owl:ObjectProperty rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"/>
        <owl:ObjectProperty rdf:about="http://spread/generalSpread"/>
    </owl:propertyChainAxiom>
</rdf:Description>

Bevor Sie denken, die person, die ödipus sieht wie folgt aus:

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
</rdf:Description>

Die Idee ist, dass, nach der Begründung, es würde in etwa so Aussehen:

<rdf:Description rdf:about="http://family/Oedipus">
    <rdf:type rdf:resource="http://family/person"/>
    <j.1:spread rdf:resource="http://spread/specificSpread"/>
</rdf:Description>

Ich habe das Gefühl, dass bezogen auf rdf:type als rdf:resource ist wahrscheinlich, wo die Dinge immer screwy da bin ich mir ziemlich sicher, dass es ist nicht eine Ressource.Aber ich bin mir nicht sicher, wie es zu beheben.Ich lief es durch Pellet-Befehlszeile lint Programm und es nicht zu haben scheinen ein problem mit ihm, außer, dass es erstellt ein expliziter Eintrag für rdf:type, der folgendermaßen aussah:

<owl:ObjectProperty rdf:about="&rdf;type"/>

Sieht ein wenig komisch für mich und vielleicht auch ein Hinweis darauf, daß es nicht verstehen, mein Verweis auf rdf:type.

Kann jemand Einblick geben, was könnte Los sein?Ich würde wirklich zu schätzen jede Hilfe, die jemand leisten konnte.

War es hilfreich?

Lösung

Sehr Wichtig Bearbeiten

Es zeigt sich, dass Immobilien, die Ausbreitung möglich IST, im Rahmen von OWL DL.Zum Beispiel, wenn Sie wollen, verbreiten Sie die Eigenschaft spread mit dem Wert simpleSpread (vorausgesetzt, beide sind bereits in Ihrem RDF), könnten Sie so etwas tun (in RDF/XML):

  <rdf:Description rdf:about="http://family/person">
    <rdfs:subClassOf>
        <owl:hasValue rdf:resource="http://spread/simpleSpread"/>
        <owl:onProperty rdf:resource="http://spread/hasSpread"/>
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
    </rdfs:subClassOf>
    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
  </rdf:Description> 

Nicht so wichtig mehr

Okay, so für Informationen, Vollständigkeit, poste ich die passende Antwort Informationen finden Sie hier.Dieses Zeug kommt von Menschen zu reden, die auf dem pellet-users mailing-Liste.Der thread archiviert und beginnt mit meiner erste Nachricht.Folgen Sie den Faden um herauszufinden, was passiert im detail.

Im wesentlichen, OWL DL nicht erlauben "Reflexion" auf-gebaut-in Eigenschaften und Datentypen.Dass diese verstoßen könnten, die polynomialzeit entscheidbarkeit garantiert von OWL DL.Um dies zu erreichen, müssen Sie die OWL RL Profil von OWL Full, die behandelt alle Dinge, die in OWL gleichermaßen, so dass die Verwendung von eine Schlussfolgerung über rdf:type.

Das größere Problem mit dieser Feststellung ist ein reasoner (oder Kombination von reasonern), die Unterstützung von sowohl DL-RL, da RL ist viel leichter und weniger ausdrucksstark als DL (nicht zu erwähnen, nicht garantiert zu werden in polynomieller Zeit entscheidbar).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top