2010-06-04 4 views
4

CONSTRUCTSELECT에 대한 대안 SPARQL 결과 절입니다. 결과 값 테이블을 반환하는 대신 CONSTRUCT은 RDF 그래프를 반환합니다. 예를 들어 다음 Java 코드에서이 쿼리를 실행하면 HttpException: 406 Unacceptable이 생성됩니다. 그러나 CONSTRUCT 블록 대신에 SELECT ?x을 선택하면됩니다. 예나가 CONSTRUCT을 지원합니까? 그렇다면 어떻게해야합니까? 두 검색어 모두 DBpedia endpoint에서 허용됩니다.Jena Sparql 및 구성

PREFIX : <http://dbpedia.org/resource/> 
PREFIX onto: <http://dbpedia.org/ontology/> 

CONSTRUCT { 
    :France onto:anthem ?x 
} 

WHERE 
{ 
    :France onto:anthem ?x . 
} 
Query query = QueryFactory.create("the query goes here"); 
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",  query); 
ResultSet results = qexec.execSelect(); 
ResultSetFormatter.out(System.out, results, query); 

답변

11

예나는 CONSTRUCT을 지원하지만 execSelectResultSetSELECT 쿼리 만 있기 때문에, 다른 메소드를 호출하는 데 필요한 결과를 얻을 수 있습니다. 대신를 사용

Model results = qexec.execConstruct(); 
results.write(System.out, "TURTLE"); 

Model는 RDF 그래프를 액세스하기위한 예나의 인터페이스이며, 자세한 내용은 javadocs를 참조하십시오.

+0

가 완벽하게 작동이 시점에서 발생 찾을 수없는, 쓰기 방법은 나를 위해 모든 작업을 수행, THX – blueomega

2

ResultSetFormatter.out (System.out에이 결과, 쿼리) 기호와 식별자 예상 오류가