On 26/01/15 16:53, Stian Soiland-Reyes wrote:
I have created an experimental Docker image for running Apache Jena Fuseki 2.
See https://registry.hub.docker.com/u/stain/jena-fuseki/ for details.
The short story is:
docker run -p 3030:3030 -it stain/jena-fuseki
Look for the password in the console, log in to http://localhost:3030/
and enjoy the beautiful interface, upload data, and start querying it!
(At a Bring Your Own Data meeting last week, several people were
asking what cool triple store I was running when they saw I had Fuseki
2 on my laptop. (They were using Virtuoso 6). We really need to get
this out to the people! :)
There was also one guy who was using Jena to do automatic ontology
reconstruction on a SPARQL endpoint, he said he had some performance
patches to Jena which I encouraged him to join this mailing list and
tell us about.)
# Questions to dev@jena
Q: I don't know why Fuseki (here with basic auth) always asks for the
admin password - perhaps some Fuseki / shiro.ini experts can help? Is
it because of the server status icon?
Don't know but one thought --- maybe (unlikely) the connection is not
being preserved. More likely, the shiro setup is wrong. I think Trveo
had similar issues.
Q: How should I do mass-data-loading? Can you run tdbloader /
tdbloader2 through the jena-fuseki2.jar, or do I need to bundle in the
shell-scripts from the normal jena distribution?
tdbloader is pure java and is included in the fuseki jar.
tdbloader2 has a shell script to drive it.
You can't run either loader on a live database
Qa: What --loc do I give? /fuseki/databases/EXAMPLE I guess? They look
like tdb folders
Yes.
$ docker run -v $HOME/ops/chembl19:/staging --volumes-from
fuseki-data stain/jena-fuseki ./fuseki-server tdb.loader2
--loc=/fuseki/databases/test
Multiple dataset path names given
did you mean
java -cp fuseki-server.jar tdb.tdbloader --loc
./fuseki-server starts the server using -jar)
Qb: How do I tell Fuseki about the dataset? Do I need to create it on
the web first and then stop the server? Do I need to create one those
assembler magic files?
config.ttl or the UI.
A missing feature is the ability to upload a assembler into a running
server.
There are example assembler files. The UI is just templating one.
Q: Should I base this on openjdk7 or 8? See
https://registry.hub.docker.com/u/library/java/ for options.
java7
Jena (and Fuseki) are at Java7.
Q: Should I run the standalone Fuseki or a WAR inside say Tomcat?
Your choice!
Q: Are there any memory settings that should be made accessible?
Heap - usually it does not need changing but if you have lots of
datasets it might.
Q: Is it safe to just stop fuseki-server with Ctrl-C / docker stop? It
seems to stop a bit too fast, with no log outputs.
Yes - or even "kill -9"
Transactions!
## How was it made?
https://github.com/stain/jena/tree/fuseki2-docker/jena-fuseki2/jena-fuseki-docker
Note that I had to do it with a tricky download from the Maven
snapshot server (Xpath!), as if I try to do the whole Maven build of
Jena from within the Dockerfile, I get a DVD-sized image:
stain@biggie-utopic:~/src/jena$ du -hs .
1.5G .
(the one above clocks in at nice 51 MB+18+
Once fuseki2 is released in stable versions this should be a bit
easier as there would be no need to xpath out the latest snapshot
timestamp.
The distribution has an unversioned file in it IIRC
Andy