kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Serialiser.h
1#include <knowCore/ValueHash.h>
2#include <kDB/SPARQL/Algebra/NodeVisitorImplementation.h>
3
4namespace kDB::SPARQL::Algebra::Visitors
5{
6// TODO remove and reuse the one from NodeVisitorImplementation
7#undef __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD
8#define __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(_NAME_, _I_) \
9 QString visit(_NAME_ ## CSP _node, QHash<QString, knowCore::Value>* const&) override;
10
14 class Serialiser : public kDB::SPARQL::Algebra::NodeVisitorImplementation<QString, QHash<QString, knowCore::Value>*>
15 {
16 public:
17 struct Result
18 {
19 QString queryText;
21 };
25 Serialiser(const knowCore::ValueHash& _variables_to_value);
30 static Result serialise(NodeCSP _node, const knowCore::ValueHash& _variables);
31 private:
32 protected:
33 QString visitDefault(NodeCSP _node, QHash<QString, knowCore::Value>* const& _parameter) override;
34 KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD(BlankNode, GroupGraphPattern, LimitOffsetClause,
35 FunctionCall,
36 RelationalEqual, RelationalDifferent,
37 RelationalInferior, RelationalInferiorEqual,
38 RelationalSuperior, RelationalSuperiorEqual,
39 SelectQuery, Term, Triple,
40 Value, Variable, VariableReference,
41 InsertData, DeleteData, QuadsData, Quads);
42 QString visit(const knowCore::Uri& _uri, QHash<QString, knowCore::Value>* _parameter);
43 private:
44 struct Private;
45 Private* const d;
46 };
47}
48
49#undef __KDB_SPARQL_ALGEBRA_NODE_VISITOR_OVERLOAD
Definition Forward.h:10
Definition NodeVisitorImplementation.h:22
static Result serialise(NodeCSP _node, const knowCore::ValueHash &_variables)
Definition Serialiser.cpp:22
Serialiser(const knowCore::ValueHash &_variables_to_value)
Definition Serialiser.cpp:13
Definition Uri.h:15
Definition ValueHash.h:13