After we have developed semap RESTful API we have been starting to work on the semap-1.0-M1 version. But the first thing that we should solve is a choice of a compatible with the Apache License 2.0 embedded RDF storage. It’s a difficult task for us and we created the special wiki-page and have developed the open source project selection criteria for it first.
Now we have only three real candidates: Sesame, Open Anzo and Mulgara. Unfortunately, we dropped the Jena from our list, because, it has the old annoying graph model and some problems with scalability (see more in the “RDF Triple Stores“).
Revision note (from 19 Nov 2007): we have decided to use Sesame2 Native RDF Repository only (see the comment bellow about that decision). In the future we will try to use embedded RDBMS too, such as H2 or Berkeley DB and will measure performance parameters too. It’s important for us now to quickly implement the initial version 1.0-M1 and after that improve the performance, write more documentation and so on, because, we are in the “Proof of Concept” stage now.
Now we have decided to use Sesame2 only, because it have independent module structure, flexible and power API and a good community support. We had a plan to use H2 database with Sesame2, but it doesn’t support any RDBMS officially. Only one project exists to do this, but it is not mature yet (see https://simile.mit.edu/repository/proptablesql/). We have been starting to implement the semap prototype on the basis of the Sesame2 Native storage.
At the another side, we didn’t find any useful ways to use Mulgara in the embedded mode. The Mulgara documentation is poor and more user oriented. We didn’t find how to use NamedGraph too.
OpenAzlo is an ambition project. There are a lot of enterprise features exist and in many aspects that project is a middleware platform than a RDF store and, we guess, that it’s the competitor for the semap, not an embedded component to use. We shall continue to watch for this project.