blu*_*ega 4 sparql jena dbpedia
CONSTRUCT是一个替代的SPARQL结果子句SELECT.而不是返回结果值表,CONSTRUCT返回RDF图.例如,在以下Java代码中运行此查询会产生一个HttpException: 406 Unacceptable.但是,如果不是CONSTRUCT块,我选择SELECT ?x,它就好了.耶拿支持CONSTRUCT,如果支持,怎么样?这两个查询都可以被DBpedia端点接受.
PREFIX : <http://dbpedia.org/resource/>
PREFIX onto: <http://dbpedia.org/ontology/>
CONSTRUCT {
:France onto:anthem ?x
}
WHERE
{
:France onto:anthem ?x .
}
Run Code Online (Sandbox Code Playgroud)
Query query = QueryFactory.create("the query goes here");
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results, query);
Run Code Online (Sandbox Code Playgroud)
cyg*_*gri 11
Jena支持CONSTRUCT,但要获得结果,您需要调用不同的方法,因为execSelect并且ResultSet仅用于SELECT查询.请改用:
Model results = qexec.execConstruct();
results.write(System.out, "TURTLE");
Run Code Online (Sandbox Code Playgroud)
Model是Jena用于访问RDF图的界面,有关详细信息,请参阅javadocs.