0
ファイルからモデルにオントロジーをロードした後、次のコードを使用してクエリを生成して実行しようとしています。クエリの文字列連結によってQueryParseExceptionが生成されましたか?
package rdf;
import java.util.Scanner;
import org.apache.jena.atlas.io.IndentedWriter;
import org.apache.jena.atlas.logging.LogCtl;
import org.apache.log4j.Logger;
import org.apache.jena.query.Query;
import org.apache.jena.query.QueryExecution;
import org.apache.jena.query.QueryExecutionFactory;
import org.apache.jena.query.QueryFactory;
import org.apache.jena.query.QuerySolution;
import org.apache.jena.query.ResultSet;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.util.FileManager;
import org.apache.jena.vocabulary.RDF;
public class disease {
public static final String onto_file = "root-ontology.owl";
public static final String NL = System.getProperty("line.separator");
private static final Logger log = Logger.getLogger("disease");
public static void main(String[] args) {
LogCtl.setCmdLogging();
// create the simplest model there is
final Model m = ModelFactory.createDefaultModel();
// use the file manager to read an RDF document into the model
FileManager.get().readModel(m, onto_file);
String re;
System.out.println("Enter class name : ");
Scanner scanIn = new Scanner(System.in);
re = scanIn.nextLine();
String queryString =
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "+
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
" PREFIX : <http://www.semanticweb.org/ hp/ontologies/2016/2/disease-ontologies.owl#>"+
"select ?x "
+
"where { "+
" :"+re +" a ?x}";
;
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query,m);
ResultSet results = qe.execSelect();
String s= results.toString();
while(results.hasNext()) {
int i =0;
QuerySolution binding =results.nextSolution();
Resource su=(Resource) binding.get("x");
System.out.println(su.getLocalName());
String[]r = null;
String re1=su.getLocalName();
System.out.println(re);
r[i]=re1;}}
}
次のQueryParseExceptionが発生します。どうして?
Exception in thread "main" org.apache.jena.query.QueryParseException: Encountered " "<" "< "" at line 1, column 124.
Was expecting:
<IRIref> ...
エラーは何ですか? – AndyS
コードがマングルされています。 – AndyS
@AndyS私はコードを "EDIT"の下のコードに変更しましたが、今は上に示した新しいエラーが発生しています。 – Ciba