To be completely honest, simply because TDB2 is advertised as "next generation" storage for jena so I prefer to stick with the newer version and try to avoid any TDB problems that are fixed in TDB2. Besides, some graphs are GBs in size so loading them via tdb2.* utilities seems more appropriate to me than GB-size HTTP requests...
Sent: Sunday, November 11, 2018 at 4:49 PM From: ajs6f <[email protected]> To: [email protected] Subject: Re: DatasetTDB2 with separate namedGraphs Then let me ask a different question-- is there a reason in particular that you are using TDB2? TDB1 doesn't have the monotonically-increasing size issue, and you could use the well-defined and standardized SPARQL Graph Store protocol [1] to insert and delete graphs. ajs6f [1] https://www.w3.org/TR/sparql11-http-rdf-update/ > On Nov 11, 2018, at 10:42 AM, Laura Morales <[email protected]> wrote: > >> Is there some reason you don't just copy the graphs into one database? > > Because I need to swap graphs frequently, for example delete Graph1 and > insert Graph2. If I put all of them into the same dataset I would have to > manage the database size or tdb2.tdbcompact it often since the database only > increase in size if I'm right. So, with separate databases, I can just delete > the whole folder and replace it with something else. > > > > Sent: Sunday, November 11, 2018 at 4:32 PM > From: ajs6f <[email protected]> > To: [email protected] > Subject: Re: DatasetTDB2 with separate namedGraphs > Andy can comment further, but I'm not sure that's possible. Is there some > reason you don't just copy the graphs into one database? > > In any event, what you have written down now as assembler RDF shows a > tdb2:GraphTDB2 being declared with a tdb2:location and no name. I don't think > that's correct. Here is an example that might be more on point: > > https://github.com/apache/jena/blob/master/jena-db/jena-tdb2/testing/Assembler/tdb-named-graph-2.ttl[https://github.com/apache/jena/blob/master/jena-db/jena-tdb2/testing/Assembler/tdb-named-graph-2.ttl] > > ajs6f > >> On Nov 11, 2018, at 10:23 AM, Laura Morales <[email protected]> wrote: >> >> More or less, yes. >> I want 2 separate TDB2 databases, each one containing 1 graph. And I want a >> dataset that is defined by using those graphs from the separate databases. >> So, the dataset should have a graph called Graph1 located at ~/graph1 and >> another graph called Graph2 located at ~/graph2. >> Then I'd like to query it like this: SELECT * FROM Graph1... >> >> >> >> Sent: Sunday, November 11, 2018 at 3:54 PM >> From: ajs6f <[email protected]> >> To: [email protected] >> Subject: Re: DatasetTDB2 with separate namedGraphs >> I'm not quite sure what you're trying to do here-- are you trying to extract >> one named graph from one TDB2 database, another named graph from another >> TDB2 database, and present them via Fuseki as a single dataset? >> >> ajs6f >> >>> On Nov 11, 2018, at 9:49 AM, Laura Morales <[email protected]> wrote: >>> >>> Can somebody please help me with configuring an assembler file for >>> DatasetTDB2 with multiple namedGraphs in separate files? I have this >>> configuration but it doesn't work >>> >>> ====================================================================== >>> PREFIX fuseki: >>> <http://jena.apache.org/fuseki#[http://jena.apache.org/fuseki#][http://jena.apache.org/fuseki#[http://jena.apache.org/fuseki#]]> >>> 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#]]]> >>> 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 tdb2: >>> <http://jena.apache.org/2016/tdb#[http://jena.apache.org/2016/tdb#][http://jena.apache.org/2016/tdb#[http://jena.apache.org/2016/tdb#]][http://jena.apache.org/2016/tdb#[http://jena.apache.org/2016/tdb#][http://jena.apache.org/2016/tdb#[http://jena.apache.org/2016/tdb#]]]> >>> PREFIX text: >>> <http://jena.apache.org/text#[http://jena.apache.org/text#][http://jena.apache.org/text#[http://jena.apache.org/text#]][http://jena.apache.org/text#[http://jena.apache.org/text#][http://jena.apache.org/text#[http://jena.apache.org/text#]]]> >>> >>> :dataset a ja:RDFDataset . >>> >>> :dataset ja:namedGraph >>> [ >>> ja:graphName >>> <http://example.org/graph1[http://example.org/graph1][http://example.org/graph1[http://example.org/graph1]][http://example.org/graph1[http://example.org/graph1][http://example.org/graph1[http://example.org/graph1]]]> >>> ; >>> ja:graph >>> [ >>> a tdb2:GraphTDB2 ; >>> tdb2:location "/path/to/dataset1/" ; >>> ] >>> ] . >>> >>> :dataset ja:namedGraph >>> [ >>> ja:graphName >>> <http://example.org/graph2[http://example.org/graph2][http://example.org/graph2[http://example.org/graph2]][http://example.org/graph2[http://example.org/graph2][http://example.org/graph2[http://example.org/graph2]]]> >>> ; >>> ja:graph >>> [ >>> a tdb2:GraphTDB2 ; >>> tdb2:location "/path/to/dataset2/" ; >>> ] >>> ] . >>> ====================================================================== >>> >>> I get this error when I try to query it: >>> >>> org.apache.jena.sparql.ARQException: No such type: >>> <http://jena.apache.org/2016/tdb#DatasetTDB2[http://jena.apache.org/2016/tdb#DatasetTDB2][http://jena.apache.org/2016/tdb#DatasetTDB2[http://jena.apache.org/2016/tdb#DatasetTDB2]][http://jena.apache.org/2016/tdb#DatasetTDB2[http://jena.apache.org/2016/tdb#DatasetTDB2][http://jena.apache.org/2016/tdb#DatasetTDB2[http://jena.apache.org/2016/tdb#DatasetTDB2]]]> >>> at >>> org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:122) >>> at tdb2.cmdline.ModTDBDataset.createDataset(ModTDBDataset.java:82) >>> at arq.cmdline.ModDataset.getDataset(ModDataset.java:36) >>> at arq.query.getDataset(query.java:176) >>> at arq.query.queryExec(query.java:213) >>> at arq.query.exec(query.java:153) >>> at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) >>> at jena.cmd.CmdMain.mainRun(CmdMain.java:58) >>> at jena.cmd.CmdMain.mainRun(CmdMain.java:45) >>> at tdb2.tdbquery.main(tdbquery.java:30) >> >
