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


Reply via email to