Chapter 1. rdf:about Sesame 2

Table of Contents

1.1. What is it?
1.2. What's new?
1.3. Quo vadis?

1.1. What is it?

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 worked 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.

1.2. What's new?

For those who have previously worked with Sesame 1.x: Sesame 2 is an important step forward from the Sesame 1.x series, building on the feedback that has been gathered during the past years. A lot of improvements have been made to various APIs as well as the framework as a whole.

Unfortunately, because of all the changes to APIs and the like, Sesame 2 is not backwards compatible with earlier releases. Therefore, we suggest you read through this user guide before starting to port any applications to Sesame 2.

So what's new in Sesame 2? Well, in short:

  • Sesame 2 is completely targeted at Java 5. All APIs use Java 5 features such as typed collections and iterators.
  • Revised Repository API that is much more targeted at the use of Sesame as a library.
  • Support for context/provenance, allowing you to keep track of individual RDF data units (like files, for instance).
  • Proper transaction/rollback support.
  • A REST-ful HTTP protocol that includes support for the SPARQL protocol and SPARQL Query Results XML Format, which are currently both Proposed Recommendations from the W3C.
  • Support for the SPARQL Query Language.

A lot of these new features will be covered in the next chapters.

1.3. Quo vadis?

Sesame 2 has now reached the 2.0-final status, which means that APIs are stable and that all known bugs have been fixed. The developement of Sesame will, of course, continue with new releases on a regular basis.

The prime focus for the upcoming releases is the performance and scalability of the various RDF stores. An RDBMS-based Sail implementation is currently under development and the first results look very promising. The performance of the native- and memory stores will also be improved. As there hasn't been put a lot of effort into this so far, we expect to achieve good results here.

Subjects that we will look into after that are support for aggregate functions (COUNT, MIN, MAX) in SeRQL and improvements of the web- and desktop user interfaces.