kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Query.h
1/*
2 * Copyright (c) 2015 Cyrille Berger <cberger@cberger.net>
3 *
4 */
5
6#ifndef _KDB_SPARQL_QUERY_H_
7#define _KDB_SPARQL_QUERY_H_
8
9#include <QSharedDataPointer>
10
11#include <kDB/Forward.h>
12
13namespace kDB::SPARQL
14{
15 namespace Algebra
16 {
17 class Node;
18 }
19 class Query
20 {
21 protected:
22 struct Private;
23 Query(Private* _private);
24 public:
25 enum class Type
26 {
27 Invalid, Select, Construct, Describe, Ask, Update, Execute, Explain, PL
28 };
29 public:
30 Query();
31 Query(const Query& _rhs);
32 Query& operator=(const Query& _rhs);
33 ~Query();
34 const Algebra::Node* getNode() const;
35 Type type() const;
36 public:
37 static QList<Query> parse(const QByteArray& _query, const knowCore::ValueHash& _bindings, knowCore::Messages* _messages, const knowCore::Uri& _base);
38 static QList<Query> parse(const QString& _query, const knowCore::ValueHash& _bindings, knowCore::Messages* _messages, const knowCore::Uri& _base);
39 protected:
40 QSharedDataPointer<Private> d;
41 };
42}
43
44#endif
Definition Revision.h:9
Definition Node.h:21
Definition Query.h:20
Definition Messages.h:18
Definition Uri.h:15
Definition ValueHash.h:13