QtSparql  0.2.6
qsparqlconnection.h
1 /***************************************************************************/
45 #ifndef QSPARQLCONNECTION_H
46 #define QSPARQLCONNECTION_H
47 
48 #include <qsparql.h>
49 #include <qsparqlconnectionoptions.h>
50 #include <qsparqlbinding.h>
51 
52 #include <QtCore/qstring.h>
53 #include <QDebug>
54 QT_BEGIN_HEADER
55 
56 QT_BEGIN_NAMESPACE
57 
58 QT_MODULE(Sparql)
59 
60 class QSparqlError;
61 class QSparqlQuery;
62 class QSparqlResult;
63 class QSparqlConnectionPrivate;
65 class SparqlConnection;
66 
67 class Q_SPARQL_EXPORT QSparqlConnection : public QObject
68 {
69  Q_OBJECT
70 public:
71  enum Feature { QuerySize, DefaultGraph,
72  AskQueries, ConstructQueries, UpdateQueries,
73  SyncExec, AsyncExec };
74  // TODO: QuerySize should be removed (API break).
75 
76  explicit QSparqlConnection(QObject* parent = 0);
77  QSparqlConnection(const QString& type,
79  QObject* parent = 0);
81 
82  QSparqlResult* exec(const QSparqlQuery& query);
83  QSparqlResult* exec(const QSparqlQuery& query, const QSparqlQueryOptions& options);
84  QSparqlResult* syncExec(const QSparqlQuery& query);
85 
86  bool isValid() const;
87  QString driverName() const;
88  bool hasFeature(Feature feature) const;
89  bool hasError() const;
90  QSparqlError lastError() const;
91 
92  void addPrefix(const QString& prefix, const QUrl& uri);
93  void clearPrefixes();
94 
95  QUrl createUrn() const;
96  QSparqlBinding createUrn(const QString& name) const;
97 
98  static QStringList drivers();
99 
100 private:
101  friend class QSparqlConnectionPrivate;
102  friend class SparqlConnection;
103 
104  void qmlConstructor(const QString& type, const QSparqlConnectionOptions& options = QSparqlConnectionOptions());
105 
106  QSparqlConnectionPrivate *d; // replace with Q_DECLARE_PRIVATE when Qt publishes it
107 };
108 // TODO: make "validness" of a connection a QObject property
109 
110 #ifndef QT_NO_DEBUG_STREAM
111 Q_SPARQL_EXPORT QDebug operator<<(QDebug, const QSparqlConnection &);
112 #endif
113 
114 QT_END_NAMESPACE
115 
116 QT_END_HEADER
117 
118 #endif // QSPARQLCONNECTION_H
QSparqlQuery
The QSparqlQuery class provides a means of executing and manipulating SPARQL statements.
Definition: qsparqlquery.h:65
QSparqlBinding
The QSparqlBinding class handles a binding between a SPARQL query variable name and the value of the ...
Definition: qsparqlbinding.h:62
QSparqlError
The QSparqlError class provides SPARQL error information.
Definition: qsparqlerror.h:65
QSparqlConnection::UpdateQueries
@ UpdateQueries
Definition: qsparqlconnection.h:72
QSparqlConnection::QuerySize
@ QuerySize
Definition: qsparqlconnection.h:71
QSparqlConnectionOptions
The QSparqlConnectionOptions class encapsulates options given to QSparqlConnection....
Definition: qsparqlconnectionoptions.h:65
QSparqlConnection::SyncExec
@ SyncExec
Definition: qsparqlconnection.h:73
QSparqlConnection::Feature
Feature
Definition: qsparqlconnection.h:71
QSparqlConnection
The QSparqlConnection class provides an interface for accessing an RDF store.
Definition: qsparqlconnection.h:68
QSparqlResult
The QSparqlResult class provides an abstract interface for accessing the results of an executed QSpar...
Definition: qsparqlresult.h:65
QSparqlQueryOptions
Encapsulates query execution options given to QSparqlConnection::exec(const QSparqlQuery&,...
Definition: qsparqlqueryoptions.h:61