The Soprano team is proud to present the first preview release of the next generation of Soprano, the object-oriented RDF framework. A lot of effort and work has gone into Soprano 2 and the result is a highly usable and intuitive API that fulfills all your RDF needs.
Soprano is an object-oriented RDF framework written entirely in C++/QT4. It is targetted at applications that need RDF data storage on the desktop.
Soprano 2 introduces these new features and improvements:
- Highly improved API: fully iterator-based, new FilterModel design which allows to easily stack different RDF filters on top of Models.
- Better plugin design: Soprano 2 features five different kinds of plugins:
- Backend plugins do the actual RDF data storage
- Parser plugins are used to parser encoded RDF data into Soprano statements
- Serializer plugins are the exact counterpart to parser plugins: they serialize Soprano RDF statements into encoded RDF data
- Query parser plugins provide support for different query languages
- Query serializer plugins are the exact counterpart to query parser plugins: they serialize a Soprano query object into different query languages.
- Vocabulary namepaces contain static QUrl objects for most frequently used URIs from RDF, RDFS, or XML Schema
- Soprano 2 has a rule-based forward-inference engine that is implemented as a filter model and comes with predefined rulsets for RDFS and NRL
- The CLucene index provides a full text query index for all literal statements including CLucene scoring.
- Soprano 2 features a server/client architecture which allows to run an RDF storage remotely. Interfaces for communication over TCP, unix sockets, and DBus are provided in an easy-to use API.
- The Soprano 2 API is fully documented using doxygen. The build target "apidox" creates the documentation as HTML pages.
- Soprano 2 comes with two full-features backend plugins: redland and Sesame2. (A third, unfinished backend using 3Store may be removed for the Soprano 2 final release)