我正在尝试直接从 Oracle 数据库的 SPARQL 查询中输出 RDF/XML 文件。查询工作正常,因为我已经验证了 ResultSet 对象中的结果。
但是,我不确定如何从那里开始。我想我想为每个 QuerySolution 创建一个语句,然后将其添加到模型中。但是我想不出办法,因为我找不到获取谓词值的方法。
任何帮助将不胜感激,并提示我是否走在正确的道路上。
QueryExecution qe = QueryExecutionFactory.create(query, oracleSemModel) ;
ResultSet results = qe.execSelect();
Model model = ModelFactory.createDefaultModel();
while (results.hasNext())
{
QuerySolution result = results.next();
Resource subject = result.getResource("s"); // get the subject
Property predicate = result.getProperty("p"); // <-- THIS FUNCTION DOESN'T EXIST
RDFNode object = result.get("o"); // get the object
Statement stmt = ResourceFactory.createStatement(subject, predicate, object);
model.add(stmt);
}
model.write(System.out, "RDF/XML-ABBREV");