Navigation

Friday, November 03, 2006

Sesame 2.0-alpha4 released

We are very pleased to announce the fourth (and hopefully final) alpha-release of Sesame 2. Sesame 2.0-alpha4 is a release that fixes a large number of issues with the previous alpha releases. It features major improvements in the Repository and SAIL APIs and a completely redesigned query engine for SeRQL and SPARQL. Additionally this release finally has a HTTPSail (thanks to Leo Sauermann, Gunnar Grimnes and Sebastian Weber) which enables transparent client-server communication with Sesame repositories over HTTP.

Sesame 2.0-alpha4 can be found in openRDF.org's download section.

A lot things have changed, most importantly:

  • Sesame is now available under a BSD-style license, previous releases are still available under LGPL.
  • The Repository and Sail APIs have been revised to use JDBC-style connections.
  • The SeRQL query engine has been been replaced with an all new generic query engine that is modelled after the relational algebra for RDBMS's.
  • Sesame now has partial support for SPARQL. Ask and describe queries are not yet supported, as well as a number of the SPARQL built-in functions.
  • Sesame now has an HTTPSail, which allows clients to transparently communicate with a server over HTTP.
  • The semantics of SeRQL set operations have changed: the results of the operands are now combined based on the variable bindings they produce. This means that you have to take care that the operands use the same variables names (or use aliases).
  • The REST-style HTTP protocol has been improved. The new protocol is NOT backwards compatible with older versions.
  • The Sesame code has been completely modularized into logical units, which makes it easier to reuse parts of Sesame in other projects.
  • The Ant-based build system has been replaced with a Maven-based build system.
  • The source code has been moved from SourceForge's CVS server to Aduna's SVN server: https://src.aduna-software.org/svn/org.openrdf/

Known issues

  • This release contains a HUGE amount of changes to the code and, as a result, is expected to contain a considerable number of bugs.
  • The new query engine currently lacks a query optimizer. Because of this you may see inferior query evaluation performance compared to earlier releases.

See the ChangeLog for details on the changes and improvements.

Tuesday, October 31, 2006

Sesame goes BSD

Although we haven't made an official announcement about this yet I thought I'd mention it: after a lot of discussion, both internally at Aduna and with various co-developers and users of Sesame outside Aduna, we have decided to change the open source license under which Sesame will be distributed.

Previously, Sesame has always been distributed under the GNU LGPL license. Although we have always interpreted this license as a very free license that allows reuse of Sesame as a library in any kind of client application, some users were wary of the consequences of including LPGL in our code. I don't particularly want to discuss here whether or not they are right of being wary, but it's a fact that it prevented some people from using Sesame.

So we have decided to move Sesame to a less restrictive license, namely a BSD license (that's about as unrestrictive as you can get I guess, bar public domain). The current Sesame 2 code base has been adapted (headers, license text) and the next releases of Sesame 2 (including the alpha-4 release that will be released this week) will all be available under BSD. Existing releases (including all Sesame 1 releases) will stay available under LGPL only for now.

The main difference between the licenses is that LGPL has a reciprocity-clause which BSD does not: basically, if you change something in Sesame and you distribute that changed version, the LGPL requires you to release the changed version as LPGL and so contribute the change back to the community. BSD does not require this.

I'm personally very happy with this decision. A license that is as free as possible allows as many people as possible to use and co-develop on Sesame. A broad user base for Sesame is in our best interest of course, both as developers (more bug-reports and hopefully more fixes) and as a company (more uptake means more exposure). Of course it also neatly ties in with Aduna's strategy of releasing all Aduna software as open source.

I'm not particularly worried about people taking our stuff and improving it without giving back: the history of many other BSD-licensed projects indicates that when developers get excited over a piece of software, they are typically happy to contribute, regardless of what the license requires. So now our main goal is to get as many developers as possible excited about Sesame 2 :)

Friday, August 18, 2006

openacademia: semantics-based publication management

openacademia is an initiative to collect, share, publish and manage bibliographical information, the Semantic Web-way.

Information about scientific publications is often maintained by individual researchers. Reference management software such as EndNote and Bibtex help researchers to maintain a personal collection of bibliographic references. (These are typically references to one's own publications and also those that have been read and cited by the researcher in his own work.)

Most researchers and research groups also have the tedious task of maintaining a web page about publications for interested colleagues from other institutes. Typically, personal reference management and the maintenance of web pages is a separate effort: the author of a new publication adds the reference to his own collection, updates his webpage and possible that of his research group. From then on it is waiting for other researchers to discover the newly added publication.

The openacademia system removes the unnecessary duplication of effort involved in maintaining personal references and webpages. It also solves the problem of creating joined publication lists for webpages at the group or institutional level. At the same time it gives a new way of instantly notifying interested peers of new works instead of waiting for them to visit the webpage of the reseacher or the institute.

openacademia is a distributed system on its own. A public openacademia website is available on the Web for general use, i.e. anyone can submit his own publications to this service. openacademia can also be installed at research groups locally in order to collect and manage the shared publication metadata of the group.

The most immediate service of openacademia is the possibility to generate an HTML representation of one's personal collection of publications and publish it on the Web. This requires filling out a single form on the openacademia website, which generates the code (one line of JavaScript!) that needs to be inserted into the body of the homepage. The code inserts the publication list in the page dynamically and thus there is no need to update the page separately if the underlying collection changes. The appearance of the publication list can be customized by choosing from a variety of stylesheets.

For example, on my own homepage, the list of publications is generated this way.

More interestingly, you can also generate an RSS feed from the collection. Adding such an RSS feed to a homepage allows visitors to subscribe to the publication list using any RSS news reader. Whenever a new publication is added, the subscribers of the feed will be notified of this change through their reader (information push).

The RSS feeds of openacademia are RDF-based and can also be consumed by any RDF aware software such as Piggy Bank.

There is also an AJAX based interface for browsing and searching the publication collection. This interface offers a number of visualizations. For example, the important keywords in the titles of publication matching the current query can be viewed as a tagcloud , where the size of the tags shows the importance of the keyword. It is also possible to browse the co-authorship networks of researchers using the same interactive applet used by Flink.

Another interactive visualization shows publication along a timeline that can be scrolled using the mouse (see below). This time-based visualization uses the Timeline widget developed by the SIMILE project.

Keywords or tags can be added to publications using the features of Bibtex or EndNote. The system also extracts keywords automatically from titles of publications. Lastly, openacademia connects to blog search engines in order to import blog comments about publications.

openacademia is built on Sesame and the Elmo API. For more information about openacademia, please see the documentation.