Frage

Ich bin neu in Ontologien und habe eine grundlegende Frage über Eulengroße.Die Frage mag lang gewunden wirken, tut mir leid ..

Betrachten Sie eine Ontologie mit den folgenden Axiomen (Eule: Klasse C1) und (Eule: Klasse P), mit einer Objekteigenschaft (RDFS: Domain beobachtet C1) (RDFS: Range stellt P) zusammen mit einer Person (RDF: Typ P p)

ich beschränkte dann die Klasse C1, indem er eine Klasse C2 (RDFS: SubClassof c2 C1) mit der Einschränkung erstellt (beachtet C2 P)

Nun, wenn ich dann eine neue Person erstellen kann (RDF: Type X Eule: Ding) (beachtet X p), dann ergibt sich der Grund der (RDF: Typ X C1).Die Definition des einzelnen X erscheint jedoch eher in der Nähe von C2, so dass der Grund nicht daraus schließt, dass X vom Typ C2 ist?

bitte helfen!

Ich experimentiere mit dem Jena-Framework.

War es hilfreich?

Lösung

Der Grund, warum dies nicht der Fall ist, ist, dass Sie Ihre Einschränkung mithilfe einer Unterklasse erstellt haben, was bedeutet, dass Sie einen notwendigen (nicht ausreichenden) Zustand erstellt haben.Begeben Sie sich mit anderen Worten, Sie haben dies dem Begründen gesagt:

"Wenn ein Individuum vom Typ C2 ist, muss es eine Eigenschaft haben," beobachtet ","

Sie haben jedoch nicht es umgekehrt:

"Wenn ein Individuum eine Eigenschaft hat", muss es vom Typ C2 "

sein

Damit der Begründung, dass der Grund, dass Ihr Individuum vom Typ C2 ist, die zweite Regel (die ausreichende Bedingung) auch dort haben.Sie können dies in Eule mithilfe einer generakodicetagcode-Beziehung zu Ihrer Einschränkung (anstelle einer owl:equivalentClass-Beziehung) tun.

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