OK maybe this is something interesting. This is my assembler file:
============================================================
PREFIX : <http://example.org/>
PREFIX fuseki: <http://jena.apache.org/fuseki#>
PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#>
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 tdb2: <http://jena.apache.org/2016/tdb#>
PREFIX text: <http://jena.apache.org/text#>
<#dataset> rdf:type ja:RDFDataset ;
ja:namedGraph
[ ja:graphName :g1 ;
ja:graph :graph1 ] ;
ja:namedGraph
[ ja:graphName :g2 ;
ja:graph :graph2 ] ;
.
:graph1 a tdb:GraphTDB ;
tdb:location "g1";
.
:graph2 a tdb:GraphTDB ;
tdb:location "g2" ;
.
============================================================
With jena v3.9.0 I can *not* get this to work, when I run a query I see this error:
org.apache.jena.sparql.ARQException: No such type: <http://jena.hpl.hp.com/2008/tdb#DatasetTDB>
at org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:122)
at tdb.cmdline.ModTDBDataset.createDataset(ModTDBDataset.java:85)
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 tdb.tdbquery.main(tdbquery.java:33)
HOWEVER: this does seem to work with jena v3.0.0. If I execute this query
tdbquery --tdb config.ttl --query <(echo "select * where { graph <http://example.org/g2> {?s ?p ?o} } offset 1 limit 1")
I do see results as expected (from graph2). On the other hand this query
tdbquery --tdb config.ttl --query <(echo "select * from <http://example.org/g2> where {?s ?p ?o} offset 1 limit 1")
doesn't throw any errors but it returns zero results, which looks strange to me as I would expect it to return the same results of the previous query.
So is this some regression with jena v3.9.0? Or is it jena v3.0.0 that seems to work but shouldn't work instead?
Sent: Monday, November 12, 2018 at 8:25 AM
From: "Laura Morales" <***@mail.com>
To: ***@jena.apache.org
Cc: ***@jena.apache.org
Subject: Re: DatasetTDB2 with separate namedGraphs
Andy: is this possible?
Sent: Sunday, November 11, 2018 at 4:32 PM
From: ajs6f <***@apache.org>
To: ***@jena.apache.org
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
Post by Laura MoralesMore 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
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
Post by Laura MoralesCan 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/" ;
]
] .
======================================================================
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)