如何将 Jena QuerySolution 结果写入 RDF/XML 文件?
How to write a Jena QuerySolution result to RDF/XML file?
我需要 export/write .ttl QuerySolution 结果到 RDF/XML 文件。
我已经尝试了下面的代码,但是 RDFDataMgr.write
出现以下错误:
The method write(OutputStream, Model, Lang) in the type RDFDataMgr is not applicable for the arguments (OutputStream, QuerySolution, Lang)
Query query = QueryFactory.create(queryString);
QueryExecution qexec= QueryExecutionFactory.create(query, model2);
try {
ResultSet resultat= qexec.execSelect();
while (resultat.hasNext()) {
QuerySolution sol=resultat.nextSolution();
String outfile = "/auto_home/rdftest/outfile.rdf";
OutputStream out = new FileOutputStream(outfile);
RDFDataMgr.write(out, sol, Lang.RDFXML);
}
} finally {
qexec.close();
}
SPARQL 支持两种主要的查询:SELECT 查询和 CONSTRUCT 查询。
SELECT 查询 return 个 table 的解决方案。您是 运行 一个 SELECT 查询。
CONSTRUCT 查询根据解决方案创建新的 RDF 图。
Turtle 和 RDF/XML 是 RDF 图的格式。它们不是解决方案 table 的格式。因此,您只能将 CONSTRUCT 查询的结果写入这些格式。
因此您可以将查询更改为 CONSTRUCT 查询并使用适当的 API 来执行它们(execConstruct() return 是模型而不是 ResultSet),或者使用 ResultSetFormatter 编写整个解决方案 table(不是您尝试做的 table 的每一行)到为此目的而存在的一种格式:JSON、CSV、TSV、XML.
我需要 export/write .ttl QuerySolution 结果到 RDF/XML 文件。
我已经尝试了下面的代码,但是 RDFDataMgr.write
出现以下错误:
The method write(OutputStream, Model, Lang) in the type RDFDataMgr is not applicable for the arguments (OutputStream, QuerySolution, Lang)
Query query = QueryFactory.create(queryString);
QueryExecution qexec= QueryExecutionFactory.create(query, model2);
try {
ResultSet resultat= qexec.execSelect();
while (resultat.hasNext()) {
QuerySolution sol=resultat.nextSolution();
String outfile = "/auto_home/rdftest/outfile.rdf";
OutputStream out = new FileOutputStream(outfile);
RDFDataMgr.write(out, sol, Lang.RDFXML);
}
} finally {
qexec.close();
}
SPARQL 支持两种主要的查询:SELECT 查询和 CONSTRUCT 查询。
SELECT 查询 return 个 table 的解决方案。您是 运行 一个 SELECT 查询。
CONSTRUCT 查询根据解决方案创建新的 RDF 图。
Turtle 和 RDF/XML 是 RDF 图的格式。它们不是解决方案 table 的格式。因此,您只能将 CONSTRUCT 查询的结果写入这些格式。
因此您可以将查询更改为 CONSTRUCT 查询并使用适当的 API 来执行它们(execConstruct() return 是模型而不是 ResultSet),或者使用 ResultSetFormatter 编写整个解决方案 table(不是您尝试做的 table 的每一行)到为此目的而存在的一种格式:JSON、CSV、TSV、XML.