Запросы SPARQL не дают результатов

Я сообщил о проблеме при выполнении запроса SPARQL в коде Java с использованием Jena. Онтология доступна здесь (пожалуйста, исправьте дополнительный пробел в строке 798545). После загрузки онтологии из файла N-Triples на модель Jena, используя

Model model=ModelFactory.createDefaultModel();
model.read("minerva-dataset.nt");

Я попытался сделать запрос по модели, используя SPARQL:

String queryString = "PREFIX owl: <http://www.w3.org/2002/07/owl#> \n"
            + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"
            + "PREFIX dcterms:<http://purl.org/dc/terms/>\n"
            + "SELECT  ?title WHERE { \n" + "?book rdf:type owl:Thing .\n" + "?book dcterms:title ?title.\n"+"}";

    System.out.println(queryString);  //I used this to see if the query was correctly parsed

    Query query = QueryFactory.create(queryString);
    QueryExecution qe = QueryExecutionFactory.create(query, model);
    ResultSet rs = qe.execSelect();
    ResultSetFormatter.out(System.out, rs);

но даже при попытке другого запроса ResultSet приводит к пустым результатам. Я уверен, что запрос получен, потому что я также запустил его на Protegé на той же онтологии, которую я загрузил в Jena Model. Затем я искал ошибку в процессе загрузки, но с помощью

FileOutputStream test=new FileOutputStream("test.txt");
model.write(test,"N-TRIPLES");

Я видел, что в выходном файле число аксиом было таким же, как и в исходном файле онтологии (даже если порядок не был тем же).

Поэтому я думаю, что ошибка заключается в выполнении запроса (также учитывая, что в консоли Eclipse не появляется никакой ошибки синтаксического анализа), но я не могу понять, с чем это связано.

0 ответов

Другие вопросы по тегам