Sesame is an open source Java framework for storage and querying of RDF data. The framework is fully extensible and configurable with respect to storage mechanisms, inferencers, RDF file formats, query result formats and query languages. Sesame offers a JBDC-like user API, streamlined system APIs and a RESTful HTTP interface supporting the SPARQL Protocol for RDF.
Of course, a framework isn't very useful without implementations of the various APIs. Out of the box, Sesame supports SPARQL and SeRQL querying, a memory-based and a disk-based RDF store and RDF Schema inferencers. It also supports most popular RDF file formats and query result formats. Various extensions are available or are being worked at elsewhere.
Originally, Sesame was developed by Aduna (then known as Aidministrator) as a research prototype for the hugely successful EU research project On-To-Knowledge. When this work ended in 2001, Aduna continued the development in cooperation with NLnet Foundation, developers from Ontotext, and a number of volunteer developers who contribute ideas, bug reports and fixes.
Sesame is currently developed as a community project, with Aduna as the project leader. Community support is available from www.openrdf.org. Aduna also offers commercial support and consultency services, feel free to contact us for more information.
This user manual covers most aspects of working with Sesame in a variety of settings. In Chapter 2, Downloading Sesame, we explain how and where to obtain Sesame binaries, source code and/or Maven artifacts. Chapter 3, Short introduction to Sesame's components gives a brief overview of the architecture of the framework, and is a recommend background read for anyone who intends to start using Sesame. Chapter 4, Setting up to use the Sesame libraries explains how to set up your development enviroment and is useful if you intend to write your own (Java) programs using the Sesame libraries. In Chapter 5, Server software installation we explain how to install the Sesame Server and Workbench web applications, and Chapter 6, Sesame Console explains the workings of the Sesame command line console, which is a useful tool to quickly create and use a (local) RDF store, but which can also be used as a command line client to connect with a Sesame Server. In Chapter 7, Application directory configuration we explain where Sesame Server, Workbench and Console stores their data and how you can reconfigure that location.
The basics of programming with Sesame are covered in Chapter 8, Basic Programming with Sesame. Chapter 10, HTTP communication protocol for Sesame 2 gives an overview of the structure of the HTTP REST protocol for the Sesame Server, which is useful if you want to communicate with a Sesame Server from a programming language other than Java. Finally, Chapter 11, The SeRQL query language (revision 3.1) documents Sesame's SeRQL query language.