Йена: как динамически создавать JavaBeans из результатов SPARQL? - PullRequest
0 голосов
/ 17 августа 2011

Возможно ли, чтобы Jena или какая-либо другая библиотека автоматически генерировали Javabean для результатов, возвращаемых из запроса SPARQL?Я считаю, что доступ к результатам через Resultset Джены утомителен, поэтому я надеюсь, что есть более объектно-ориентированный способ.

Может ли JenaBean помочь здесь?Если у меня есть файл RDF, как бы я использовал Jena совместно с JeanBean для генерации Javabeans из Resultset?

1 Ответ

1 голос
/ 07 октября 2011

Конечно, вы можете!

Просто создайте экземпляр интерфейса модели Jena и напишите код, как в примере ниже.Это 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.Я использую SDB с postgresql.

...