【问题标题】:Jena Sparql and constructJena Sparql 和构建
【发布时间】:2010-06-04 18:37:36
【问题描述】:

CONSTRUCTSELECT 的替代 SPARQL 结果子句。 CONSTRUCT 不返回结果值表,而是返回 RDF 图。例如,在以下 Java 代码中运行此查询会生成 HttpException: 406 Unacceptable。但是如果不是CONSTRUCT 块,我选择SELECT ?x,就好了。 Jena 是否支持CONSTRUCT,如果支持,如何支持? DBpedia endpoint 可以接受这两个查询。

PREFIX : <http://dbpedia.org/resource/>
PREFIX onto: <http://dbpedia.org/ontology/>

CONSTRUCT { 
    :France onto:anthem ?x
}

WHERE
{
  :France onto:anthem ?x .
}
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);

【问题讨论】:

    标签: sparql jena dbpedia


    【解决方案1】:

    Jena 支持CONSTRUCT,但要获得结果,您需要调用不同的方法,因为execSelectResultSet 仅适用于SELECT 查询。改用这个:

    Model results = qexec.execConstruct();
    results.write(System.out, "TURTLE");
    

    Model 是 Jena 用于访问 RDF 图的接口,详情请参阅javadocs

    【讨论】:

    • 完美运行,write 方法为我完成了所有工作,谢谢
    【解决方案2】:

    ResultSetFormatter.out(System.out, results, query) 找不到符号和标识符,此时出现预期错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多