Я обслуживаю набор данных, содержащий 10-20 именованных графов из набора данных TDB в Fuseki 2. Я хотел бы использовать рассуждения для вывода моих данных. Поведение, которое я хотел бы видеть, заключается в том, что тройки, выведенные в пределах каждого графа, должны появиться внутри этих графов (хотя было бы хорошо, если бы тройки также появлялись в графе по умолчанию). Есть ли простой способ настроить это? Я не нашел никаких примеров конфигурации, соответствующих тому, что я пытаюсь сделать.
Конфигурация, которую я пробовал, очень похожа на следующий стандартный пример.
Набор данныхTDB -> GraphTDB -> InfModel -> RDFDataset
Окончательный вид данных, которые я вижу, представляет собой лишь очень маленькое подмножество данных (похоже, что все названные графы отброшены где-то вдоль этого конвейера, и остался только крошечный граф по умолчанию). Использование tdb: unionDefaultGraph, похоже, на это не влияет.
prefix : <#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
# Example of a data service with SPARQL query and update on an
# inference model. Data is taken from TDB.
## ---------------------------------------------------------------
## Service with only SPARQL query on an inference model.
## Inference model base data is in TDB.
<#service2> rdf:type fuseki:Service ;
fuseki:name "inf" ; # http://host/inf
fuseki:serviceQuery "sparql" ; # SPARQL query service
fuseki:serviceUpdate "update" ;
fuseki:dataset <#dataset> ;
.
<#dataset> rdf:type ja:RDFDataset ;
ja:defaultGraph <#model_inf> ;
.
<#model_inf> a ja:InfModel ;
ja:baseModel <#tdbGraph> ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
## Base data in TDB.
<#tdbDataset> rdf:type tdb:DatasetTDB ;
tdb:location "DB" ;
# If the unionDefaultGraph is used, then the "update" service should be removed.
# tdb:unionDefaultGraph true ;
.
<#tdbGraph> rdf:type tdb:GraphTDB ;
tdb:dataset <#tdbDataset> .
</code>
Есть у кого-нибудь мысли по этому поводу?
Кроме того, бонусные баллы, если есть способ сделать набор данных доступным для записи. (На каком-то уровне я пытаюсь приблизиться к поведению Owlim / GraphDB по умолчанию, которое сохраняет постоянные именованные графы, делает логические выводы, а также допускает обновления.)
Заранее спасибо.