1
저는 SPARQL과 Jena 프레임 워크를 처음 접했고 정규 표현식을 사용하여 Java에서 SPARQL 쿼리를 수행하고 싶습니다. 여기 내 코드는 다음과 같습니다.자바 문자열에서 정규 표현식을 사용하는 SPARQL 요청
String queryString = "select ?a where { filter regex(?a, 'e', 'i') }";
Query query = QueryFactory.create(queryString);
try (QueryExecution qexec = QueryExecutionFactory.create(query, ontology)) {
ResultSet results = qexec.execSelect() ;
for (; results.hasNext() ;)
{
QuerySolution soln = results.nextSolution() ;
System.out.println("a : " + soln.get("a").toString());
}
}
Ontology 변수에는 이름에 'e'개념이있는 OntModel이 포함되어 있습니다. 이 요청을 통해 이러한 개념을 검색하고 싶습니다. 그러나이 코드는 정규식을 단순한 것으로 바꾸면 아무것도 표시하지 않습니다. 내 요청에 무엇이 잘못되었는지 이해하지 못합니다. 누구든지 나를 도울 수 있습니까?
문자열에 'e'또는 'E'가 포함되어 있는지 확인하려는 경우 정규식을 사용할 실제 이유가 없습니다. 'e'가 포함되어 있는지 'E'가 포함되어 있는지 확인하거나 소문자 (대문자) 버전에 'e'('E')가 있는지 확인하십시오. –