Hello,

I have inserted this data set on a TDB-backed database, with the `tdb:unionDefaultGraph` option set to true:

INSERT DATA {
  GRAPH <urn:g:1> {
    <urn:s:1> <urn:p:1> <urn:o:1> .
    <urn:s:1> <urn:p:1> <urn:o:2> .
  }
}


If I query the default graph I can see the triples:

SELECT * {
  ?s ?p ?o .
}

However, if I try to delete triples from the default graph without naming the named graph, the triples won't go away:

DELETE {
  <urn:s:1> <urn:p:1> <urn:o:1> .
} WHERE {
  <urn:s:1> <urn:p:1> <urn:o:1> .
}

If I specify the named graph, or use a variable for it, the triple is deleted. However, I am using Python's RDFLib to manage the interaction with Fuseki and I don't have an easy way to perform an update query on a graph indicated by a variable.

The default Jena graph name `<urn:x-arq:UnionGraph>` won't work either.

My configuration is pretty standard:

@prefix : <http://base/#> .

@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix fuseki: <http://jena.apache.org/fuseki#> .


:service_tdb_all a fuseki:Service ;
        rdfs:label                    "TDB dev" ;
fuseki:dataset :tdb_dataset_readwrite ;
        fuseki:name                   "dev" ;
fuseki:serviceQuery "query" , "sparql" ; fuseki:serviceReadGraphStore "get" ; fuseki:serviceReadWriteGraphStore "data" ; fuseki:serviceUpdate "update" ; fuseki:serviceUpload "upload" .


:tdb_dataset_readwrite a tdb:DatasetTDB ; tdb:unionDefaultGraph true ;
        tdb:location  "/opt/fuseki/current/run/databases/dev" .


Is there any way I can specify a union graph IRI for update?

Thanks,
Stefano

Reply via email to