Frage

Stellen Sie sich folgende Taxonomie (azyklisch & gerichteten Graphen):

<my:Eukaryota> <rdfs:subClassOf> <my:Organism>.
<my:Mammal> <rdfs:subClassOf> <my:Eukaryota>.
<my:Primate> <rdfs:subClassOf> <my:Mammal>.
<my:HomoSapiens> <rdfs:subClassOf> <my:Primate>.
<my:Bacteria> <rdfs:subClassOf> <my:Organism>.
<my:Escherichia> <rdfs:subClassOf> <my:Bacteria>.

1) Ist es möglich, mit dem Jena OWL API zu überprüfen, ob eine bestimmte Ressource (zB Homo Sapiens) ist eine Unterklasse von ‚Säugetier‘ ohne alle Eltern Knoten rekursiv abzurufen?

2) Die gleiche Frage mit SPARQL .

Danke

War es hilfreich?

Lösung

Wenn Sie bereits Jena verwenden, können Sie den Einsatz Pellet die SPARQL-DL-Abfrage-Engine , die lassen sollten Sie Personen in einer Ontologie-aware Art und Weise abgefragt werden.

Alternativ können Sie Jena benutzen InfModel statt Model Schnittstelle, fügen sie eine Reasoner (und Ontologie), um es, und führen sie dann die Abfrage RobV erwähnt. Sie können Pellet des reasoner dafür verwenden, wenn man wollte. Sie brauchen nicht die OntModel zu verwenden, wenn Sie nur Argumentation tun wollen.

scroll top