Fuseki/UI can be run in a number of ways:
Fuseki is also packaged as a plain server “Fuseki Main” with no UI for use as a configurable SPARQL server, for building as a Docker container, and as a deployment and development standalone server. It supports the arguments used by the standalone server.
The configuration file is the same format for all forms of the Fuseki server.
See “Fuseki Configuration” for information on how to provide datasets and configure services using the configuration file.
This is running Fuseki from the command line.
To publish at http://host:3030/NAME:
/NAME is the dataset publishing name at this server in URI space.
fuseki-server [--loc=DIR] [[--update] /NAME]
--tdb2 puts the command line handling into “TDB2 mode”.
A dataset created with
--loc is a TDB2 dataset.
fuseki-server --tdb2 [--loc=DIR] [[--update] /NAME]
In-memory, non-peristent database (always updatable):
fuseki-server --mem /NAME
Load a file at start and provide it read-only:
fuseki-server --file=MyData.ttl /NAME
where “MyData.ttl” can be any RDF format, both triples or quads.
Administrative functions are only available from “localhost”.
fuseki-server --help for details of more arguments.
When run from the command line, the server creates its work area in the
directory named by environment variable
FUSEKI_BASE. When run from the
command line, this defaults to the current directory.
If you get the error message
Can't find jarfile to run then you either
need to put a copy of
fuseki-server.jar in the current directory or set
the environment variable
FUSEKI_HOME to point to an unpacked Fuseki
Starting with no dataset and no configuration is possible. Datasets can be added from the admin UI to a running server.
Fuseki can run as an operating system service, started when the server
machine boots. The script
fuseki is a Linux
init.d with the common
secondary arguments of
Process arguments are read from
FUSEKI_HOME should be the directory
where the distribution was unpacked.
Fuseki can run from a WAR file. Fuseki requires at least support for the Servlet 3.0 API (e.g. Apache Tomcat 7 or Jetty 8) as well as Java8.
FUSEKI_HOME is not applicable.
FUSEKI_BASE defaults to
/etc/fuseki which must be a writeable
directory. It is initialised the first time Fuseki runs, including a
Apache Shiro security file but this is only
intended as a starting point. It restricts use of the admin UI to the
When deploying as a web application a more fully featured Admin API is made available and described on the Fuseki Server Protocol (REST API) page.
When running from a WAR file in a webapp container such as Apache Tomcat, the
logging configuration comes from the file
log4j2.properties in the root of the
unpacked war file, e.g.
The name of the file is taken from
This only applies when running in a webapp container. When run from the command
line, the server looks for
log4j2.properties in the current directory and if
not found, uses a built-in configuration.
This logging goes to the standard output.
systemd may be set to sandbox Tomcat9. The file area
/etc/fuseki will not
be writable to Fuseki. To enable this area, add
creating the file if necessary.
systemd also captures standard out and routes it to the system journal:
journalctl -u tomcat9
To direct the output to the traditional location of
/var/log/tomcat9/catalina.out use the
StandardOutput setting in
[Service] # Allow access to the Fuseki area ReadWritePaths=/etc/fuseki/ StandardOutput=file:/var/log/tomcat9/catalina.out