On 08/02/2021 17:03, Sushanth Vaddaram wrote:
Hi,

We are using the following configuration where both the services dip and 
dipWithoutInf use the same databases

Now when dip_backup service which doesn't use reasoner updates the database, how can we 
tell the other service "dip" to infer from latest data and provide results from 
database rather than the memory where it created the graph previously

You should access (query and update) the database via the inference service otherwise the inference will not see the changes.

The direct route is only useful to see, not update, the un-inferred data if there are any forward rules. (All backwards rules might work.)

    Andy


@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 tdb2:  <http://jena.apache.org/2016/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] rdf:type fuseki:Server ;
    fuseki:services (   
      <#dip>
      <#dipWithoutInf>
    ) .

# TDB
#[] ja:loadClass "org.apache.jena.tdb.TDB" .
#tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
#tdb:GraphTDB    rdfs:subClassOf  ja:Model .

## ---------------------------------------------------------------

<#dipWithoutInf> rdf:type fuseki:Service ;
     # URI of the dataset -- http://host:port/dip
     fuseki:name                        "dip_backup" ;
     fuseki:serviceQuery                "sparql" ;
     fuseki:serviceQuery                "query" ;
     fuseki:serviceUpdate               "update" ;
     fuseki:serviceUpload               "upload" ;
     fuseki:serviceReadWriteGraphStore  "data" ;
     fuseki:serviceReadGraphStore       "get" ;
     fuseki:dataset           <#tdb_dataset_readwrite_without_inf>;
     .

<#tdb_dataset_readwrite_without_inf> rdf:type      tdb2:DatasetTDB2 ;
     tdb2:location "C:\\etc\\fuseki/databases/dip5";
     ## This is supported: tdb2:unionDefaultGraph true ;

The similar statement below on the graph below will have no effect.

        .

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

#TBD
<#dip_tbd> rdf:type ja:RDFDataset ;
      ja:defaultGraph <#infModel>  ;      
         tdb:fileMode "direct" ;
         .

<#infModel>  a ja:InfModel ;
       ja:baseModel <#tdbGraph>;
       ja:reasoner
          [ja:reasonerURL
              <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>].

<#tdbGraph>  rdf:type tdb2:GraphTDB ;
        tdb2:location "C:\\etc\\fuseki/databases/dip5" ;
        tdb2:unionDefaultGraph true ;

Applies to databases, not graphs.


        .Thanks,
Sushanth Vadaram
        

Reply via email to