Исключение в потоке "главная" организация. apache .jena.query.QueryParseException - PullRequest
0 голосов
/ 24 января 2020

Все еще в том же проекте, у меня возникает проблема, когда я пытаюсь запустить текстовый поиск с Jena и используя SPARQL. В описании ошибки говорится:

Exception in thread "main" org.apache.jena.query.QueryParseException: Encountered " "." ". "" at line 2, column 53.

Я думаю, что проблема связана с запросом. Код запроса показан ниже:

public static void queryData(Dataset dataset){
    String prefix = "PREFIX email: <" + App.URI_PREFIX+">" +
            "PREFIX text: <http://jena.apache.org/text#>";

    long startTime = System.nanoTime();
    System.out.println("Email's content contains 'good'");
    String query = "SELECT * WHERE " +
            "{ ?s text:query (email:content 'good'." +
            " ?s email:content ?text . " +
            " }" ;

    dataset.begin(ReadWrite.READ);
    try {
        Query q = QueryFactory.create(prefix+"\n"+query);
        QueryExecution qexec = QueryExecutionFactory.create(q, dataset);
        QueryExecUtils.executeQuery(q, qexec);
    }finally { dataset.end();}
    long finishTime = System.nanoTime();
    double time = (finishTime-startTime)/1.0e6;
    System.out.println ("Query "+String.format("FINISH - %.2fms", time));

    startTime = System.nanoTime();
    System.out.println("Email's content contains 'bad'");
    query = "SELECT * WHERE" +
            "{ (?s ?score ?lit) text:query (email:content 'bad' \"highlight:s:<em class='hiLite'> | e:</em>\") ." +
            " ?s email:content ?text . " +
            " }" ;

    dataset.begin(ReadWrite.READ);

    try {
        Query q = QueryFactory.create(prefix+"\n"+query);
        QueryExecution qexec = QueryExecutionFactory.create(q, dataset);
        QueryExecUtils.executeQuery(q, qexec);
    } finally { dataset.end() ; }
    finishTime = System.nanoTime();
    time = (finishTime-startTime)/1.0e6;
    System.out.println("Query "+String.format("FINISH - %.2fms",  time));
}`

Требуется ли изменение кода запроса, особенно в SPARQL? пожалуйста, посоветуй мне. спасибо

...