The actual work is done by storage plugins (Soprano::Backend).
Model instances are mostly created by the plugin implementations through the Soprano::Backend::createModel() methods. In the most simple case one does not need to bother with Soprano::Backend though as the basic methods are duplicated in the Soprano namespace. Thus, to create a simple memory model using the default Soprano backend:
Finer grained control can be achieved by using the Backend directly:
Soprano::Backend* backend = Soprano::discoverBackendByName( "redland" ); Soprano::Model* model = backend->createModel();
Soprano makes use of contexts, i.e. named graphs. Thus, statements as represented by Soprano::Statement are actually RDF quadruples.
For further details on Soprano::Model usage see the class and method documentation.