urn:x-arq:UnionGraph should work.

Maybe try with a simpler setup first:

<#service>
    rdf:type      fuseki:Service ;
    fuseki:name   "ds" ;
    fuseki:endpoint [
        fuseki:operation fuseki:query ;
        fuseki:name "sparql" ] ;
    fuseki:endpoint [ fuseki:operation fuseki:query ] ;
    fuseki:dataset <#dataset> .



<#dataset> rdf:type ja:RDFDataset ;
     ja:defaultGraph <#tdbGraph> ;
     .

<#tdbGraph> rdf:type tdb:GraphTDB ;
     tdb:dataset <#tdbDataset> ;
     tdb:graphName "urn:x-arq:UnionGraph" ;
     .

<#tdbDataset> rdf:type tdb:DatasetTDB ;
     tdb:location "DB" ;
.

which worked for me.

    Andy

On 08/11/2020 21:51, Kamel HOUCHAT wrote:
Hello,

Context

i am new to fuseki, i am currently using it in a project, the main idea is:

   *   start the server with a pre-defined ontology (turtle file) + a reasoner
   *   I process files with python, and for each file, I generate an rdf graph 
that I put in a named graph
   *   finally, I would like to query on all the subgraphs

My current configuration

@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 (
         <#lmdrservice>
     ) .

# TDB
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .

<#lmdrservice> rdf:type fuseki:Service ;
     fuseki:name "lmdr" ; # http://host/inf
     fuseki:serviceQuery "query" , "sparql" ;
     fuseki:serviceUpdate "update" ;
     fuseki:serviceUpload "upload" ;
     fuseki:serviceReadWriteGraphStore "data" ;
     fuseki:serviceReadGraphStore "get" ;
     fuseki:dataset <#dataset> ;
     .

<#dataset> rdf:type ja:RDFDataset ;
     ja:defaultGraph <#model> ;
     ja:namedGraph
         [ ja:graphName      <http://www.example.com/ontology> ;
           ja:graph          <#ontology> ] ;
     .

<#ontology> rdf:type ja:MemoryModel ;
      ja:content [ja:externalContent <file:/fuseki/lmdr.ttl> ] ;
      .

<#model> a ja:InfModel ;
     ja:baseModel <#tdbGraph> ;
     ja:reasoner [
           ja:rulesFrom <file:/fuseki/configuration/lmdr_rules.rules> ;
     ] ;
     .

<#tdbGraph> rdf:type tdb:GraphTDB ;
     tdb:dataset <#tdbDataset>
     .

<#tdbDataset> rdf:type tdb:DatasetTDB ;
     tdb:location "/fuseki/databases/lmdr" ;
     tdb:unionDefaultGraph true
     .


What doesn't work

Sparql queries are not executed on all named graphs,the problem probably comes 
from the argument :

tdb:unionDefaultGraph true

Yes - that is done on a query, but not on graph extracted from a database.

What i've tried

I tried many other different configurations, for example:

   *   specify this in the server description part

     fuseki:endpoint [
         fuseki:operation fuseki:query ;
         fuseki:name      "sparql-union" ;
         ja:context [ ja:cxtName "tdb:unionDefaultGraph" ; ja:cxtValue true ] ;
     ] ;


   *   Using urn:x-arq:UnionGraph as the name of the graph, which means that it 
is the union of the named graphs

    :g rdf:type tdb:GraphTDB ;
         tdb:dataset :tdbDataset ;
         tdb:graphName <urn:x-arq:UnionGraph> ;



    .



Reply via email to