Reputation: 4001
I am looking for a way to run inference in Jena Fuseki across named graphs, preferably the union graph (i.e. across all of the named graphs). Is this possible? Below I have a configuration that will successfully infer triples in the default graph, but not across the named graphs. Is there a configuration that will perform inference across the named graphs? If not, what strategy have others employed to get this result?
@prefix : <http://base/#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb2: <http://jena.apache.org/2016/tdb#> .
# --- the basic fuseki service (endpoints) with pointer to dataset --
:service_tdb_all a fuseki:Service ;
rdfs:label "TDB2 INFER Dev" ;
#fuseki:dataset :tdb_dataset_readwrite ;
fuseki:dataset :dataset ;
fuseki:name "INFER-Dev" ;
fuseki:serviceQuery "query" , "" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadQuads "" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceReadWriteQuads "" ;
fuseki:serviceUpdate "" , "update" ;
fuseki:serviceUpload "upload" .
# --- define the default graph (with inference) and (later) named graphs ---
:dataset a ja:RDFDataset ;
ja:defaultGraph :model_inf .
# --- add inference to the default graph ---
:model_inf a ja:InfModel ;
ja:baseModel :graph ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
:graph rdf:type tdb2:GraphTDB ;
tdb2:dataset :tdb_dataset_readwrite ;
tdb2:graphName <urn:x-arq:UnionGraph> ;
.
:tdb_dataset_readwrite
a tdb2:DatasetTDB2 ;
tdb2:location "../Fuseki/run/databases/dev" .
Upvotes: 1
Views: 42