2011-08-17 4 views
0

Jena 또는 다른 라이브러리가 SPARQL 쿼리에서 반환 된 결과를 위해 자동으로 Javabean을 생성하도록 할 수 있습니까? 나는 Jena의 Resultset을 통해 결과에 접근하는 것을 지루함을 느낀다. 그래서 나는 더 많은 객체 지향적 인 방법이 있기를 바라고있다.Jena : SPARQL 결과에서 동적으로 JavaBeans를 생성하는 방법은 무엇입니까?

JenaBean 여기에서 도움이 될까요? RDF 파일을 가지고 있다면 JeanBean과 함께 Jena를 사용하여 ResultSet에서 Javabeans를 생성하는 방법은 무엇입니까?

답변

1

물론 가능합니다.

Jena의 Model 인터페이스를 설치하고 아래 예와 같이 코드를 작성하십시오. 이것은 스칼라입니다.

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) 

이 어떤 예나 백엔드 작업을 충분히 일반적입니다 :

코드를 다음과 같이 보일 것입니다. 나는 SDB를 postgresql과 함께 사용하고있다.

+0

@ user897865 가능한 경우 답변을 수락대로 표시 하시겠습니까? 그것이 정확하고 유용하다고 가정 할 때 저는 그것을 믿습니다! –

관련 문제