나는 다음과 SPARQL 쿼리가 : 성공적으로 반환 OpenRDF 워크 벤치 2.6.5에서 올바른 결과를 반환자바 아파치 예나 SPARQL 쿼리는 쿼리가 유효 할 때 어휘 오류를 반환
SELECT ?b ?c WHERE {
ont:http\:\/\/test.com\/test\#com.test.test.test.2.3.4 ?b ?c}
합니다. 나는 다음과 같은 코드
private static ResultSet getQueryResults(String stringQuery, String service) {
Query query = QueryFactory.create(stringQuery);
QueryExecution qexec = QueryExecutionFactory.sparqlService(
service, query);
ResultSet results = qexec.execSelect();
//ResultSetFormatter.out(System.out, results, query);
return results;
}
public static ResultSet getDetails(String ID) {
//we define our sparql query
String sanatizedID = "ont:" + sanitizeString(ID);
String stringQuery = " SELECT ?b ?c WHERE" +
" { " + sanatizedID +
//"{?a"+
" ?b" +
" ?c}";
System.out.println(stringQuery);
//we define our service
String service = "http://test.test.com:8181/test-sesame/repositories/test";
//We write the results of our query into a results set
ResultSet results = getQueryResults(stringQuery, service);
return results;
}
private static String sanitizeString(String s) {
s = s.replace("/", "\\/");
s = s.replace("#", "\\#");
s = s.replace(":", "\\:");
s = s.replace("\"", "\\\"");
return s;
}
을 I 라인 쿼리 쿼리에 다음과 같은 오류
Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Lexical error at line 1, column 871. Encountered: ":" (58), after : "\\"
을 얻을 = QueryFactory.create (사용하여 쿼리를 실행할 때 내 자바 예나 2.6.4를 사용하는 stringQuery);/
: 쿼리 내 자바 쿼리에 OpenRDF 워크 벤치 2.6.5 및 유효하지 왜 나는 예나 버전과 행운을 변경하려고했습니다는, (나는 그것이 자신의 sanatization을 할 수 있습니다 생각) 이해할 수없는
도움말 정말 감사하겠습니다!
이것은 < > 표지판을 사용하여 수행 할 수 있습니다. 쿼리는 다음과 같이 읽어야합니다. SELECT? b? c WHERE {? b? c} –
user1829257