Skip to content

AtomGraph/fuseki-docker

Repository files navigation

fuseki-docker

Docker image for Apache Jena's Fuseki (v2) triplestore server

Endpoints

In the following examples which use /ds as the dataset path, these main endpoints are available:

They can be redefined in configuration.

Post 3030 has to be mapped to be able to access it on the Docker host.

Usage

Arguments after the image name (atomgraph/fuseki) become arguments to the Fuseki server (no UI). As the name explains, this server version does not include the user interface.

Examples

Empty memory dataset:

docker run --rm -p 3030:3030 atomgraph/fuseki --mem /ds

Dataset from file data.nt (which is mounted as part of the current directory):

docker run --rm -p 3030:3030 -v $(pwd):/usr/share/data atomgraph/fuseki --file=/usr/share/data/data.nt /ds

Help (all run options explained):

docker run --rm atomgraph/fuseki --help

Profiling

Use Dockerfile.profiler to build the image instead of the default Dockerfile.

Then append the following settings to the JAVA_OPTIONS env variable:

-Dcom.sun.management.jmxremote=true \
-Djava.rmi.server.hostname=127.0.0.1 \
-Dcom.sun.management.jmxremote.host=0.0.0.0 \
-Dcom.sun.management.jmxremote.port=9991 \
-Dcom.sun.management.jmxremote.rmi.port=9991 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.registry.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.net.preferIPv4Stack=true

and use VisualVM to create a JMX connection to 127.0.0.1:9991. Only tested with VisualVM running on Windows 10 and the remote Fuseki app running in a Docker container on WSL2.