2
나는 다음과 같은 쿼리를 사용하여 내 온톨로지에서 개인 검색 할 수 있습니다
:SPARQL 쿼리를 사용하여 올빼미에서 개인을 검색하는 방법은 무엇입니까?
SELECT ?indiv WHERE { ?indiv rdf:type:Fruit }
를 내가 얻을 등 사과, 오렌지,하지만 난 자바에서이 쿼리를 작성, 내가받을 다음과 같은 예외로 결과 :
Exception in thread "main" com.hp.hpl.jena.query.QueryParseException: Encountered " "}" "} "" at line 4, column 41.
Was expecting one of:
<IRIref> ...
<PNAME_NS> ...
<PNAME_LN> ...
<BLANK_NODE_LABEL> ...
<VAR1> ...
<VAR2> ...
"true" ...
"false" ...
<INTEGER> ...
<DECIMAL> ...
<DOUBLE> ...
<INTEGER_POSITIVE> ...
<DECIMAL_POSITIVE> ...
<DOUBLE_POSITIVE> ...
<INTEGER_NEGATIVE> ...
<DECIMAL_NEGATIVE> ...
<DOUBLE_NEGATIVE> ...
<STRING_LITERAL1> ...
<STRING_LITERAL2> ...
<STRING_LITERAL_LONG1> ...
<STRING_LITERAL_LONG2> ...
"(" ...
<NIL> ...
"{" ...
"[" ...
<ANON> ...
"+" ...
"*" ...
"/" ...
"|" ...
"?" ...
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.perform(ParserSPARQL11.java:87)
at com.hp.hpl.jena.sparql.lang.ParserSPARQL11.parse(ParserSPARQL11.java:40)
at com.hp.hpl.jena.query.QueryFactory.parse(QueryFactory.java:132)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:69)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:40)
at com.hp.hpl.jena.query.QueryFactory.create(QueryFactory.java:28)
내 코드는 다음과 같습니다 불법 SPARQL 구문입니다
String queryString = " PREFIX ont: <http://www.owl-ontologies.com/fruitOntology.owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?indiv WHERE { ?indiv ont:Fruit } ";
Query query = QueryFactory.create(queryString) ;
QueryExecution qexec = QueryExecutionFactory.create(query, m) ;
try {
ResultSet results = qexec.execSelect() ;
for (; results.hasNext() ;)
{
QuerySolution soln = results.nextSolution() ;
Resource y = soln.getResource("y") ;
Resource x = soln.getLiteral("x") ;
System.out.println(y.getLocalName()+" = "+x.getString()) ;
}
}
catch(Exception e){
}
이제 예외가 없습니다. 하지만 아무런 결과도 얻지 못했습니다 ... 왜 그런지에 대해 알고 있습니까? – Rosh
아마도 과일을 직접적으로 주장하는 사람이 없기 때문일 것입니다. 더 나아가 A, B, & C가 사과이고 모든 사과가 과일이라면 A, B, C가 Fruit이라는 사실을 되돌리기 위해 어떤 종류의 추론을 사용하고 있는지 확인해야합니다. 사과의 사실 덕목. – Michael