Instructions for how to setup the triplestores currently supported by the JMS indexer: Fuseki and Sesame.  Other triplestores that support SPARQL Update may also work, but have not been tested.


Fuseki is very easy to setup

  1. Download latest jena-fuseki distribution tarball from
  2. Unpack the download archive 
  3. Start fuseki-server
curl -O
tar xvfz jena-fuseki-1.0.1-distribution.tar.gz
cd jena-fuseki-1.0.1
./fuseki-server --update --mem /test

Note: The "fuseki-server" command above runs completely in-memory. No triples will be persisted. This is great for test, but not recommended for a production installation. See:
Fuseki should be running at http://localhost:3030/

If you want to change the port on which Fuseki runs, you can add the "–port" option to the run command (e.g. ./fuseki-server --port 3131 --update --mem /test).

To access the SPARQL query form, go to http://localhost:3030/control-panel.tpl and select your datasource (in this case /test).


Sesame requires a little more setup to run with the tests, since by default it uses the same port as Fedora. To setup Sesame with Tomcat running on an alternate port:

$ curl -L -O
$ tar xvfz apache-tomcat-7.0.59.tar.gz
$ curl -L -O
$ tar xvfz openrdf-sesame-2.7.13-sdk.tar.gz
$ cp openrdf-sesame-2.7.13/war/openrdf-sesame.war apache-tomcat-7.0.59/webapps/
$ apache-tomcat-7.0.59/bin/

Sesame should now be running at: http://localhost:8080/openrdf-sesame/system/overview.view

Before you can load data or perform queries, you must create a repository.  You can do this using OpenRDF Workbench, a companion webapp to Sesame which provides the ability to manage repositories, perform SPARQL queries, etc.  To deploy this webapp, copy the OpenRDF Workbench WAR file to the Tomcat webapps directory:

$ cp openrdf-sesame-2.7.13/war/openrdf-workbench.war apache-tomcat-7.0.59/webapps/

Then you can create a new repository at http://localhost:8081/openrdf-workbench/repositories/NONE/create, and query the test repository at http://localhost:8081/openrdf-workbench/repositories/test/query.

Alternatively, you can use the Sesame console application to create a repository from the command line:

$ openrdf-sesame-2.7.13/bin/
> connect http://localhost:8081/openrdf-sesame.
> create native.
Repository ID [native]: test
Repository title [Native store]: test store
Triple indexes [spoc,posc]: spoc,posc
Repository created
> exit.
Disconnecting from http://localhost:8081/openrdf-sesame/


JAVA_OPTS="${JAVA_OPTS} -Dinfo.aduna.platform.appdata.basedir=/tmp/sesame"

Access Control

By default, Sesame will allow any connection to perform any operation, including adding and deleting triples or Sesame repositories.  Since Sesame runs in a standard Java Servlet container, you can configure access control

<user username="user" password="password" roles="sesame-admin"/>
> connect http://localhost:8081/openrdf-sesame user password.
  <description>Role required to delete/update triples or change configuration</description>
    <web-resource-name>Sesame System Config Restricted access</web-resource-name>

See Basic Security with HTTP authentication for more info on using container access control with Sesame, including requiring a separate account for read operations.