Я пытаюсь выполнить запрос с помощью D2RQ. Когда я запускаю запрос с помощью браузера из http://localhost:2020/sparql
, как описано в разделе Использование D2RQ Engine с Jena, все работает нормально, но с Jena API это не дает никаких результатов. Запрос
PREFIX vocab: <http://localhost:2020/resource/vocab/>
SELECT ?personName WHERE {
?person vocab:people_Name ?personName .
}
Вот код Java, который создает запрос и запускает его для модели:
ModelD2RQ m = new ModelD2RQ( "file:///C:/Users/sabse/Downloads/d2rq-0.8.1/d2rq-0.8.1/mapping-ontology.ttl");
String sparql =
"PREFIX vocab: <http://localhost:2020/resource/vocab/>" +
"SELECT ?personName WHERE {" +
" ?person vocab:people_Name ?personName . " +
"}";
Query q = QueryFactory.create(sparql);
ResultSet rs = QueryExecutionFactory.create(q, m).execSelect();
ResultSetFormatter.out(System.out, rs, q);
m.close();
Данные начинаются со следующих объявлений префикса:
@prefix vocab: <vocab/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix d2rq: <http://www.wiwiss.fu-berlin.de/suhl/bizer/D2RQ/0.1#> .
@prefix jdbc: <http://d2rq.org/terms/jdbc/> .
http://localhost:2020/resource/vocab/
меня удивляет; данные на самом деле не используют более значимый префикс IRI? - person Joshua Taylor   schedule 11.01.2014.ttl
? Там тоже используется префиксhttp://localhost:2020/resource/vocab/
? - person Joshua Taylor   schedule 12.01.2014<vocab/>
является относительным URL-адресом, поэтому механизмы SPARQL будут делать с ним что-то немного непредсказуемое. Если бы мне пришлось угадывать, я предполагаю, что когда вы загружаете данные из файла, вы получаете IRI таким образом, чтоvocab:People_name
расширяется до чего-то вродеfile:///C:/Users/sabse/Downloads/d2rq-0.8.1/d2rq-0.8.1/mapping-ontology.ttl/vocab/People_name
, что объясняет, почему ваш запрос SPARQL не работает. - person Joshua Taylor   schedule 12.01.2014select * where { ?s ?p ?o } limit 10
, к модели, загруженной из файла, какие виды IRI вы увидите в нем? - person Joshua Taylor   schedule 12.01.2014