是否可以让Jena或其他库自动为从SPARQL查询返回的结果生成Javabean?我发现通过Jena的Resultset访问结果是令人厌倦的,所以我希望有一个更面向对象的方式。
JenaBean可以在这方面提供帮助吗?如果我有一个RDF文件,我如何将Jena与JeanBean结合使用以从Resultset生成Javabeans?
答案 0 :(得分:1)
当然可以!
只需实现一个Jena的Model接口并编写如下例子的代码。这是scala。
您的代码将如下所示:
val fileName = "ffff.rdf"
var in = new java.io.FileInputStream(fileName)
var model = ModelFactory.createOntologyModel.read(in, null, null)
.asInstanceOf[OntModel]
val modeMetaId = "someid"
val queryString =
"""
PREFIX sbml: <http://wikimodels.cnbc.pt/ontologies/sbml.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?s WHERE
{ ?s rdf:type sbml:Model .
""" + "?s sbml:metaid \"" + modelMetaId + "\"^^<http://www.w3.org/2001/XMLSchema#string> } "
val l: java.util.LinkedList[SomeBean]
= Sparql.exec(model, classOf[SomeBean], queryString)
这足以与任何Jena后端一起使用。我正在使用带有postgresql的SDB。