Как запросить конкретный именованный граф в Jena TDB?
Я пробую уроки Йены здесь. С этим вопросом я сталкиваюсь с подобной проблемой, но она не решает мою проблему. Я уже загрузил свои данные в TDB и когда я запрашиваю с SELECT DISTINCT ?g {GRAPH ?g {}}
, Результаты приведены ниже:
-----------------
| g |
=================
| <ds-ng-1.ttl> |
| <ds-ng-2.ttl> |
-----------------
но когда я пытаюсь сделать запрос с помощью следующего запроса в tdb, у меня нет результатов.
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <.>
SELECT ?title
{
GRAPH :ds-ng-2.ttl
{ ?b dc:title ?title }
}
По аналогичному вопросу, который я упоминал выше, @RobV упомянул
Если вы получите абсолютный URI, тогда вы можете указать его непосредственно в исходном запросе, а если нет, то нет способа запросить его из командной строки.
Я хотел бы спросить, это реально? Если так, как я могу использовать API для выполнения этого запроса? Мои коды следующие:
String directory = "path_to\\datasets\\data_graph\\tdbtest";
Dataset dataset = TDBFactory.createDataset(directory);
Model tdb = dataset.getDefaultModel();
String queryString = "PREFIX dc:<http://purl.org/dc/elements/1.1/> \nPREFIX : <.> \nSELECT ?title { GRAPH :ds-ng-2.ttl { ?b dc:title ?title }}";
Query query = QueryFactory.create(queryString);
try(QueryExecution qexec = QueryExecutionFactory.create(query, tdb)){
ResultSet results = qexec.execSelect();
ResultSetFormatter.out(System.out, results, query) ;
}
Но я все еще получаю сейчас результаты. Я не уверен, как выбрать несколько моделей, неважно, модель по умолчанию или названная модель.