1
我有一个我在TopBraid中加载的RDF文件,我也从Web导入了一些RDF文件。最后,我保存了基本文件并检查其代码,以确保它包含导入语句。Jena无法从导入的RDF文件加载数据
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="http://www.bbc.co.uk/nature/life/Bird"/>
<owl:imports rdf:resource="http://www.bbc.co.uk/nature/life/Animal"/>
<owl:imports rdf:resource="http://www.bbc.co.uk/nature/life/Chordate"/>
<owl:imports rdf:resource="http://www.bbc.co.uk/nature/kingdom"/>
</owl:Ontology>
所以,这就是文件,当我执行下面的SPARQL,我得到的结果:
PREFIX wo:<http://purl.org/ontology/wo/>
SELECT *
WHERE {
?subject wo:kingdom ?object .
}
然而,当我使用的是耶拿相同的文件,我很老的任何结果,似乎耶拿不考虑进口:
// Open the bloggers RDF graph from the filesystem
InputStream in = new FileInputStream(new File("/home/noor/TBCMEWorkspace/bbc/index.rdf"));
// Create an empty in-memory model and populate it from the graph
Model model = ModelFactory.createMemModelMaker().createFreshModel();
model.read(in,null); // null base URI, since model URIs are absolute
in.close();
// Create a new query
String queryString = "PREFIX wo:<http://purl.org/ontology/wo/>" +
" SELECT * " +
" WHERE { " +
" ?subject ?x ?object . " +
" } ";
Query query = QueryFactory.create(queryString);
// Execute the query and obtain results
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
// Output query results
ResultSetFormatter.out(System.out, results, query);
// Important - free up resources used running the query
qe.close();
有如何使耶拿考虑进口任何方式?
伟大的人,它工作:) – Noor 2013-04-08 09:31:47