You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Yarc Yarc <mo...@gmail.com> on 2015/05/04 14:53:39 UTC
tdb:location problem
Hello,
I try to set up a fuseki endpoint wiith a jena tdb backend. This works as
expected when I use the --loc argument, but I can't get it to work if I
instead provide a config file with a tdb:location argument.
See listing #1 for usage with the --loc argument. A tdb file structure is
made in an empty directory and all seems well.
See listing #2 for usage with a config.ttl file. A tdb file structure is
not made in an empty directory.
Listing #3 details version information that might be relevant.
I guess the more likely hypothesis is that my assumption that --loc and the
tdb:location arguments work in an equivalent fashion is wrong. If that is
indeed the case, then my follow up question is; "how do I get fuseki to
create or reuse a tdb structure in a file location of my choosing from a
config file?"
I've tried to google this and read the documentation (
https://jena.apache.org/documentation/fuseki2/fuseki-run.html#fuseki-as-a-standalone%20server,
https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html)
without seeing where I go wrong.
Any and all help as to where I err is appreciated.
:-)
Morten F.
-----------------listing #1 -----------------
yarc@yarc-mainlinux /tmp $ mkdir testdb1
yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
--loc=/tmp/testdb1 /test1
[2015-05-04 14:33:07] Server INFO Running in read-only mode for /test1
[2015-05-04 14:33:07] Server INFO Fuseki 2.0.0 2015-03-08T09:49:20+0000
[2015-05-04 14:33:07] Config INFO FUSEKI_HOME=/local/fuseki
[2015-05-04 14:33:07] Config INFO FUSEKI_BASE=/tmp/run
[2015-05-04 14:33:07] Servlet INFO Initializing Shiro environment
[2015-05-04 14:33:07] Config INFO Shiro file: file:///tmp/run/shiro.ini
[2015-05-04 14:33:08] Config INFO Template file:
templates/config-tdb-dir
[2015-05-04 14:33:08] Config INFO TDB dataset: directory=/tmp/testdb1
[2015-05-04 14:33:08] Builder INFO Service: TDB /test1
[2015-05-04 14:33:08] Config INFO Register: /test1
[2015-05-04 14:33:08] Server INFO Started 2015/05/04 14:33:08 CEST on
port 3030
^C
yarc@yarc-mainlinux /tmp $ ls testdb1/
GOSP.dat GPOS.idn journal.jrnl nodes.dat OSPG.idn POSG.dat
prefix2id.dat prefixIdx.dat SPOG.dat tdb.lock
GOSP.idn GSPO.dat node2id.dat OSP.dat OSP.idn POSG.idn
prefix2id.idn prefixIdx.idn SPOG.idn
GPOS.dat GSPO.idn node2id.idn OSPG.dat POS.dat POS.idn
prefixes.dat SPO.dat SPO.idn
---------------------listing #2 -------------------
yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
--conf=./config.ttl
[2015-05-04 14:38:17] Server INFO Fuseki 2.0.0 2015-03-08T09:49:20+0000
[2015-05-04 14:38:17] Config INFO FUSEKI_HOME=/local/fuseki
[2015-05-04 14:38:17] Config INFO FUSEKI_BASE=/tmp/run
[2015-05-04 14:38:17] Servlet INFO Initializing Shiro environment
[2015-05-04 14:38:17] Config INFO Shiro file: file:///tmp/run/shiro.ini
[2015-05-04 14:38:17] Config INFO Configuration file: ./config.ttl
[2015-05-04 14:38:18] Server INFO Started 2015/05/04 14:38:18 CEST on
port 3030
^C
yarc@yarc-mainlinux /tmp $ ls testdb2
yarc@yarc-mainlinux /tmp $ less config.ttl
# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
@prefix : <#> .
@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 tdb: <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
# TDB
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
## ---------------------------------------------------------------
## Updatable TDB dataset with all services enabled.
<#service_tdb_all> rdf:type fuseki:Service ;
rdfs:label "TDB test2" ;
fuseki:name "test2" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadWriteGraphStore "data" ;
# A separate read-only graph store endpoint:
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#tdb_dataset_readwrite> ;
.
<#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ;
tdb:location "/tmp/testdb2" ;
##tdb:unionDefaultGraph true ;
.
-------------------listing #3 ---------------------
yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server --version
Jena: VERSION: 2.13.0
Jena: BUILD_DATE: 2015-03-08T09:49:20+0000
ARQ: VERSION: 2.13.0
ARQ: BUILD_DATE: 2015-03-08T09:49:20+0000
RIOT: VERSION: 2.13.0
RIOT: BUILD_DATE: 2015-03-08T09:49:20+0000
TDB: VERSION: 1.1.2
TDB: BUILD_DATE: 2015-03-08T09:49:20+0000
Fuseki: VERSION: 2.0.0
Fuseki: BUILD_DATE: 2015-03-08T09:49:20+0000
yarc@yarc-mainlinux /tmp $ java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Re: tdb:location problem
Posted by Yarc Yarc <mo...@gmail.com>.
Worked like a charm. Made my day :-)
Thanks.
M.
On Mon, May 4, 2015 at 7:38 PM, Andy Seaborne <an...@apache.org> wrote:
> Hi there,
>
> The documentation isn't clear - when run with --conf, the configuration
> file can contain several services and you need to say which are enabled
> (i.e. it's a Fuseki1 style file).
>
> The minimum you need to add, just after the prefixes, is:
>
> [] fuseki:services ( <#service_tdb_all> ) .
>
> Or with a whole server section:
>
> [] rdf:type fuseki:Server ;
> ... other configuration ...
> fuseki:services ( <#service_tdb_all> )
> .
>
> Andy
>
> Recorded as JENA-932
>
> On 04/05/15 13:53, Yarc Yarc wrote:
>
>> Hello,
>>
>> I try to set up a fuseki endpoint wiith a jena tdb backend. This works as
>> expected when I use the --loc argument, but I can't get it to work if I
>> instead provide a config file with a tdb:location argument.
>>
>> See listing #1 for usage with the --loc argument. A tdb file structure is
>> made in an empty directory and all seems well.
>> See listing #2 for usage with a config.ttl file. A tdb file structure is
>> not made in an empty directory.
>>
>> Listing #3 details version information that might be relevant.
>>
>> I guess the more likely hypothesis is that my assumption that --loc and
>> the
>> tdb:location arguments work in an equivalent fashion is wrong. If that is
>> indeed the case, then my follow up question is; "how do I get fuseki to
>> create or reuse a tdb structure in a file location of my choosing from a
>> config file?"
>>
>> I've tried to google this and read the documentation (
>>
>> https://jena.apache.org/documentation/fuseki2/fuseki-run.html#fuseki-as-a-standalone%20server
>> ,
>> https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html)
>> without seeing where I go wrong.
>>
>> Any and all help as to where I err is appreciated.
>>
>> :-)
>>
>> Morten F.
>>
>> -----------------listing #1 -----------------
>>
>> yarc@yarc-mainlinux /tmp $ mkdir testdb1
>> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
>> --loc=/tmp/testdb1 /test1
>> [2015-05-04 14:33:07] Server INFO Running in read-only mode for
>> /test1
>> [2015-05-04 14:33:07] Server INFO Fuseki 2.0.0
>> 2015-03-08T09:49:20+0000
>> [2015-05-04 14:33:07] Config INFO FUSEKI_HOME=/local/fuseki
>> [2015-05-04 14:33:07] Config INFO FUSEKI_BASE=/tmp/run
>> [2015-05-04 14:33:07] Servlet INFO Initializing Shiro environment
>> [2015-05-04 14:33:07] Config INFO Shiro file:
>> file:///tmp/run/shiro.ini
>> [2015-05-04 14:33:08] Config INFO Template file:
>> templates/config-tdb-dir
>> [2015-05-04 14:33:08] Config INFO TDB dataset: directory=/tmp/testdb1
>> [2015-05-04 14:33:08] Builder INFO Service: TDB /test1
>> [2015-05-04 14:33:08] Config INFO Register: /test1
>> [2015-05-04 14:33:08] Server INFO Started 2015/05/04 14:33:08 CEST on
>> port 3030
>> ^C
>> yarc@yarc-mainlinux /tmp $ ls testdb1/
>> GOSP.dat GPOS.idn journal.jrnl nodes.dat OSPG.idn POSG.dat
>> prefix2id.dat prefixIdx.dat SPOG.dat tdb.lock
>> GOSP.idn GSPO.dat node2id.dat OSP.dat OSP.idn POSG.idn
>> prefix2id.idn prefixIdx.idn SPOG.idn
>> GPOS.dat GSPO.idn node2id.idn OSPG.dat POS.dat POS.idn
>> prefixes.dat SPO.dat SPO.idn
>>
>> ---------------------listing #2 -------------------
>>
>> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
>> --conf=./config.ttl
>> [2015-05-04 14:38:17] Server INFO Fuseki 2.0.0
>> 2015-03-08T09:49:20+0000
>> [2015-05-04 14:38:17] Config INFO FUSEKI_HOME=/local/fuseki
>> [2015-05-04 14:38:17] Config INFO FUSEKI_BASE=/tmp/run
>> [2015-05-04 14:38:17] Servlet INFO Initializing Shiro environment
>> [2015-05-04 14:38:17] Config INFO Shiro file:
>> file:///tmp/run/shiro.ini
>> [2015-05-04 14:38:17] Config INFO Configuration file: ./config.ttl
>> [2015-05-04 14:38:18] Server INFO Started 2015/05/04 14:38:18 CEST on
>> port 3030
>> ^C
>> yarc@yarc-mainlinux /tmp $ ls testdb2
>> yarc@yarc-mainlinux /tmp $ less config.ttl
>> # Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
>>
>> @prefix : <#> .
>> @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 tdb: <http://jena.hpl.hp.com/2008/tdb#> .
>> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
>>
>> # TDB
>> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
>> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
>> tdb:GraphTDB rdfs:subClassOf ja:Model .
>>
>> ## ---------------------------------------------------------------
>> ## Updatable TDB dataset with all services enabled.
>>
>> <#service_tdb_all> rdf:type fuseki:Service ;
>> rdfs:label "TDB test2" ;
>> fuseki:name "test2" ;
>> fuseki:serviceQuery "query" ;
>> fuseki:serviceQuery "sparql" ;
>> fuseki:serviceUpdate "update" ;
>> fuseki:serviceUpload "upload" ;
>> fuseki:serviceReadWriteGraphStore "data" ;
>> # A separate read-only graph store endpoint:
>> fuseki:serviceReadGraphStore "get" ;
>> fuseki:dataset <#tdb_dataset_readwrite> ;
>>
>> .
>>
>> <#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ;
>> tdb:location "/tmp/testdb2" ;
>> ##tdb:unionDefaultGraph true ;
>> .
>> -------------------listing #3 ---------------------
>>
>> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server --version
>> Jena: VERSION: 2.13.0
>> Jena: BUILD_DATE: 2015-03-08T09:49:20+0000
>> ARQ: VERSION: 2.13.0
>> ARQ: BUILD_DATE: 2015-03-08T09:49:20+0000
>> RIOT: VERSION: 2.13.0
>> RIOT: BUILD_DATE: 2015-03-08T09:49:20+0000
>> TDB: VERSION: 1.1.2
>> TDB: BUILD_DATE: 2015-03-08T09:49:20+0000
>> Fuseki: VERSION: 2.0.0
>> Fuseki: BUILD_DATE: 2015-03-08T09:49:20+0000
>> yarc@yarc-mainlinux /tmp $ java -version
>> java version "1.8.0_40"
>> Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
>> Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
>>
>>
>
Re: tdb:location problem
Posted by Andy Seaborne <an...@apache.org>.
Hi there,
The documentation isn't clear - when run with --conf, the configuration
file can contain several services and you need to say which are enabled
(i.e. it's a Fuseki1 style file).
The minimum you need to add, just after the prefixes, is:
[] fuseki:services ( <#service_tdb_all> ) .
Or with a whole server section:
[] rdf:type fuseki:Server ;
... other configuration ...
fuseki:services ( <#service_tdb_all> )
.
Andy
Recorded as JENA-932
On 04/05/15 13:53, Yarc Yarc wrote:
> Hello,
>
> I try to set up a fuseki endpoint wiith a jena tdb backend. This works as
> expected when I use the --loc argument, but I can't get it to work if I
> instead provide a config file with a tdb:location argument.
>
> See listing #1 for usage with the --loc argument. A tdb file structure is
> made in an empty directory and all seems well.
> See listing #2 for usage with a config.ttl file. A tdb file structure is
> not made in an empty directory.
>
> Listing #3 details version information that might be relevant.
>
> I guess the more likely hypothesis is that my assumption that --loc and the
> tdb:location arguments work in an equivalent fashion is wrong. If that is
> indeed the case, then my follow up question is; "how do I get fuseki to
> create or reuse a tdb structure in a file location of my choosing from a
> config file?"
>
> I've tried to google this and read the documentation (
> https://jena.apache.org/documentation/fuseki2/fuseki-run.html#fuseki-as-a-standalone%20server,
> https://jena.apache.org/documentation/fuseki2/fuseki-configuration.html)
> without seeing where I go wrong.
>
> Any and all help as to where I err is appreciated.
>
> :-)
>
> Morten F.
>
> -----------------listing #1 -----------------
>
> yarc@yarc-mainlinux /tmp $ mkdir testdb1
> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
> --loc=/tmp/testdb1 /test1
> [2015-05-04 14:33:07] Server INFO Running in read-only mode for /test1
> [2015-05-04 14:33:07] Server INFO Fuseki 2.0.0 2015-03-08T09:49:20+0000
> [2015-05-04 14:33:07] Config INFO FUSEKI_HOME=/local/fuseki
> [2015-05-04 14:33:07] Config INFO FUSEKI_BASE=/tmp/run
> [2015-05-04 14:33:07] Servlet INFO Initializing Shiro environment
> [2015-05-04 14:33:07] Config INFO Shiro file: file:///tmp/run/shiro.ini
> [2015-05-04 14:33:08] Config INFO Template file:
> templates/config-tdb-dir
> [2015-05-04 14:33:08] Config INFO TDB dataset: directory=/tmp/testdb1
> [2015-05-04 14:33:08] Builder INFO Service: TDB /test1
> [2015-05-04 14:33:08] Config INFO Register: /test1
> [2015-05-04 14:33:08] Server INFO Started 2015/05/04 14:33:08 CEST on
> port 3030
> ^C
> yarc@yarc-mainlinux /tmp $ ls testdb1/
> GOSP.dat GPOS.idn journal.jrnl nodes.dat OSPG.idn POSG.dat
> prefix2id.dat prefixIdx.dat SPOG.dat tdb.lock
> GOSP.idn GSPO.dat node2id.dat OSP.dat OSP.idn POSG.idn
> prefix2id.idn prefixIdx.idn SPOG.idn
> GPOS.dat GSPO.idn node2id.idn OSPG.dat POS.dat POS.idn
> prefixes.dat SPO.dat SPO.idn
>
> ---------------------listing #2 -------------------
>
> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server -v --debug
> --conf=./config.ttl
> [2015-05-04 14:38:17] Server INFO Fuseki 2.0.0 2015-03-08T09:49:20+0000
> [2015-05-04 14:38:17] Config INFO FUSEKI_HOME=/local/fuseki
> [2015-05-04 14:38:17] Config INFO FUSEKI_BASE=/tmp/run
> [2015-05-04 14:38:17] Servlet INFO Initializing Shiro environment
> [2015-05-04 14:38:17] Config INFO Shiro file: file:///tmp/run/shiro.ini
> [2015-05-04 14:38:17] Config INFO Configuration file: ./config.ttl
> [2015-05-04 14:38:18] Server INFO Started 2015/05/04 14:38:18 CEST on
> port 3030
> ^C
> yarc@yarc-mainlinux /tmp $ ls testdb2
> yarc@yarc-mainlinux /tmp $ less config.ttl
> # Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
>
> @prefix : <#> .
> @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 tdb: <http://jena.hpl.hp.com/2008/tdb#> .
> @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
>
> # TDB
> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
> tdb:GraphTDB rdfs:subClassOf ja:Model .
>
> ## ---------------------------------------------------------------
> ## Updatable TDB dataset with all services enabled.
>
> <#service_tdb_all> rdf:type fuseki:Service ;
> rdfs:label "TDB test2" ;
> fuseki:name "test2" ;
> fuseki:serviceQuery "query" ;
> fuseki:serviceQuery "sparql" ;
> fuseki:serviceUpdate "update" ;
> fuseki:serviceUpload "upload" ;
> fuseki:serviceReadWriteGraphStore "data" ;
> # A separate read-only graph store endpoint:
> fuseki:serviceReadGraphStore "get" ;
> fuseki:dataset <#tdb_dataset_readwrite> ;
>
> .
>
> <#tdb_dataset_readwrite> rdf:type tdb:DatasetTDB ;
> tdb:location "/tmp/testdb2" ;
> ##tdb:unionDefaultGraph true ;
> .
> -------------------listing #3 ---------------------
>
> yarc@yarc-mainlinux /tmp $ /local/fuseki/fuseki-server --version
> Jena: VERSION: 2.13.0
> Jena: BUILD_DATE: 2015-03-08T09:49:20+0000
> ARQ: VERSION: 2.13.0
> ARQ: BUILD_DATE: 2015-03-08T09:49:20+0000
> RIOT: VERSION: 2.13.0
> RIOT: BUILD_DATE: 2015-03-08T09:49:20+0000
> TDB: VERSION: 1.1.2
> TDB: BUILD_DATE: 2015-03-08T09:49:20+0000
> Fuseki: VERSION: 2.0.0
> Fuseki: BUILD_DATE: 2015-03-08T09:49:20+0000
> yarc@yarc-mainlinux /tmp $ java -version
> java version "1.8.0_40"
> Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
> Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
>