#include <Soprano/Model>
Signals | |
void | statementsAdded () |
void | statementsRemoved () |
void | statementAdded (const Soprano::Statement &statement) |
void | statementRemoved (const Soprano::Statement &statement) |
Public Member Functions | |
virtual | ~Model () |
virtual Error::ErrorCode | addStatement (const Statement &statement)=0 |
Error::ErrorCode | addStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) |
Error::ErrorCode | addStatements (const QList< Statement > &statements) |
virtual Error::ErrorCode | removeStatement (const Statement &statement)=0 |
Error::ErrorCode | removeStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) |
virtual Error::ErrorCode | removeAllStatements (const Statement &statement)=0 |
Error::ErrorCode | removeAllStatements (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) |
Error::ErrorCode | removeStatements (const QList< Statement > &statements) |
Error::ErrorCode | removeContext (const Node &) |
Error::ErrorCode | removeAllStatements () |
virtual StatementIterator | listStatements (const Statement &partial) const =0 |
StatementIterator | listStatements (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const |
StatementIterator | listStatements () const |
StatementIterator | listStatementsInContext (const Node &context) const |
virtual NodeIterator | listContexts () const =0 |
virtual QueryResultIterator | executeQuery (const QString &query, Query::QueryLanguage language, const QString &userQueryLanguage=QString()) const =0 |
virtual bool | containsAnyStatement (const Statement &statement) const =0 |
bool | containsAnyStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const |
virtual bool | containsStatement (const Statement &statement) const =0 |
bool | containsStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const |
bool | containsContext (const Node &context) const |
virtual bool | isEmpty () const =0 |
virtual int | statementCount () const =0 |
virtual Error::ErrorCode | write (QTextStream &os) const |
virtual Node | createBlankNode ()=0 |
Protected Member Functions | |
Model () |
Model itself is just an interface for numerous implementations. There are basically two types of Models in Soprano:
Model* memModel = Soprano::createModel();
Error handling:
Model is based on Soprano's own error handling system which tries to emulate exceptions to a certain extend. Most methods in Model have a means of reporting if an operation was successful or not. For additional error information Model inherits ErrorCache which provides the method lastError().
Thus, advanced error handling would look as follows:
Soprano::Model* model = Soprano::createModel(); Soprano::Statement invalidStatement; if( model->addStatement( invalidStatement ) != Error::ErrorNone ) { showErrorMessage( model->lastError().message() ); }
For this to work properly Model implementations have to reset the error in each method by either calling clearError() or setError().
Definition at line 94 of file model.h.
virtual Soprano::Model::~Model | ( | ) | [virtual] |
Soprano::Model::Model | ( | ) | [protected] |
virtual Error::ErrorCode Soprano::Model::addStatement | ( | const Statement & | statement | ) | [pure virtual] |
Add the Statement to the Model.
statement | The Statement to add. |
Implemented in Soprano::FilterModel, Soprano::NRLModel, Soprano::Inference::InferenceModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, Soprano::Index::IndexFilterModel, and Soprano::Client::DBusModel.
Error::ErrorCode Soprano::Model::addStatement | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
Error::ErrorCode Soprano::Model::addStatements | ( | const QList< Statement > & | statements | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in Soprano::Util::DummyModel.
virtual Error::ErrorCode Soprano::Model::removeStatement | ( | const Statement & | statement | ) | [pure virtual] |
Remove one statement. For removing statements with wildward matching see removeAllStatements().
statement | The statement that should be removed. This has to be a valid statement. |
Implemented in Soprano::FilterModel, Soprano::Inference::InferenceModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, Soprano::Index::IndexFilterModel, and Soprano::Client::DBusModel.
Error::ErrorCode Soprano::Model::removeStatement | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
virtual Error::ErrorCode Soprano::Model::removeAllStatements | ( | const Statement & | statement | ) | [pure virtual] |
Remove all statements that match the partial statement. For removing one specific statement see removeStatement().
statement | A possible partially defined statement that serves as a filter for all statements that should be removed. |
Implemented in Soprano::FilterModel, Soprano::StorageModel, Soprano::Inference::InferenceModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, Soprano::Index::IndexFilterModel, and Soprano::Client::DBusModel.
Error::ErrorCode Soprano::Model::removeAllStatements | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
subject | The subject node to match. Can be empty as a wildcard. | |
predicate | The predicate node to match. Can be empty as a wildcard. | |
object | The object node to match. Can be empty as a wildcard. | |
context | The context node to match. Can be empty as a wildcard. |
Reimplemented in Soprano::FilterModel.
Error::ErrorCode Soprano::Model::removeStatements | ( | const QList< Statement > & | statements | ) |
Convenience method which removes all statements in statements.
Reimplemented in Soprano::Util::DummyModel.
Error::ErrorCode Soprano::Model::removeContext | ( | const Node & | ) |
Convenience method that removes all statements in the context.
Reimplemented in Soprano::Util::DummyModel.
Error::ErrorCode Soprano::Model::removeAllStatements | ( | ) |
Convenience method that clear the Model of all statements
Reimplemented in Soprano::Util::DummyModel.
virtual StatementIterator Soprano::Model::listStatements | ( | const Statement & | partial | ) | const [pure virtual] |
Return an iterator over Model Statements that "partial" match the input Statement.
partial | The partial Statement to match. |
Implemented in Soprano::FilterModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
StatementIterator Soprano::Model::listStatements | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
subject | The subject node to match. Can be empty as a wildcard. | |
predicate | The predicate node to match. Can be empty as a wildcard. | |
object | The object node to match. Can be empty as a wildcard. | |
context | The context node to match. Can be empty as a wildcard. |
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
StatementIterator Soprano::Model::listStatements | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in Soprano::Util::DummyModel.
StatementIterator Soprano::Model::listStatementsInContext | ( | const Node & | context | ) | const |
Convenience method which lists all statements in context.
Reimplemented in Soprano::Util::DummyModel.
virtual NodeIterator Soprano::Model::listContexts | ( | ) | const [pure virtual] |
List all contexts in the model, i.e. all named graphs.
Implemented in Soprano::FilterModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
virtual QueryResultIterator Soprano::Model::executeQuery | ( | const QString & | query, | |
Query::QueryLanguage | language, | |||
const QString & | userQueryLanguage = QString() | |||
) | const [pure virtual] |
Execute the given query over the Model.
This is a const read-only method. As such Model implementations should not support SPARQL extensions such as INSERT or UPDATE through this method. A future version of Soprano will provide an additional API for queries that change the Model.
query | The query to evaluate. | |
language | The query language used to encode query . | |
userQueryLanguage | If language equals Query::QueryLanguageUser userQueryLanguage defines the language to use. |
Implemented in Soprano::FilterModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, Soprano::Index::IndexFilterModel, and Soprano::Client::DBusModel.
virtual bool Soprano::Model::containsAnyStatement | ( | const Statement & | statement | ) | const [pure virtual] |
Check if the model contains certain statements.
statement | A partially defined statement that serves as a pattern. |
Implemented in Soprano::FilterModel, Soprano::StorageModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
bool Soprano::Model::containsAnyStatement | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
subject | The subject node to match. Can be empty as a wildcard. | |
predicate | The predicate node to match. Can be empty as a wildcard. | |
object | The object node to match. Can be empty as a wildcard. | |
context | The context node to match. Can be empty as a wildcard. |
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
virtual bool Soprano::Model::containsStatement | ( | const Statement & | statement | ) | const [pure virtual] |
Check if the model contains a statements.
statement | The statement in question. This has to be a valid statement, i.e. subject, predicate, and object need to be defined. If the context node is empty the default graph is searched. |
Implemented in Soprano::FilterModel, Soprano::StorageModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
bool Soprano::Model::containsStatement | ( | const Node & | subject, | |
const Node & | predicate, | |||
const Node & | object, | |||
const Node & | context = Node() | |||
) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
bool Soprano::Model::containsContext | ( | const Node & | context | ) | const |
Convenience method which is based on containsAnyStatement
Reimplemented in Soprano::Util::DummyModel.
virtual bool Soprano::Model::isEmpty | ( | ) | const [pure virtual] |
virtual int Soprano::Model::statementCount | ( | ) | const [pure virtual] |
The number of statements stored in this Model.
Implemented in Soprano::FilterModel, Soprano::Util::DummyModel, Soprano::Util::MutexModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
virtual Error::ErrorCode Soprano::Model::write | ( | QTextStream & | os | ) | const [virtual] |
Write all statements in this Model to os.
Default implementation is based on Model::listStatements
Reimplemented in Soprano::FilterModel, and Soprano::Util::DummyModel.
virtual Node Soprano::Model::createBlankNode | ( | ) | [pure virtual] |
Creates a new blank node with a unique identifier.
Implemented in Soprano::FilterModel, Soprano::Util::DummyModel, Soprano::Util::ReadOnlyModel, and Soprano::Client::DBusModel.
void Soprano::Model::statementsAdded | ( | ) | [signal] |
Emitted when new statements have been added to the model.
Implementations of this interface have to emit this signal.
void Soprano::Model::statementsRemoved | ( | ) | [signal] |
Emitted when statements have been removed from the model.
Implementations of this interface have to emit this signal.
void Soprano::Model::statementAdded | ( | const Soprano::Statement & | statement | ) | [signal] |
Notification signal for new statements. Model implementations should emit this signal for each newly added statement.
void Soprano::Model::statementRemoved | ( | const Soprano::Statement & | statement | ) | [signal] |
Notification signal for removed statements. Model implementations should emit this signal for each removed statement.