Soprano 2.9.4
Public Member Functions | Protected Member Functions | List of all members
Soprano::FilterModel Class Reference

A FilterModel is a virtual model that wraps another Model. More...

#include <Soprano/FilterModel>

+ Inheritance diagram for Soprano::FilterModel:

Public Member Functions

virtual ~FilterModel ()
 
virtual void setParentModel (Model *model)
 
virtual ModelparentModel () const
 
virtual Error::ErrorCode addStatement (const Statement &statement)
 
Error::ErrorCode addStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node())
 
virtual Error::ErrorCode removeStatement (const Statement &statement)
 
Error::ErrorCode removeStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node())
 
virtual Error::ErrorCode removeAllStatements (const Statement &statement)
 
Error::ErrorCode removeAllStatements (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node())
 
virtual StatementIterator listStatements (const Statement &partial) const
 
StatementIterator listStatements (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const
 
virtual NodeIterator listContexts () const
 
virtual QueryResultIterator executeQuery (const QString &query, Query::QueryLanguage language, const QString &userQueryLanguage=QString()) const
 
virtual bool containsStatement (const Statement &statement) const
 
bool containsStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const
 
virtual bool containsAnyStatement (const Statement &statement) const
 
bool containsAnyStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const
 
virtual bool isEmpty () const
 
virtual int statementCount () const
 
virtual Error::ErrorCode write (QTextStream &os) const
 
virtual Node createBlankNode ()
 
virtual Error::ErrorCode addStatement (const Statement &statement)=0
 
Error::ErrorCode addStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node())
 
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 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
 
virtual bool containsStatement (const Statement &statement) const=0
 
bool containsStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const
 
virtual bool containsAnyStatement (const Statement &statement) const=0
 
bool containsAnyStatement (const Node &subject, const Node &predicate, const Node &object, const Node &context=Node()) const
 
- Public Member Functions inherited from Soprano::Model
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
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent=0)
 
 blockSignals (bool block)
 
 childEvent (QChildEvent *event)
 
 children ()
 
 connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type=Qt::AutoCompatConnection)
 
 connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type=Qt::AutoCompatConnection)
 
 connectNotify (const char *signal)
 
 customEvent (QEvent *event)
 
 deleteLater ()
 
 destroyed (QObject *obj=0)
 
 disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
 disconnect (const char *signal=0, const QObject *receiver=0, const char *method=0)
 
 disconnect (const QObject *receiver, const char *method=0)
 
 disconnectNotify (const char *signal)
 
 dumpObjectInfo ()
 
 dumpObjectTree ()
 
 dynamicPropertyNames ()
 
 event (QEvent *e)
 
 eventFilter (QObject *watched, QEvent *event)
 
 findChild (const QString &name=QString()
 
 findChildren (const QString &name=QString()
 
 findChildren (const QRegExp &regExp)
 
 inherits (const char *className)
 
 installEventFilter (QObject *filterObj)
 
 isWidgetType ()
 
 killTimer (int id)
 
 metaObject ()
 
 moveToThread (QThread *targetThread)
 
 parent ()
 
 property (const char *name)
 
 receivers (const char *signal)
 
 removeEventFilter (QObject *obj)
 
 sender ()
 
 setParent (QObject *parent)
 
 setProperty (const char *name, const QVariant &value)
 
 signalsBlocked ()
 
 startTimer (int interval)
 
 thread ()
 
 timerEvent (QTimerEvent *event)
 
 tr (const char *sourceText, const char *comment=0, int n=-1)
 
 trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
 staticMetaObject
 
 QObject (QObject *parent, const char *name)
 
 checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
 child (const char *objName, const char *inheritsClass=0, bool recursiveSearch=true)
 
 className ()
 
 insertChild (QObject *object)
 
 isA (const char *className)
 
 name ()
 
 name (const char *defaultName)
 
 normalizeSignalSlot (const char *signalSlot)
 
 removeChild (QObject *object)
 
 setName (const char *name)
 
- Public Member Functions inherited from Soprano::Error::ErrorCache
virtual ~ErrorCache ()
 
virtual Error lastError () const
 

Protected Member Functions

 FilterModel ()
 
 FilterModel (Model *parent)
 
virtual void parentStatementsAdded ()
 
virtual void parentStatementsRemoved ()
 
virtual void parentStatementAdded (const Statement &)
 
virtual void parentStatementRemoved (const Statement &)
 
- Protected Member Functions inherited from Soprano::Model
 Model ()
 
- Protected Member Functions inherited from Soprano::Error::ErrorCache
 ErrorCache ()
 
void clearError () const
 
void setError (const Error &) const
 
void setError (const QString &errorMessage, int code=ErrorUnknown) const
 

Additional Inherited Members

- Signals inherited from Soprano::Model
void statementsAdded ()
 
void statementsRemoved ()
 
void statementAdded (const Soprano::Statement &statement)
 
void statementRemoved (const Soprano::Statement &statement)
 

Detailed Description

A FilterModel is a virtual model that wraps another Model.

FilterModels can be stacked to provide filtering on each of the Model's methods. A FilterModel has a parent model which is the data base for this filter. The parent can be an actual StorageModel or another FilterModel.

Error handling:

The FilterModel "inherits" its parent Model's errors, i.e. FilterModel::lastError() always equals FilterModel::parent()->lastError() (If the FilterModel implementations are called in subclasses).

Author
Sebastian Trueg trueg.nosp@m.@kde.nosp@m..org

Definition at line 48 of file filtermodel.h.

Constructor & Destructor Documentation

◆ ~FilterModel()

virtual Soprano::FilterModel::~FilterModel ( )
virtual

Destructor

◆ FilterModel() [1/2]

Soprano::FilterModel::FilterModel ( )
protected

Create an empty filter model.

◆ FilterModel() [2/2]

Soprano::FilterModel::FilterModel ( Model parent)
protected

Create a new FilterModel which works on parent. Calls setParentModel.

Parameters
parentThe parent Model.

Member Function Documentation

◆ setParentModel()

virtual void Soprano::FilterModel::setParentModel ( Model model)
virtual

Set the parent Model.

Parameters
modelThe Model that this filter will forward any commands to.

◆ parentModel()

virtual Model * Soprano::FilterModel::parentModel ( ) const
virtual

Get the parent model.

Returns
The parent Model or 0 if none has been set.

◆ addStatement() [1/4]

virtual Error::ErrorCode Soprano::FilterModel::addStatement ( const Statement statement)
virtual

◆ addStatement() [2/4]

Error::ErrorCode Soprano::FilterModel::addStatement ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
)

◆ removeStatement() [1/4]

virtual Error::ErrorCode Soprano::FilterModel::removeStatement ( const Statement statement)
virtual

◆ removeStatement() [2/4]

Error::ErrorCode Soprano::FilterModel::removeStatement ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
)

◆ removeAllStatements() [1/5]

virtual Error::ErrorCode Soprano::FilterModel::removeAllStatements ( const Statement statement)
virtual

◆ removeAllStatements() [2/5]

Error::ErrorCode Soprano::FilterModel::removeAllStatements ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
)

◆ listStatements() [1/5]

virtual StatementIterator Soprano::FilterModel::listStatements ( const Statement partial) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::AsyncModel, Soprano::Util::AsyncModel, Soprano::Util::MutexModel, Soprano::Util::MutexModel, Soprano::Util::AsyncModel, and Soprano::Util::MutexModel.

◆ listStatements() [2/5]

StatementIterator Soprano::FilterModel::listStatements ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
) const

Reimplemented for convenience. Calls Model::listStatements(const Node&,const Node&,const Node&,const Node&)

◆ listContexts()

virtual NodeIterator Soprano::FilterModel::listContexts ( ) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::AsyncModel, and Soprano::Util::MutexModel.

◆ executeQuery()

virtual QueryResultIterator Soprano::FilterModel::executeQuery ( const QString query,
Query::QueryLanguage  language,
const QString userQueryLanguage = QString() 
) const
virtual

Default implementation simply pipes the call through to the parent model. Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Index::IndexFilterModel, Soprano::NRLModel, Soprano::Util::AsyncModel, and Soprano::Util::MutexModel.

◆ containsStatement() [1/4]

virtual bool Soprano::FilterModel::containsStatement ( const Statement statement) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::AsyncModel, Soprano::Util::MutexModel, Soprano::Util::MutexModel, Soprano::Util::AsyncModel, and Soprano::Util::MutexModel.

◆ containsStatement() [2/4]

bool Soprano::FilterModel::containsStatement ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
) const

Reimplemented for convenience. Calls Model::containsStatement(const Node&,const Node&,const Node&,const Node&)

◆ containsAnyStatement() [1/4]

virtual bool Soprano::FilterModel::containsAnyStatement ( const Statement statement) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::AsyncModel, Soprano::Util::MutexModel, Soprano::Util::MutexModel, Soprano::Util::AsyncModel, and Soprano::Util::MutexModel.

◆ containsAnyStatement() [2/4]

bool Soprano::FilterModel::containsAnyStatement ( const Node subject,
const Node predicate,
const Node object,
const Node context = Node() 
) const

Reimplemented for convenience. Calls Model::containsAnyStatement(const Node&,const Node&,const Node&,const Node&)

◆ isEmpty()

virtual bool Soprano::FilterModel::isEmpty ( ) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::MutexModel.

◆ statementCount()

virtual int Soprano::FilterModel::statementCount ( ) const
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

Reimplemented in Soprano::Util::MutexModel.

◆ write()

virtual Error::ErrorCode Soprano::FilterModel::write ( QTextStream os) const
virtual

Default implementation simply pipes the call through to the parent model.

Reimplemented from Soprano::Model.

◆ createBlankNode()

virtual Node Soprano::FilterModel::createBlankNode ( )
virtual

Default implementation simply pipes the call through to the parent model.

Implements Soprano::Model.

◆ parentStatementsAdded()

virtual void Soprano::FilterModel::parentStatementsAdded ( )
protectedvirtual

Handle a statementsAdded() signal from the parent Model.

The default implementation simply re-emits the signal.

Reimplemented in Soprano::Util::SignalCacheModel.

◆ parentStatementsRemoved()

virtual void Soprano::FilterModel::parentStatementsRemoved ( )
protectedvirtual

Handle a statementsRemoved() signal from the parent Model.

The default implementation simply re-emits the signal.

Reimplemented in Soprano::Util::SignalCacheModel.

◆ parentStatementAdded()

virtual void Soprano::FilterModel::parentStatementAdded ( const Statement )
protectedvirtual

Handle a statementsAdded() signal from the parent Model.

The default implementation simply re-emits the signal.

◆ parentStatementRemoved()

virtual void Soprano::FilterModel::parentStatementRemoved ( const Statement )
protectedvirtual

Handle a statementsRemoved() signal from the parent Model.

The default implementation simply re-emits the signal.

◆ addStatement() [3/4]

virtual Error::ErrorCode Soprano::Model::addStatement ( const Statement statement)
virtual

◆ addStatement() [4/4]

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.

◆ removeStatement() [3/4]

virtual Error::ErrorCode Soprano::Model::removeStatement ( const Statement statement)
virtual

Remove one statement. For removing statements with wildward matching see removeAllStatements().

Parameters
statementThe statement that should be removed. This has to be a valid statement.
Returns
Error::ErrorNone on success and an error code if statement was invalid or an error occured.

Implements Soprano::Model.

Reimplemented in Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, Soprano::Util::MutexModel, Soprano::Util::MutexModel, Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, and Soprano::Util::MutexModel.

◆ removeStatement() [4/4]

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.

◆ removeAllStatements() [3/5]

virtual Error::ErrorCode Soprano::Model::removeAllStatements ( const Statement statement)
virtual

Remove all statements that match the partial statement. For removing one specific statement see removeStatement().

Parameters
statementA possible partially defined statement that serves as a filter for all statements that should be removed.

Implements Soprano::Model.

Reimplemented in Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, Soprano::NRLModel, Soprano::Util::MutexModel, Soprano::Util::MutexModel, Soprano::Index::IndexFilterModel, Soprano::Inference::InferenceModel, and Soprano::Util::MutexModel.

◆ removeAllStatements() [4/5]

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.

Parameters
subjectThe subject node to match. Can be empty as a wildcard.
predicateThe predicate node to match. Can be empty as a wildcard.
objectThe object node to match. Can be empty as a wildcard.
contextThe context node to match. Can be empty as a wildcard.

◆ removeAllStatements() [5/5]

Error::ErrorCode Soprano::Model::removeAllStatements ( )

Convenience method that clear the Model of all statements

◆ listStatements() [3/5]

virtual StatementIterator Soprano::Model::listStatements ( const Statement partial) const
virtual

Return an iterator over Model Statements that "partial" match the input Statement.

Parameters
partialThe partial Statement to match.
Returns
An iterator for all the matched Statements, on error an invalid iterator is returned.

Implements Soprano::Model.

Reimplemented in Soprano::Util::MutexModel, Soprano::Util::MutexModel, and Soprano::Util::MutexModel.

◆ listStatements() [4/5]

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.

Parameters
subjectThe subject node to match. Can be empty as a wildcard.
predicateThe predicate node to match. Can be empty as a wildcard.
objectThe object node to match. Can be empty as a wildcard.
contextThe context node to match. Can be empty as a wildcard.
Returns
An iterator for all the matched Statements, on error an invalid iterator is returned.

◆ listStatements() [5/5]

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.

Returns
An iterator for all statements in the model, on error an invalid iterator is returned.

◆ containsStatement() [3/4]

virtual bool Soprano::Model::containsStatement ( const Statement statement) const
virtual

Check if the model contains a statements.

Parameters
statementThe 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.
Returns
true if the Model contains the Statement, false otherwise or is statement is invalid.

Implements Soprano::Model.

Reimplemented in Soprano::Util::MutexModel, Soprano::Util::MutexModel, and Soprano::Util::MutexModel.

◆ containsStatement() [4/4]

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.

◆ containsAnyStatement() [3/4]

virtual bool Soprano::Model::containsAnyStatement ( const Statement statement) const
virtual

Check if the model contains certain statements.

Parameters
statementA partially defined statement that serves as a pattern.
Returns
true if the Model contains a Statement matching the given statement pattern.

Implements Soprano::Model.

Reimplemented in Soprano::Util::MutexModel, Soprano::Util::MutexModel, and Soprano::Util::MutexModel.

◆ containsAnyStatement() [4/4]

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.

Parameters
subjectThe subject node to match. Can be empty as a wildcard.
predicateThe predicate node to match. Can be empty as a wildcard.
objectThe object node to match. Can be empty as a wildcard.
contextThe context node to match. Can be empty as a wildcard.

The documentation for this class was generated from the following file: