2

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

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> ;
   .
kam13
  • 21
  • 1

0 Answers0