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" <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: Re: DatasetTDB2 with separate namedGraphs
Andy: is this possible?
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#][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)
>