我正在运行一个查询,该查询输出从 RDF 图中检索到的一些 JSON 结果。结果打印为:
{
"head": {
"vars": [ "uri" , "label" ]
} ,
"results": {
"bindings": [ {
"uri": { "type": "uri" , "value": "Some value" } ,
"label": { "type": "literal" , "xml:lang": "en" , "value": "biomass" }
}
]
}
}
{
"head": {
"vars": [ "uri" , "label" ]
} ,
"results": {
"bindings": [
{
"uri": { "type": "uri" , "value": "some value" } ,
"label": { "type": "literal" , "xml:lang": "en" , "value": "biomass" }
}
]
}
}
我想做的是将两个结果合并为一个具有不同 URI 和标签的结果。这是我用来获取结果的代码:
VirtuosoQueryExecution vqe = VirtuosoQueryExecutionFactory.create (
text, set);
ResultSet results = vqe.execSelect();
/*while(results.hasNext()){
QuerySolution result = results.nextSolution();
RDFNode node = result.get("uri");
test += "\ntest: "+ node +" \n";
}*/
ResultSetFormatter.outputAsJSON(out, results);
}
return out.toString();
//return test;
我使用注释部分来仅显示 URI,但这并不是真正需要的!我需要整个结果集,但合并了。如下所示:
{
"head": {
"vars": [ "uri" , "label" ]
} ,
"results": {
"bindings": [
{
"uri": { "type": "uri" , "value": "Some value" } ,
"label": { "type": "literal" , "xml:lang": "en" , "value": "biomass" }
"uri": { "type": "uri" , "value": "Some other value" } ,
"label": { "type": "literal" , "xml:lang": "en" , "value": "biomass" }
}
]
}
}