RDF4J是否提供一种以表格格式打印漂亮结果的方法?

时间:2018-11-11 11:58:55

标签: java rdf4j

我正在尝试漂亮地打印从RDF4J中的SPARQL查询获得的结果。 RDF4J内是否有提供此功能的方法或类?我并不需要其他第三方软件或其他源代码(已经有一个question for that,有很多好的答案)。

1 个答案:

答案 0 :(得分:0)

Rdf4j中没有用于查询结果的真正“漂亮打印机”,但我想最接近的是CSV(逗号分隔值)或TSV(制表符分隔值)编写器。 Rdf4j Workbench提供了这些格式,作为导出查询结果的选项。如果要使用它们来以编程方式执行查询,可以按照以下步骤进行操作:

// write TSV result to STDOUT (to write to file, use a FileoutputStream instead)
SPARQLResultsTSVWriter writer = new SPARQLResultsTSVWriter(System.out); 
try (RepositoryConnection conn = rep.getConnection()) {
   String query = "SELECT ... ";
   // execute the query and stream the result to the supplied writer
   conn.prepareTupleQuery(query).evaluate(writer);
}

如果您需要更漂亮的东西,则可以编写自己的自定义查询结果处理程序,并使用它代替SPARQLResultsTSVWriter。为此,请创建一个扩展了AbstractQueryResultWriter的新类,并覆盖其中需要自定义的任何方法(特别是handleNamespacehandleSolutionstartQueryResult和{ {1}})。或者,您可以记录将要添加到Rdf4j的此类的功能请求(甚至更好:自己编写然后为项目做贡献:))

相关问题