New to fuseki/jena here. I managed to get fuseki to run with OWLFBRuleReasoner using tdb1 no problem, but can't make it work with tdb2 (http://jena.apache.org/2016/tdb#). I could not find an explicit example of configuration that uses both TDB2 and OWLFBRuleReasoner, so I just converted this one (that works)
@prefix : <http://base/#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
# fuseki configuration to have OWL entailment
# this is the configuration on s-stf-gin (fuseki data folder is on c:\)
:service_tdb_all a fuseki:Service ;
rdfs:label "TDB gsip" ;
fuseki:dataset :tdb_dataset_readwrite ;
fuseki:name "gsip" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore
"data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .
# above, remove data, update and upload in prod
:tdb_dataset_readwrite
a ja:RDFDataset;
rdfs:label "GSIP";
ja:defaultGraph <#model_inf> ;
tdb:location "c:\\fuseki/databases/gsip" .
<#model_inf> a ja:InfModel ;
ja:baseModel <#graph> ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
<#graph> rdf:type tdb:GraphTDB ;
tdb:dataset :tdb_dataset_readwrite .
(this one works fine. I tested with a owl:inverseOf property)
into this one (that does not work)
@prefix : <http://base/#> .
@prefix tdb2: <http://jena.apache.org/2016/tdb#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
:service_tdb_all a fuseki:Service ;
fuseki:dataset :dataset ;
fuseki:name "gsip" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .
:dataset a ja:RDFDataset ;
ja:defaultGraph <#model_inf> ;
tdb2:location "c:\\fuseki/databases/gsip"
.
<#model_inf> a ja:InfModel ;
ja:baseModel <#graph> ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
<#graph> rdf:type tdb2:GraphTDB ; # also tried tdb2:GraphTDB2
tdb2:dataset :dataset .
As you can see, I basically just replace tdb with tdb2 (namespaces and all). Fuseki starts and runs fine, but OWL inference does not work.
Anyone can point me to relevant documentation / example ? or maybe I totally misunderstood TDB1 vs TDB2 deal.
Thanks you
EDIT: fixed my TDB2 configuration file (still does not work).