kDB: Knowledge DataBase
Loading...
Searching...
No Matches
SPARQLFunctionsManager.h
1#include <QSharedPointer>
2#include <knowCore/UriList.h>
3
4namespace kDB
5{
6 namespace Repository
7 {
8 class Connection;
9 class SPARQLFunctionDefinition;
11 {
12 friend class Connection;
13 public:
14 SPARQLFunctionsManager(const Connection& _connection);
16 QList<SPARQLFunctionDefinition> function(const knowCore::Uri& _sparql_name) const;
17 SPARQLFunctionDefinition function(const knowCore::Uri& _sparql_name, const knowCore::UriList& _list) const;
18 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name, const knowCore::Uri& _return, const QList<knowCore::Uri>& _arguments);
19 template<class ...Args>
20 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name, const knowCore::Uri& _return, const knowCore::Uri& _argument, Args... _args)
21 {
22 QList<knowCore::Uri> arguments;
23 registerFunction(_sparql_name, _sql_name, _return, arguments, _argument, _args...);
24 }
25 private:
26 template<class ...Args>
27 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name, const knowCore::Uri& _return, QList<knowCore::Uri>& _arguments, const knowCore::Uri& _argument, Args... _args)
28 {
29 _arguments.append(_argument);
30 registerFunction(_sparql_name, _sql_name, _return, _arguments, _args...);
31 }
32 private:
33 struct Private;
34 Private* const d;
35 };
36 }
37}
Definition Revision.h:9
Definition Connection.h:25
Definition SPARQLFunctionDefinition.h:9
Definition SPARQLFunctionsManager.h:11
Definition UriList.h:9
Definition Uri.h:15
Definition SPARQLFunctionsManager.cpp:23