Soprano
2.9.3
|
Soprano is a Qt-based pluggable framework for RDF storage and parsing. It tries to provide a highly usable interface to several Resource Description Framework (RDF) storage solutions.
Soprano centers around the Soprano::Model class which represents one storage set. A Soprano::Model is basically a set of RDF quadruples, i.e. Soprano::Statement. The actual storage is done via Soprano::Backend plugins. All query operations return Soprano::Iterator instances. Iterator is an explicitly shared class which is very easy to understand and use.
Soprano makes the distinction between two types of Models: Soprano::StorageModel and Soprano::FilterModel. The former is intended to be the basic Model which actually stores the data while the latter can be stacked on top of a Soprano::StorageModel to perform certain filter operations. These filter operations can range from very basic things such as disallowing any write operation (Soprano::Util::ReadOnlyModel) to more complex things such as full text indexing of all literal statements (Soprano::Index::IndexFilterModel) or exporting the Model via D-Bus (Soprano::Server::DBusExportModel).
Apart from storage Soprano provides a system for RDF parser and serializer plugins. For more details on parsing or serializing RDF data see the Soprano::Parser and Soprano::Serializer classes.
Soprano comes with a built in Server and Client implementations allowing remote repositories to be built quickly. Soprano::Client::SparqlModel provides a client to arbitrary SPARQL (SPARQL Protocol and RDF Query Language) Http services.
(Also see the Soprano Howto for details on building Soprano applications)
Create an RDF Model:
Fill it with statements:
Read the data back:
Query the data:
The following sections contain further information on the usage of Soprano.