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 > > 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#]> >>> 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#]]> >>> 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#]]> >>> 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#]]> >>> 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#]]> >>> 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#]]> >>> PREFIX 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]]> >>> ; >>> 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]]> >>> ; >>> 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]]> >>> 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) >> >
