00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SOPRANO_SPARQL_MODEL_H_
00024 #define _SOPRANO_SPARQL_MODEL_H_
00025
00026 #include "model.h"
00027 #include "soprano_export.h"
00028 #include "asyncresult.h"
00029
00030
00031
00032
00033
00034 namespace Soprano {
00035 namespace Client {
00053 class SOPRANO_CLIENT_EXPORT SparqlModel : public Soprano::Model
00054 {
00055 Q_OBJECT
00056
00057 public:
00069 SparqlModel( const QString& host = QString(),
00070 quint16 port = 80,
00071 const QString& user = QString(),
00072 const QString& password = QString() );
00073
00077 ~SparqlModel();
00078
00080
00087 void setHost( const QString& host, quint16 port = 80 );
00088
00096 void setUser( const QString& user, const QString& password = QString() );
00097
00105 void setPath( const QString& path );
00107
00109
00120 Error::ErrorCode addStatement( const Statement& statement );
00121
00133 Error::ErrorCode removeStatement( const Statement& statement );
00134
00148 Error::ErrorCode removeAllStatements( const Statement& statement );
00150
00152 Soprano::StatementIterator listStatements( const Statement& partial ) const;
00153
00165 Soprano::QueryResultIterator executeQuery( const QString& query,
00166 Query::QueryLanguage language = Query::QueryLanguageSparql,
00167 const QString& userQueryLanguage = QString() ) const;
00168
00169
00170
00184 Soprano::Util::AsyncResult* executeQueryAsync( const QString& query,
00185 Query::QueryLanguage language = Query::QueryLanguageSparql,
00186 const QString& userQueryLanguage = QString() ) const;
00187
00188 NodeIterator listContexts() const;
00189
00190 bool containsStatement( const Statement& statement ) const;
00191
00192 bool containsAnyStatement( const Statement& statement ) const;
00194
00196
00201 int statementCount() const;
00202
00208 bool isEmpty() const;
00210
00216 Node createBlankNode();
00217
00218 using Model::addStatement;
00219 using Model::removeStatement;
00220 using Model::removeAllStatements;
00221 using Model::listStatements;
00222 using Model::containsStatement;
00223 using Model::containsAnyStatement;
00224
00225 private Q_SLOTS:
00226 void slotRequestFinished( int id, bool error, const QByteArray& data );
00227
00228 private:
00229 class Private;
00230 Private* const d;
00231 };
00232 }
00233 }
00234
00235 #endif