* New class LanguageTag replacing the old simple string 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
(compare LiteralValue::createPlainLiteral).
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 - now only the paramter
is treated as a wildcard
* 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.
- 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.
* 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 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
* The AsyncModel now has a "real" asyncroneous mode which uses multiple
threads to execute the commands.
* New class Soprano::Client::SparqlModel which provides a client to http
Sparql endpoints.
* Added method Node::toN3 to easily build SPARQL queries without having
to encode nodes all the time.
* New convinience method QueryResultIterator::iterateStatementsFromBindings
* Added convinience methods to handle BackendSettings.
* Added operator[] to QueryResultIterator to easily access bindings
* Added parameters influencing the visibility to onto2vocabularyclass
* Soprano::Node now comes with definitions of qHash for both Node and QUrl
* Sesame2 updated to 2.1.4
* The IndexFilterModel can now optionally index specific URIs
(IndexFilterModel::setForceIndexPredicates)
* Added method IndexFilterModel::optimizeIndex which optimizes the clucene
index on disk
* Added method IndexFilterModel::encodeUriForLuceneQuery which
encodes/escapes a URI so it can be used as a field in a clucene query.
* SPARQL endpoint query support in sopranocmd
* Performace improvements
Soprano (formerly known as QRDF) is a library which provides a highly
usable object-oriented C++/Qt4 framework for RDF data. It uses
different RDF storage solutions as backends through a simple plugin
system. Soprano is targetted at desktop applications that need a RDF
data storage solution. It has been optimized for easy usage and
simplicity.