kDB: Knowledge DataBase
Loading...
Searching...
No Matches
kdb
kDB
Repository
SPARQLFunctionsManager.h
1
#include <QSharedPointer>
2
#include <knowCore/UriList.h>
3
4
namespace
kDB
5
{
6
namespace
Repository
7
{
8
class
Connection;
9
class
SPARQLFunctionDefinition;
10
class
SPARQLFunctionsManager
11
{
12
friend
class
Connection
;
13
public
:
14
SPARQLFunctionsManager
(
const
Connection
& _connection);
15
~SPARQLFunctionsManager
();
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
QList
Definition
Revision.h:9
kDB::Repository::Connection
Definition
Connection.h:26
kDB::Repository::SPARQLFunctionDefinition
Definition
SPARQLFunctionDefinition.h:9
kDB::Repository::SPARQLFunctionsManager
Definition
SPARQLFunctionsManager.h:11
knowCore::UriList
Definition
UriList.h:9
knowCore::Uri
Definition
Uri.h:15
kDB::Repository::SPARQLFunctionsManager::Private
Definition
SPARQLFunctionsManager.cpp:23
Generated by
1.12.0