Soprano 2.3.0 released

I am proud to announce the release of Soprano 2.3.0 which marks the next step in RDF storage, parsing, and serialization on the desktop. Soprano 2.3.0 is intended to accompany the upcoming release of KDE 4.3.

Although crucial features like the Virtuoso backend and transaction support are not deemed stable yet Soprano 2.3.0 brings a large set of interesting and powerful new features:

  • The new LanguageTag class replaces the old simple string based language handling with a sophisticated one implementing RFC 4647. At the same time Soprano now directly supports plain literals in addition to typed string literals via LiteralValue::createPlainLiteral. (thanks to Greg Beauchesne for the patch)
    CAUTION: This patch changes behaviour: parsers and storage backends will now return plain literals instead of typed string literals!
  • New static methods Node::resourceToN3, Node::literalToN3, and Node::blankToN3 for easy N3 formatting without the creation of a Node instance.
  • Fixed both Node::matches and Statement::matches: only the paramter is treated as a wildcard.
  • New class Graph which is a simple QSet based container for statements as a quick replacement for Model in case one wants to handle a small number of statements without query support.
  • Fixed plugin loading on windows.
  • Fixed a deadlock in the IndexFilterModel which was triggered in case a query could not be parsed.
  • Prevent Model::removeContext to remove empty contexts, i.e. the whole database.
  • Statement::operator<<(QTextStream) now uses a simpler format (only spaces between nodes and no brackets)
  • Updated Sesame2 to 2.2.4.
  • Added prefix handling to the Serializer API. For a future Soprano version the Serializer API has to be replaced with something more powerful.
  • Improved inference rule handling in the rule parser. (Thanks to Michele Tameni)
  • Several improvements in sopranocmd:
    • New paramter --file which allows to execute commands on files directly without
      creating a database on disk.
    • Standard namespace prefixes rdf, rdfs, xsd, nrl, and nao are now added to SPARQL queries
      automatically if used. This makes writing test queries much simper.
    • SPARQL construct and describe query results can now be serialized in all supported formats.
    • New parameter --index which allows to wrap an IndexFilterModel around the actual Model.
    • New command monitor which allows to monitor a remote repository for statementAdded and statementRemoved signals.

The Soprano 2.3.0 source can be retrieved from the Sourceforge Soprano download page. Go forth and build packages for your distributions.