в версии 3.0.0, поскольку предполагаемые тройки добавляются в фактический граф (а не в значения по умолчанию, как раньше), можно ли каким-то образом экспортировать/извлекать фактический граф без предполагаемых троек? Большое спасибо.
RDF4j v3.0.0 Экспорт графа без выведенных троек
Ответы (1)
Да, это возможно.
1. Через Java API
Вы можете получить операторы из именованного графа http://example.org/graph1
несколькими способами. Показаны две альтернативы здесь:
IRI graph1 = valueFactory.createIRI("http://example.org/graph1");
try(RepositoryConnection conn = repository.getConnection()) {
// option 1: getStatements of everything in a named graph, setting
// includeInferred to false
RepositoryResult<Statement> result = conn.getStatement(null, null, null, false, graph1);
// option 2: using export with an RDFHandler (export never includes inferred triples)
RDFHandler collector = new StatementCollector();
conn.export(graph1, collector);
}
2. Через RDF4J Workbench
Самый простой способ сделать это в рабочей среде — использовать запрос SPARQL CONSTRUCT:
construct from <http://example.org/graph1> where { ?s ?p ?o }
Перед нажатием «Выполнить» убедитесь, что опция «включить предполагаемые операторы» не отмечена. Затем на экране результатов запроса выберите предпочтительный формат загрузки и нажмите «Загрузить».
person
Jeen Broekstra
schedule
26.09.2019
Большое спасибо. Я использую query=construct из ‹example.org/graph1›, где { ?s ?p ?o } с выводом =false для RDF4j Rest API.
- person Marko.V.; 26.09.2019