soprano Module
*
Soprano (aka QRDF) - A modular RDF storage framework
* * %Soprano is a Qt-based pluggable framework for RDF * storage and parsing. It tries to provide a highly usable interface to several RDF storage solutions. * * Overview * * %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 a explicitely 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 one is intended to be the basic Model which actually stores the data while the latter ones can be * stacked on top of a Soprano.StorageModel to perform certain filter operations. Thes 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 builtin Soprano.Server Server and Soprano.Client Client implementations allowing to build remote repositories quickly. * Soprano.Client.SparqlModel provides a client to arbitrary SPARQL (SPARQL Protocol and RDF Query Language) * Http services. * * Quickstart * * (Also see the soprano_howto for details on building %Soprano applications) * * Create an RDF Model: * *
* Soprano.Model* model = Soprano.createModel();
* \endcode
*
* Fill it with statements:
*
* \code
* model->addStatement( Soprano.Statement( QUrl( "http://mysite.org/data#A"), Soprano.Vocabulary.RDFS.label(), Soprano.LiteralValue( "A test resource" ) ) );
* \endcode
*
* Read the data back:
*
* \code
* Soprano.StatementIterator it = model->listStatements();
* while( it.next() ) {
* displayStatement( *it );
* }
* \endcode
*
* Query the data:
*
* \code
* Soprano.QueryResultIterator it = model->executeQuery( "select ?r where { ?r ?p ?o . }", Soprano.Query.QueryLanguageSparql );
* while( it.next() ) {
* displayResult( it.binding( "r" ) );
* }
* \endcode
*
* \section contents Contents
*
* The following sections contain further information on the usage of %Soprano.
*
* \li \subpage soprano_howto - Learn how to integrate %Soprano into your build system
* \li \subpage soprano_storage - Learn how to use RDF storage in %Soprano
* \li \subpage soprano_misc - Learn how to parse and serialize RDF data in %Soprano
* \li \subpage soprano_error_handling - Learn how %Soprano's error system works
* \li \subpage soprano_writing_plugins - Learn how to write your own %Soprano plugins
* \li \ref Soprano.Server - Learn how to create a %Soprano server
* \li \ref Soprano.Client - Learn how to create a %Soprano client accessing a %Soprano server via DBus or a local socket
* \li \subpage soprano_devel_tools - Learn about the nice command line tools %Soprano provides
* \li \ref soprano_backends - Learn about the available storage backends and their features and settings
Namespaces
KDE 4.3 PyKDE API Reference