Я выполняю следующий запрос, используя библиотеку apache jena sparql в java:
String queryString ="SELECT ?startTime ?endTime " +
"WHERE { " +
"?y rdfs:label \"Processor execution GETIMAGE\" . "+
"?y prov:startedAtTime ?startTime . "+
"?y prov:endedAtTime ?endTime . " +
"}";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query, model);
Однако это приводит к исключению Unresolved prefixed name
. Я знаю, что это можно исправить, добавив полное имя префикса в мою строку запроса (как показано в Неразрешенное префиксное имя: rdfs:subClassOf в запросе SPARQL), но мне было интересно, есть ли способ импортировать эти объявления префикса из модели rdf в запрос.
N-Triples
нет объявлений префиксов. - person UninformedUser   schedule 10.01.2019RDF/XML
иTurtle
, вам может повезти, и вы получите проанализированные префиксы из файлаmodel.getNsPrefixMap()
. Вам все равно придется создать объявление префикса для запроса SPARQL, если вам просто нужно подмножество всех объявлений префикса. В противном случае используйте методquery.setPrefixMapping
- person UninformedUser   schedule 10.01.2019