質問

私はSPARQLと含意の使用をしようとしています。

私が使用した例としては、のhttp:// WWW .w3.org / TR / 2010 / WD-sparql11-含意-20100126 /#T112

私はイエナに入れしようとします。

     OntClass book1= model.createClass(NS+"book1");
     OntClass book2=model.createClass(NS+"book2");
     OntClass book3=model.createClass(NS+"book3");
     OntClass publication=model.createClass(NS+"publication");
     OntClass article=model.createClass(NS+"article");
     OntClass mit=model.createClass(NS+"MIT");

     ObjectProperty a = model.createObjectProperty(NS+"a");
     ObjectProperty publishes = model.createObjectProperty(NS+"publishes");

     book1.addProperty(a, publication);
     book2.addProperty(a, article);
     publication.addSubClass(article);

     publishes.addRange(publication);
     mit.addProperty(publishes, book3);

モデルタイプOntModelである。

と私は

問題に類似したクエリを使用しました
     "PREFIX table: "I have correct namespace here"+
     "SELECT *"+
    "WHERE"+
    "{"+
    " ?x ?y table:publication  ."+
    "}";

モデルは次のように作成されました。希望OntModelSpecはokです。

OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_RDFS_INF, null);

私は、クエリ

からの結果として取得します

 x                                                           y               
| http://www.example.com/ontologies/sample.owl#publishes   | rdfs:range                                       |
| http://www.example.com/ontologies/sample.owl#article     | rdfs:subClassOf                                  |
| http://www.example.com/ontologies/sample.owl#book1       | http://www.example.com/ontologies/sample.owl#a |
| http://www.example.com/ontologies/sample.owl#publication | rdfs:subClassOf                                  |
| http://www.example.com/ontologies/sample.owl#book3       | rdf:type                                         |   

缶だれでも、カントのtryコードので、として内含することなく、私の例を与える右の結果を得ることができます。

役に立ちましたか?

解決

あなたのオントロジーは、ビット魚を探します。

book1book2book3mitは、彼らが個人で、クラスではありません。あなたは、書籍のmodel.createIndividual(NS + "bookX", publication)を使用し、「組織」または同様のクラスを作成し、そのクラスの個人としてmitを作成する必要があります。あなたは「createIndividual」プロパティで周りの混乱する必要はありませんので、aはすでに、個々のタイプを割り当てるの世話をすることに注意してください。あなたは最初にこれらの事を修正し、再度試してみて、あなたの質問を更新する必要があります。

含意について:クエリ結果の最後の行を見てください。あなたはbook3は本ですが、文はとにかくがあることをどこにも言いませんでした。それは他の文にともなうされたための、そしてあなたがモデルを照会するとRDFSの推論エンジンは、文が表示されるようになり、その理由だという。文があるためpublishesの範囲を伴うされています。すべてのタイプのpublicationであると伴され、公開されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top