> <#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/TransitiveReasoner>
> #ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>
> #ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMiniFBRuleReasoner>
> ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
> ] .
> <#tdbGraph> rdf:type tdb:GraphTDB ;
> tdb:dataset <#tdbDataset> .
You have the inference engine only over the default graph.
If you point <#tdbGraph> to a different graph it should work. It will
appear as the default graph of the dataset, unless you change
ja:defaultGraph to
ja:namedGraph [ ja:graph <#yourgraph> ; ja:graphName <http://whatever> ]
Andy
On 09/10/13 13:36, Guy Laden wrote:
We are running into an issue trying to use reasoning with Fuseki over
owl:TransitiveProperties.
Our example (below) works when the triples are uploaded into the default
graph but when we upload them to a named graph reasoning doesn't seem to
work. (We have tried querying both the named graph and the default graph)
The triples
--------------
<http://localhost/onto#prop1> a
<http://www.w3.org/2002/07/owl#TransitiveProperty> .
<http://localhost:9090/part1> <http://localhost/onto#prop1>
<http://localhost:9090/part2> .
<http://localhost:9090/part2> <http://localhost/onto#prop1>
<http://localhost:9090/part3> .
<http://localhost:9090/part3> <http://localhost/onto#prop1>
<http://localhost:9090/part4> .
The query
-------------
SELECT DISTINCT * where {
{
GRAPH ?g {
<http://localhost:9090/part1> <http://localhost/onto#prop1> ?part .
}
} UNION {
<http://localhost:9090/part1> <http://localhost/onto#prop1> ?part .
}
}
When we upload to some named graph we get no results (even if
unionDefaultGraph is set to true)
When we upload to the default graph the results we get are:
| part |
=================================
| <http://localhost:9090/part2> |
| <http://localhost:9090/part3> |
| <http://localhost:9090/part4> |
---------------------------------
We tried the query like above, with the UNION, as well as with each variant
separately.
We have tried both fuseki 1.0.0 and 0.2.7
Below is the Fuseki config file we are using.
What are we missing?
Thanks, Guy
------------------------
@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#> .
[] rdf:type fuseki:Server ;
fuseki:services (
<#service1>
) .
# Custom code.
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
# TDB
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
## ---------------------------------------------------------------
## Service with only SPARQL query on an inference model.
## Inference model bbase data in TDB.
<#service1> rdf:type fuseki:Service ;
fuseki:name "ds" ; # http://host/inf
fuseki:serviceQuery "sparql" ; # SPARQL query service
fuseki:serviceUpdate "update" ;
fuseki:serviceQuery "query" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
# A separate read-only graph store endpoint:
fuseki:serviceReadGraphStore "get" ;
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/TransitiveReasoner>
#ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>
#ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLMiniFBRuleReasoner>
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] .
<#tdbDataset> rdf:type tdb:DatasetTDB ;
tdb:location "DB" ;
# If the unionDefaultGraph is used, then the "update" service should be
removed.
# The unionDefaultGraph is read only.
#tdb:unionDefaultGraph true ;
.
<#tdbGraph> rdf:type tdb:GraphTDB ;
tdb:dataset <#tdbDataset> .