Thank you for the response, Andy. Unfortunately I can’t reproduce what you describe here. I started Fuseki 5.1 with a config file using the config you gave me here. I then used the Fuseki “add data” to upload a TriG file with the data in your example. When I go to query the default graph, I don’t see any matches for :x. If I do a SELECT * WHERE { GRAPH ?g { :x rdf:type ?T }} I only get :x :graph1
Did you run your test different somehow? A second question. I thought maybe the inference would appear after re-starting Fuseki, but the data was erased. I would have thought that { :tdbDataset a tdb:DatasetTDB } meant the data was saving in TDB, but it doesn’t seem to be persistent. Why is that? Thanks again for all your efforts -- Scott From: Andy Seaborne <a...@apache.org> Sent: Thursday, September 12, 2024 6:10 AM To: users@jena.apache.org Subject: [EXTERNAL] Re: Using Fuseki to query the union of datasets - with inference CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. Hi Scott, On 09/09/2024 21:28, Scott Henninger wrote: > Thank you for the config for unionDefaultGraph, Andy. I am able to see the > data both in the named graph and the default graph with your config. Now I > want to add inference to the default graph. In that case I do need to go > through a model, correct? > > Below is a config that I’m trying that doesn’t do what I want. I cannot see > the triples in the default graph and no inferences are created. What am I > doing wrong here? Specifically what would a config look like that performs > inferences that appear in the default graph? tdb:unionDefaultGraph only makes the SPARQL default graph appear as the union of named graphs. To get the inference code to see a union graph, try a named graph of <urn:x-arq:UnionGraph> The tdb:unionDefaultGraph can be removed unless you want to have (non-inference) access to the dataset. ----- :defaultDataset a ja:RDFDataset ; ja:defaultGraph :infModel ; . :infModel a ja:InfModel ; ja:baseModel :tdbGraph ; ja:reasoner [ ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner<http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>> ; ] ; . :tdbGraph a tdb:GraphTDB ; tdb:dataset :tdbDataset ; tdb:namedGraph <urn:x-arq:UnionGraph> ## ******* . :tdbDataset a tdb:DatasetTDB ; tdb:location "DB" ; . ----- I tried (TriG): ----------- GRAPH :graph1 { :x rdf:type :T1 . } GRAPH :graph2 { :T1 rdfs:subClassOf :T2 . } ----------- query: SELECT * { :x rdf:type ?T } and got T1 and T2. > :service1 rdf:type fuseki:Service ; > fuseki:name "union-graph-inference" ; > fuseki:serviceQuery "sparql" ; > fuseki:dataset : defaultDataset; > . > :defaultDataset a ja:RDFDataset ; > ja:defaultGraph :infModel ; > . > :infModel a ja:InfModel ; > ja:baseModel :tdbGraph ; > ja:reasoner [ > ja:reasonerURL > <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner<http://jena.hpl.hp.com/2003/OWLFBRuleReasoner><http://jena.hpl.hp.com/2003/OWLFBRuleReasoner<http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>>> > ; > ] ; > . > :tdbGraph a tdb:GraphTDB ; > tdb:dataset :tdbDataset ; > . > :tdbDataset a tdb:DatasetTDB ; NB This is TDB1. It should not affect this query but TDB2 is a better choice long term. Both work in the illustration above. TDB2 is more robust and work better in Fuseki. > tdb:location "DB" ; > tdb:unionDefaultGraph true ; > . > > > Thanks for all your help > -- Scott > > From: Andy Seaborne <a...@apache.org<mailto:a...@apache.org>> > Sent: Saturday, August 24, 2024 9:52 AM > To: users@jena.apache.org<mailto:users@jena.apache.org> > Subject: Re: [EXTERNAL] Re: Using Fuseki to query the union of datasets > > CAUTION: This email originated from outside of the organization. Do not click > links or open attachments unless you recognize the sender and know the > content is safe. > > > > On 24/07/2024 20:08, Scott Henninger wrote: >> Thank you for the response, Pedro. However it seems to me that I am already >> applying the approach you reference in the page. See lines 35-37 int the >> config file I included. Perhaps I am applying it wrong? If so, where am I >> going wrong? > > You don't need to go through a model. Connect the fuseki:Service to the > dataset with tdb:unionDefaultGraph > > > :service1 rdf:type fuseki:Service ; > fuseki:name "union-graph" ; > fuseki:serviceQuery "sparql" ; > fuseki:dataset :tdbDataset ; > > :tdbDataset rdf:type tdb:DatasetTDB ; > tdb:location "DB" ; > tdb:unionDefaultGraph true ; > . > > Andy > >> >> -- Scott >> >> From: Pedro >> <pedro.win.s...@googlemail.com.INVALID<mailto:pedro.win.s...@googlemail.com.INVALID<mailto:pedro.win.s...@googlemail.com.INVALID%3cmailto:pedro.win.s...@googlemail.com.INVALID>>> >> Sent: Tuesday, July 23, 2024 4:35 PM >> To: >> users@jena.apache.org<mailto:users@jena.apache.org<mailto:users@jena.apache.org%3cmailto:users@jena.apache.org>> >> Subject: [EXTERNAL] Re: Using Fuseki to query the union of datasets >> >> CAUTION: This email originated from outside of the organization. Do not >> click links or open attachments unless you recognize the sender and know the >> content is safe. >> >> Hi Scott >> >> Look at the TDB and TDB2 examples in >> https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html<https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html><https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html<https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html>><https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html<https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html><https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html<https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html>>> >> >> Uncomment the line >> >> tdb:unionDefaultGraph true; >> >> Cheers! >> >> On Tue, 23 Jul 2024, 22:29 Scott Henninger, >> <scott.hennin...@ecstech.com<mailto:scott.hennin...@ecstech.com<mailto:scott.hennin...@ecstech.com%3cmailto:scott.hennin...@ecstech.com<mailto:scott.hennin...@ecstech.com%3cmailto:scott.hennin...@ecstech.com%3cmailto:scott.hennin...@ecstech.com%3cmailto:scott.hennin...@ecstech.com>>>> >> wrote: >> >>> I am attempting to use Fuseki to query the union of a set of datasets. I >>> am using the following configuration to define a TDB dataset named >>> "union-graph" and setting tdb:unionDefaultGraph to true to query the union >>> of the datasets. However when I query "union-graph" I do not see the >>> triples from the datasets I have populated. How can I configure Fuseki to >>> query the union of datasets? >>> >>> Thank you >>> -- Scott >>> >>> @prefix : <#> . >>> @prefix fuseki: >>> <http://jena.apache.org/fuseki#<http://jena.apache.org/fuseki#><http://jena.apache.org/fuseki#<http://jena.apache.org/fuseki#>><http://jena.apache.org/fuseki#<http://jena.apache.org/fuseki#><http://jena.apache.org/fuseki#<http://jena.apache.org/fuseki#>>>> >>> . >>> @prefix rdf: >>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#><http://www.w3.org/1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>><http://www.w3.org/1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#><http://www.w3.org/1999/02/22-rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>>>> >>> . >>> >>> @prefix rdfs: >>> <http://www.w3.org/2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#><http://www.w3.org/2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>><http://www.w3.org/2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#><http://www.w3.org/2000/01/rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>>>> >>> . >>> @prefix tdb: >>> <http://jena.hpl.hp.com/2008/tdb#<http://jena.hpl.hp.com/2008/tdb#><http://jena.hpl.hp.com/2008/tdb#<http://jena.hpl.hp.com/2008/tdb#>><http://jena.hpl.hp.com/2008/tdb#<http://jena.hpl.hp.com/2008/tdb#><http://jena.hpl.hp.com/2008/tdb#<http://jena.hpl.hp.com/2008/tdb#>>>> >>> . >>> @prefix ja: >>> <http://jena.hpl.hp.com/2005/11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#><http://jena.hpl.hp.com/2005/11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>><http://jena.hpl.hp.com/2005/11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#><http://jena.hpl.hp.com/2005/11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>>>> >>> . >>> >>> [] rdf:type fuseki:Server ; >>> fuseki:services ( >>> :service1 >>> ) . >>> >>> # Custom code. >>> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" . >>> >>> # TDB >>> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset . >>> tdb:GraphTDB rdfs:subClassOf ja:Model . >>> >>> :service1 rdf:type fuseki:Service ; >>> fuseki:name "union-graph" ; >>> fuseki:serviceQuery "sparql" ; >>> fuseki:dataset :dataset ; >>> . >>> >>> :dataset rdf:type ja:RDFDataset ; >>> ja:defaultGraph :model_default ; >>> . >>> >>> :model_default a ja:InfModel ; >>> ja:baseModel :tdbGraph ; >>> . >>> >>> :tdbDataset rdf:type tdb:DatasetTDB ; >>> tdb:location "DB" ; >>> tdb:unionDefaultGraph true ; >>> . >>> >>> :tdbGraph rdf:type tdb:GraphTDB ; >>> tdb:dataset :tdbDataset ; >>> . >>> >>>