java - RDF4J 是否提供了一种以表格格式 pretty-print 结果的方法?

标签 java rdf4j

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

最佳答案

Rdf4j 中的查询结果没有真正的“ pretty-print ”,但我猜最接近的是 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的新类。 ,并重写其中需要自定义的任何方法(特别是 handleNamespacehandleSolutionstartQueryResultendQueryResult)。或者您可以记录一个将此类添加到 Rdf4j 的功能请求(或者更好:自己编写然后为项目做出贡献:))

关于java - RDF4J 是否提供了一种以表格格式 pretty-print 结果的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53248506/

相关文章:

Java - 不同时区的当前时间

java - 告诉用户输入的数字是否已经存储在数组中

java - 如何在 linux 中只获取进程的监听端口

java - Jersey + hibernate = NoSuchMethodError : org. objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor

java - java中为什么会出现JMS异常?

java - 当我执行插入查询 RDF4J 时如何获取 UpdateExpr

amazon-web-services - 如何设置 RDF4J 工作台的默认服务器?

graphdb - 使用 RDF4J 在远程服务器上创建存储库

maven - 即使在安装 RDF4J 包后,OpenDaylight OSGi 也无法找到 RDF4J 类