4#include <QSharedDataPointer>
10 for(
const Stuff& s : generateStuffs(query_node, knowCore::Uris::askcore_queries::result) + generateStuffs(query_node, knowCore::Uris::askcore_queries::binding))
12 if(not s.header.isEmpty() and not included_headers.contains(s.header))
14 included_headers.append(s.header);%/
15#include </%= s.header %/>/%
27 class QueryConnectionInfo;
32for(
const QString& ns : namespaces)
43 QString klass_name = toCamelCase(name_node->
literal().
value<QString>().expectSuccess(),
true);
44 QList<Stuff> returned_stuffs = generateStuffs(query_node, knowCore::Uris::askcore_queries::result);
45 QList<Stuff> argumented_stuffs = generateStuffs(query_node, knowCore::Uris::askcore_queries::binding);
46 bool single_anomymous_result = returned_stuffs.size() == 1 and returned_stuffs.first().name.isEmpty();
47 bool multiple_return = returned_stuffs.size() > 0;
48 bool single_value_return = queryType(query_query_node->
literal().
value<QString>().expectSuccess(), argumented_stuffs) == kDB::SPARQL::Query::Type::Ask;
50 class /%= klass_name %/
54 if(single_value_return)
57 typedef /%= returned_stuffs.first().type %/ DataType;/%
58 }
else if(single_anomymous_result)
61 typedef QList</%= returned_stuffs.first().type %/> DataType;/%
62 }
else if(multiple_return)
67 friend struct /%= klass_name %/;
70 Result(
const Result& _rhs);
71 Result& operator=(
const Result& _rhs);
75 for(
const Stuff& rS : returned_stuffs)
77 /%= rS.type %/ /%= toCamelCase(rS.name,
false) %/()
const; /%
81 QSharedDataPointer<Private> d;
89 if(multiple_return or single_anomymous_result or single_value_return)
101for(
const QString& ns : namespaces)
Definition QueryConnectionInfo.h:8
cres_qresult< _T_ > value(TypeCheckingMode _conversion=TypeCheckingMode::Safe) const
Definition Value.h:353
const Node * getFirstChild(const knowCore::Uri &_predicate) const
Definition Node.cpp:174
Literal literal() const
Definition Node.cpp:123