Hi Rui,

It is not currently possible to have newly created graph automatically be inference graphs.

What sort of rules do you have in mind? forward or backward?

----

I took a look at what it might take: it needs coding. (Dave, please check what I discovered when you have a moment (!!)).

DatasetGraphMap is the basic implementation of DatasetGraph which is a collection individual graph. One argument to the constructor is a GraphMaker.

So provide a GraphMaker that adds the inference capabalities makes a new Graph which is the inference graph over

This is making some assumptions:

* Inference does not span graphs.
* It's not inference over a default union graph - that has other considerations.
* The rules set isn't changing.

There is a specific issue for default union graph when changes happen. It is not going to see the changes that go into a named graph directly as it bypasses the default union graph.

The GraphMaker create graph need to call InfGraph.rebind() when the transaction commit occurs (in Fuseki, there is always a commit - it's always a transaction).

        Andy


On 20/06/17 22:05, Rui Zhang wrote:
Hi,
I face a problem, when I try to let my reasoner work on specific graph.
The process is this:
1. Initial the server by the attached ttl file. The file information is
attached below.
2. I know that the inference model has been built after initialization, and
I can use sparql to insert and select data by using fuseki.
     if I insert data into default graph, the inference results could be
obtained.
     The question is that, if inserting data into new graphs, I can not make
the reasoner work on these graph any more, I'm trying to find a way to
solve  it, because I want to clear the specific graph data and then insert
new information data frequently, and I also want to keep some basic
knowledge data in the default graph.



3. In the ttl configuration file, the "tdb:unionDefaultGraph true" is set,
the expected result should be the data from the union named graphs, if
selecting data in default. But the result is still from the original
default graph.

Could you help me figure out these problem?

Thanks and hoping for your reply!

Georege

@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#> .
## ---------------------------------------------------------------
[] ja:loadClass "org.apache.jena.tdb.TDB" .
tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model .

[] rdf:type fuseki:Server ;
    # Timeout - server-wide default: milliseconds.
    # Format 1: "1000" -- 1 second timeout
    # Format 2: "10000,60000" -- 10s timeout to first result, then 60s
timeout for the rest of query.
    # See java doc for ARQ.queryTimeout
    # ja:context [ ja:cxtName "arq:queryTimeout" ;  ja:cxtValue "10000" ] ;

    # ja:loadClass "your.code.Class" ;

    fuseki:services (
      <#reminer1>
    ) .

## ---------------------------------------------------------------
## Updatable in-memory dataset.
<#reminer1> rdf:type fuseki:Service ;
     # URI of the dataset -- http://host:port/reminer1
     fuseki:name                        "/test" ;
     fuseki:serviceQuery                "sparql" ;
     fuseki:serviceQuery                "query" ;
     fuseki:serviceUpdate               "update" ;
     fuseki:serviceUpload               "upload" ;
     fuseki:serviceReadWriteGraphStore  "data" ;
     fuseki:serviceReadGraphStore       "get" ;
     fuseki:dataset                     <#rdf_dataset> ;
     .


## In-memory, initially empty.
## This database set-up allows OWL inference.


<#rdf_dataset> rdf:type ja:RDFDataset ;
     ja:defaultGraph <#infGraph>;
     ##ja:defaultGraph <#modelDft>;
     .

<#infGraph> rdf:type ja:InfModel ;
         ja:reasoner [ ja:reasonerURL <http://jena.hpl.hp.com/2003/
GenericRuleReasoner> ];
         ja:rules: [ja:rulesFrom <file:./../rules/graphTest.rules>; ];
         ja:baseModel <#tdbGraph>;
     .

<#tdbGraph> rdf:type tdb:GraphTDB ;
     tdb:dataset <#tdb_datset> ;
     tdb:graphName <Graph_Test>;
     .

<#tdb_datset> rdf:type tdb:DatasetTDB ;
     tdb:location "db" ;
     tdb:unionDefaultGraph true ;
     .
## ---------------------------------------------------------------

Reply via email to