繁体   English   中英

将 SPARQL 的结果写入 java 中的文件

[英]write result of SPARQL to file in java

我在 java 中使用 fuseki 服务器作为嵌入式服务器,并通过以下代码获得 SPARQL 结果:

public static void execSelectAndPrint(FileWriter fw, String serviceURI, String query) throws IOException {
    QueryExecution q = QueryExecutionFactory.sparqlService(serviceURI,query);
    ResultSet results = q.execSelect();
    ResultSetFormatter.outputAsCSV(System.out, results);
    while (results.hasNext()) {
        QuerySolution soln = results.nextSolution();
        RDFNode x = soln.get("x");
        System.out.println(x);
        fw.append(x.toString());        
    }
    fw.close();
}

它将结果正确打印到控制台,但它可以写入文件。 我想将 SPARQL 查询的结果写入 csv 文件。

Java Writer可能会产生字符翻译问题,这就是 API 更喜欢OutputStream的原因,因此使用FileOutputStream将起作用。

否则,output 使用ByteArrayOutputStream转换为字节,转换为字符串并写入字符串。

但要小心字符集。 大多数与 SPARQL 相关的格式是 UTF-8,而不是平台本机字符集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM