Protege 4 の単純なオントロジーを使用して、Eclipse 3.4 で OWL Api 4.0 を使用しています。「Ward」と「Gaurdian」の 2 つのクラスがあります。これらのクラスの個体は、オブジェクト プロパティ isWardOf によって関連付けられます。クラス ガーディアンの同じ個人に関連するクラス ワードの個人を取得するにはどうすればよいですか? 次の図を検討してください:-
ピーターとアリスはどちらもジャックとつながっているため、血縁関係または兄弟であるという事実を取得したいと思います。OWL API 4.0を使用してこれを達成する方法についての大まかな手がかり。
私の完全なフクロウファイルが添付されています:-
<?xml version="1.0"?>
<!DOCTYPE Ontology [
<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
<!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>
<Ontology xmlns="http://www.w3.org/2002/07/owl#"
xml:base="http://www.semanticweb.org/antonio/ontologies/2014/11/untitled-ontology-46"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
ontologyIRI="http://www.semanticweb.org/antonio/ontologies/2014/11/untitled-ontology-
46">
<Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
<Declaration>
<Class IRI="#Gaurdian"/>
</Declaration>
<Declaration>
<Class IRI="#Ward"/>
</Declaration>
<Declaration>
<ObjectProperty IRI="#isWardOf"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Allice"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Amber"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Jack"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Paul"/>
</Declaration>
<Declaration>
<NamedIndividual IRI="#Peter"/>
</Declaration>
<ClassAssertion>
<Class IRI="#Ward"/>
<NamedIndividual IRI="#Allice"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Gaurdian"/>
<NamedIndividual IRI="#Amber"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Gaurdian"/>
<NamedIndividual IRI="#Jack"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Ward"/>
<NamedIndividual IRI="#Paul"/>
</ClassAssertion>
<ClassAssertion>
<Class IRI="#Ward"/>
<NamedIndividual IRI="#Peter"/>
</ClassAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#isWardOf"/>
<NamedIndividual IRI="#Allice"/>
<NamedIndividual IRI="#Jack"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#isWardOf"/>
<NamedIndividual IRI="#Amber"/>
<NamedIndividual IRI="#Jack"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
<ObjectProperty IRI="#isWardOf"/>
<NamedIndividual IRI="#Paul"/>
<NamedIndividual IRI="#Amber"/>
</ObjectPropertyAssertion>
<ObjectPropertyDomain>
<ObjectProperty IRI="#isWardOf"/>
<Class IRI="#Ward"/>
</ObjectPropertyDomain>
<ObjectPropertyRange>
<ObjectProperty IRI="#isWardOf"/>
<Class IRI="#Gaurdian"/>
</ObjectPropertyRange>
</Ontology> >