On 16/01/2019 16:04, Svensson, Lars wrote:
On Wednesday, January 16, 2019 5:02 PM, ajs6f [mailto:[email protected]] wrote:
Yes, the approach that Andy suggested in an email earlier today (use _one_ TDB2
instance, load your graphs into different named graphs in it, and enable the
"default
graph = union graph" option) is the right choice.
OK, thanks for confirming this. What I haven't understood so far is how to load
a set of n-triples into a named graph in a TDB2 dataset. Can you give any hints
on that?
As ajs6f says "tdb2.tdbloader --graph"
or in the server with update available:
s-put "http://localhost:3030/ds2" "https://example/ng2" TheData.nt
or the Fuseki UI
or (there are many ways!) write a little script to turn the N-triples
files into one big N-quads file and load it either way.
Andy
Thanks,
Lars
On Jan 16, 2019, at 10:50 AM, Svensson, Lars <[email protected]> wrote:
On Wednesday, January 16, 2019 4:17 PM, ajs6f [mailto:[email protected]]
wrote:
I'm not quite sure what's going on here. It looks like you are trying to load
entire
datasets as named graphs in another dataset, but that doesn't make any sense.
Datasets contain graphs. You can't shove an entire dataset into a graph.
Are you trying to extract a particular graph from each of these datasets to
insert
into
another?
Perhaps you can tell us a bit more about what you are trying to accomplish here,
and
we can help you find out how to do that.
My use case is that I have some (fairly large) RDF files (in n-triples) that I
want to
expose through Fuseki.
The contents of each file must be in its own named graph.
I also want the default graph to be the union of all the named graphs.
So far I have loaded each RDF file into its own TDB2 store, but if I understand
you
correctly that is the wrong approach...
Thanks,
Lars
On Jan 16, 2019, at 4:25 AM, Svensson, Lars <[email protected]> wrote:
Greetings,
I have several TDB2 datasets that I want to expose as named graphs and as a
joint dataset. My basic idea is to have each TDB2 dataset as its own graph and
then
a joint dataset combining all graphs with the default graph being the union of
all
named graphs. My configuration is:
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb2: <http://jena.hpl.hp.com/2016/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix : <#> .
<#service1> rdf:type fuseki:Service ;
fuseki:name "/dnb" ; # http://host:port/dnb
fuseki:serviceQuery "query" ; # SPARQL query service
fuseki:serviceReadGraphStore "data" ; # SPARQL Graph store protocol
(read only)
fuseki:dataset <#dnb> ;
.
<#dnb> a ja:RDFDataset ;
tdb2:unionDefaultGraph true ;
ja:namedGraph [
ja:graphName <https://d-nb.info/datasets/authorities#dataset> ;
ja:graph <#authorities>
];
ja:namedGraph [
ja:graphName <https://d-nb.info/datasets/bib#dataset> ;
ja:graph <#bib>
];
ja:namedGraph [
ja:graphName <https://d-nb.info/datasets/dnb-all#dataset> ;
ja:graph <#dnb-all>
];
ja:namedGraph [
ja:graphName <https://d-nb.info/datasets/zdb#dataset> ;
ja:graph <#zdb>
];
.
<#authorities> a tdb2:GraphTDB ;
tdb2:dataset <#dataset-authorities> .
<#bib> a tdb2:GraphTDB ;
tdb2:dataset <#dataset-bib> .
<#dnb-all> a tdb2:GraphTDB ;
tdb2:dataset <#dataset-dnb-all> .
<#zdb> a tdb2:GraphTDB ;
tdb2:dataset <#dataset-zdb> .
<#dataset-authorites> a tdb2:DatasetTDB ;
tdb2:location "/home/svensson/fuseki-data/dnb/authorities/" .
<#dataset-bib> a tdb2:DatasetTDB ;
tdb2:location "/home/svensson/fuseki-data/dnb/bib/" .
<#dataset-dnb-all> a tdb2:DatasetTDB ;
tdb2:location "/home/svensson/fuseki-data/dnb/dnb-all/" .
<#dataset-zdb> a tdb2:DatasetTDB ;
tdb2:location "/home/svensson/fuseki-data/dnb/zdb/" .
When I start Fuseki, I get the following error message:
[2019-01-15 11:14:13] Server ERROR Exception in initialization: the root
file:///home/svensson/apache-jena-fuseki-
3.10.0/run/configuration/service1.ttl#authorities has no most specific type that
is a
subclass of ja:Object
[2019-01-15 11:14:13] WebAppContext WARN Failed startup of context
o.e.j.w.WebAppContext@46044faa{Apache Jena Fuseki
Server,/,file:///home/svensson/apache-jena-fuseki-
3.10.0/webapp/,UNAVAILABLE}
org.apache.jena.assembler.exceptions.NoSpecificTypeException: the root
file:///home/svensson/apache-jena-fuseki-
3.10.0/run/configuration/service1.ttl#authorities has no most specific type that
is a
subclass of ja:Object
doing:
root: file:///home/svensson/apache-jena-fuseki-
3.10.0/run/configuration/service1.ttl#dnb with type:
http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset assembler class: class
org.apache.jena.sparql.core.assembler.DatasetAssembler
Have I missed something obvious?
Thanks in advance,
Lars