Howto set up Sesame

Note: This is depricated because it describes the setup for Sesame 1.2.x. The current version of Kaukolu uses Sesame 2.0 (alpha). You don't need to do any of the things said below!

Sesame will be used as an RDF backend for the Kaukolu. Currently, sesame is not included in any repository of this project. This will change in the near future, but until then the following steps are necessary to have a running Sesame server. There is no need to use the usernames, passwords, etc., that are mentioned here, but it makes it easier to follow the instructions.

  1. Download the latest Sesame version 1.x from
  2. Extract the sesame.war into .../kaukolu-jetty-runtime/webroot/sesame/
  3. Copy the .../WEB-INF/system.conf.example to .../WEB-INF/system.conf
  4. Execute configSesame.bat (or .sh on Unix systems) in WEB-INF/bin/
  • Load system.conf
  • Set the Admin password to "admin"
  • Add a new user "kaukulo" with password "kaukolu"

If you want to use a MySQL backend:

  • Clone repository kaukolu-mysql-rdf-db from rdbms-rdf-db
    • Change the properties to match MySQL configuration (db name, user, etc.)

If you want to use the memorybased store:

  • Clone repository kaukolu-mem-rdf-db from mem-rdf-db
    • Select the file and the format, in which to store the rdf data, and if it should be compressed. (We have no experience with Sesame, so we choose rdfxml as format.)

In any case do:

  • Give user "kaukolu" read and write permissions
  • Remove permissions from other users
  • Save the configuration

If you choose the MySQL method, additionally you have to:

  1. Copy a valid MySQL-JDBC driver (the .jar file) into .../kaukolu-jetty-runtime/webroot/sesame/WEB-INF/lib/
  2. Create a new database in MySQL named "kaukolu-rdf"
  3. Create a new user named "sesame" and assign a password of your choice
  4. Grant user "sesame" all permissions to the database "kaukolu-rdf"

If you are using the memory based model (like we do):

  1. Make sure, you selected a file, that ensures persistens storage (files in /tmp/ usually don't do that). There still might be a complication, if you are using multiple operating system, e.g. Windows and Linux, because the path to the file will probably differ from one OS to another. Be creative ;-)

Since this is not preconfigured in the repository, the following changes in the sourcecode have to be done manually. This will change in the near future, but until then:

  • In de.opendfki.kaukolu.JettyServer.JettyServer(int port) add the marked line:
            try {
                this.server.addWebApplication("/JSPWiki/*", "./webroot/JSPWiki");
      =====>    this.server.addWebApplication("/sesame/*", "./webroot/sesame");
            } catch (IOException e) {

Now everything should be ready to run a Sesame server along with our JSPWiki kaukolu in jetty.

Unfortunately, we encountered a problem, where the SailServlet.class was not found. Elongated use of Google couldn't help to solve the problem, because the file really doesn't exist in the sesame.jar. This can be fixed by removing the two sections in the web.xml referring to sail. Whether this workaround leads to other problems remains to be seen.

Last modified 16 years ago Last modified on 04/04/06 17:54:36