将SPARQL查询结果导出到芝麻的json文件中



我需要使用 Sesame 将 SPARQL 查询结果导出到 JSON 中。我应该使用类SPARQLResultsJSONWriter吗? 这将如何实现(在Java中)?

这实际上在芝麻存储库 API 用户文档中进行了解释,并提供了代码示例来演示。

但是,重申一下:使用 RepositoryConnection.prepareTupleQuery 准备查询后,可以通过两种方式评估返回的 TupleQuery 对象:一种是通过调用 evaluate() ,在这种情况下,计算方法将返回 TupleQueryResult 对象。另一种是通过调用evaluate(TupleQueryResultHandler)并向其传递TupleQueryResultHandler实例,其中SPARQLResultJSONWriter是一个子类。所以你所需要的只是把这些部分放在一起,就像这样:

RepositoryConnection conn = rep.getConnection();
try {
   // prepare the query
   String queryString = "SELECT * WHERE {?s ?p ?o . }";
   TupleQuery query = conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
   // open a file to write the result to it in JSON format
   OutputStream out = new FileOutputStream("/path/to/output.json");
   TupleQueryResultHandler writer = new SPARQLResultJSONWriter(out);
   // execute the query and write the result directly to file
   query.evaluate(writer);  
}
finally {
   conn.close();
}

最新更新