2013-10-12 2 views
0

Netbeans을 통해 Sesame 리포지토리에서 SPARQL SELECT 쿼리를 수행하려면 다음 코드를 사용합니다 (바인딩 셋에서 세 개의 값을 얻음). 단 하나의 부울을 반환하는 쿼리를 어떻게 수행 할 수 있습니까?ASK 쿼리를 수행하는 방법은 무엇입니까?

TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString); 
TupleQueryResult result = tupleQuery.evaluate(); 
List<String> bindingNames = result.getBindingNames(); 

try { 
    while (result.hasNext()) {  
     BindingSet bindingSet = result.next(); 
     Value firstValue1 = bindingSet.getValue(bindingNames.get(0)); 
     Value firstValue2 = bindingSet.getValue(bindingNames.get(1)); 
     Value firstValue3 = bindingSet.getValue(bindingNames.get(2)); 
    } 
} 
+0

당신을 떠날 것이다 제시된 코드를 Modying도 물어 http://answers.semanticweb.com/questions/24793/how-to-perfom-sparql-ask-query-in-sesame-에 대답 repository-through-netbeans –

답변

3

당신의 conRepositoryConnection이라고 가정하면, prepareBooleanQuery(…)의 일부 버전을 사용하십시오. 그러면 해당 evaluate() 메서드가 부울을 반환하는 BooleanQuery가 반환됩니다. 당신이

BooleanQuery booleanQuery = con.prepareBoleanQuery(QueryLanguage.SPARQL, queryString); 
boolean result = booleanQuery.evaluate(); 
+0

고마워요. 그것은 내 문제를 해결했다. 다음은 코드입니다. \t BooleanQuery bq = con.prepareBooleanQuery (QueryLanguage.SPARQL, queryString); 시도 { \t 부울 b = bq.evaluate(); \t System.out.println (b); \t} 마지막으로 { \t} – Vijender

+0

@vijendra 당신이'아무것도 catch'ing하지 않는, 그리고 당신은'finally' 블록에 아무것도하지 않는 경우, 왜 사용하십시오'} {시도 ... 마지막으로 {...}' 조금도? –