> <#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> .



Reply via email to