00001
00044 #ifndef QSPARQLQUERY_H
00045 #define QSPARQLQUERY_H
00046
00047 #include <QtSparql/qsparql.h>
00048
00049 #include <QtCore/qstring.h>
00050
00051 QT_BEGIN_HEADER
00052
00053 QT_BEGIN_NAMESPACE
00054
00055 QT_MODULE(Sparql)
00056
00057 class QVariant;
00058 template <class Key, class T> class QMap;
00059 class QSparqlResultRow;
00060 class QSparqlBinding;
00061 class QSparqlQueryPrivate;
00062
00063 class Q_SPARQL_EXPORT QSparqlQuery
00064 {
00065 public:
00066 enum StatementType { SelectStatement, AskStatement,
00067 ConstructStatement, DescribeStatement,
00068 InsertStatement, DeleteStatement };
00069 explicit QSparqlQuery(const QString& query = QString(),
00070 StatementType type = SelectStatement);
00071 QSparqlQuery(const QSparqlQuery& other);
00072 QSparqlQuery& operator=(const QSparqlQuery& other);
00073 ~QSparqlQuery();
00074
00075 StatementType type() const;
00076 void setType(StatementType type);
00077
00078 QString query() const;
00079 void setQuery(const QString& query);
00080
00081 void bindValue(const QString& placeholder, const QVariant& val);
00082 void bindValue(const QSparqlBinding& binding);
00083 void bindValues(const QSparqlResultRow& bindings);
00084 QVariant boundValue(const QString& placeholder) const;
00085 QMap<QString, QSparqlBinding> boundValues() const;
00086 void unbindValues();
00087
00088 QString preparedQueryText() const;
00089
00090 private:
00091 QSparqlQueryPrivate* d;
00092 };
00093
00094 QT_END_NAMESPACE
00095
00096 QT_END_HEADER
00097
00098 #endif // QSPARQLQUERY_H