자바 의미 망 프로 그래 밍 시리즈 5:Jena+sparql 의미 데이터 조회 실현

1661 단어 자바
Sparql 은 의미 망 의 조회 언어 로 w3c 가 추천 하 는 기준 으로 이전에 디자인 된 본체 파일 의 조 회 를 보 여 주 며'benz'차 소유자 의 이름 조 회 를 실현 했다.
 
/**



 *       



 * @param spaqrlString



 * @param queryModel



 * @param var



 */



     public void queryBySpaqrl( String spaqrlString , Model queryModel , String var )



             {



            Query query =         QueryFactory.create(spaqrlString);



            QueryExecution queryExecution = QueryExecutionFactory.create(query,queryModel);



            ResultSet resultSet = queryExecution.execSelect();



            while(resultSet.hasNext())



                    {



                            QuerySolution querySolution = resultSet.nextSolution();



                            RDFNode rdfNode = querySolution.get(var);



                            System.out.println(var +" is " + rdfNode.toString());



                    }



             }


 
Sparql 구문
@Test



public void testJenaSparql()



{



JenaModelSpaqrl  jenaModelSpaqrl = new JenaModelSpaqrl();



jenaModel= new JenaModel();



StringBuffer querystringBuffer = new StringBuffer();



querystringBuffer.append("PREFIX s1" + ": <" + defaultNameSpace + ">");



querystringBuffer.append(



"select ?name" +



" where { " +



"?car s1:hasBrand \"Benz\"."+



"?car s1:hasOwner ?person."+



"?person s1:hasName ?name}"



);



jenaModelSpaqrl.queryBySpaqrl(querystringBuffer.toString(), jenaModel.createOntologyModel(OntModelSpec.OWL_DL_MEM, pathFile) ,"?name");



}


최종 결과

좋은 웹페이지 즐겨찾기