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,
18 const knowCore::UriList& _list) const;
19 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name,
20 const knowCore::Uri& _return, const QList<knowCore::Uri>& _arguments);
21 template<class... Args>
22 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name,
23 const knowCore::Uri& _return, const knowCore::Uri& _argument,
24 Args... _args)
25 {
26 QList<knowCore::Uri> arguments;
27 registerFunction(_sparql_name, _sql_name, _return, arguments, _argument, _args...);
28 }
29 private:
30 template<class... Args>
31 void registerFunction(const knowCore::Uri& _sparql_name, const QString& _sql_name,
32 const knowCore::Uri& _return, QList<knowCore::Uri>& _arguments,
33 const knowCore::Uri& _argument, Args... _args)
34 {
35 _arguments.append(_argument);
36 registerFunction(_sparql_name, _sql_name, _return, _arguments, _args...);
37 }
38 private:
39 struct Private;
40 Private* const d;
41 };
42 } // namespace Repository
43} // namespace kDB
Definition Revision.h:9
Definition Connection.h:26
Definition SPARQLFunctionDefinition.h:9
Definition SPARQLFunctionsManager.h:11
Definition UriList.h:9
Definition Uri.h:15
Definition SPARQLFunctionsManager.cpp:23