我有一些RDF & RDFS文件,我想用耶拿SPARQL实现查询它和我的代码如下所示:SPARQL查询随着推论
//model of my rdf file
Model model = ModelFactory.createMemModelMaker().createDefaultModel();
model.read(inputStream1, null);
//model of my ontology (word net) file
Model onto = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM_RDFS_INF);
onto.read(inputStream2,null);
String queryString =
"PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
+ "PREFIX wn:<http://www.webkb.org/theKB_terms.rdf/wn#> "
+ "SELECT ?person "
+ "WHERE {"
+ " ?person rdf:type wn:Person . "
+ " }";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query, ????);
ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results, query);
qe.close();
和我有一个WORDNET本体的RDF文件,我想在我的查询中使用这个本体来做自动推理(当我查询人的查询应该返回例如男人,女人) 那么如何将本体与我的查询连接?请帮帮我。
更新:现在我有两个模型:从哪个我应该运行我的查询?
QueryExecution qe = QueryExecutionFactory.create(query, ????);
在此先感谢。
感谢您的帮助,我使用这个模型来加载我RDF,我要查询,但如何在查询运行时加载本体文件(.rdf)并将其用于推理? – Radi 2011-05-15 15:20:49
查看Javadocs的'Model.read()'或'FileManager.readModel()'。就个人而言,我会使用'FileManager'路线。 – 2011-05-15 17:48:13
请检查我的编辑。谢谢 – Radi 2011-05-16 18:33:46