5#include <QSharedDataPointer>
11 for(
const Stuff& s : generateStuffs(query_node, knowCore::Uris::askcore_db_queries::result) + generateStuffs(query_node, knowCore::Uris::askcore_db_queries::binding))
13 if(not s.header.isEmpty() and not included_headers.contains(s.header))
15 included_headers.append(s.header);%/
16#include </%= s.header %/>/%
28 class QueryConnectionInfo;
33for(
const QString& ns : namespaces)
44 QString klass_name = toCamelCase(name_node->
literal().
value<QString>().expect_success(),
true);
45 QList<Stuff> returned_stuffs = generateStuffs(query_node, knowCore::Uris::askcore_db_queries::result);
46 QList<Stuff> argumented_stuffs = generateStuffs(query_node, knowCore::Uris::askcore_db_queries::binding);
47 bool single_anomymous_result = returned_stuffs.size() == 1 and returned_stuffs.first().name.isEmpty();
48 bool multiple_return = returned_stuffs.size() > 0;
49 bool single_value_return = queryType(query_query_node->
literal().
value<QString>().expect_success(), argumented_stuffs) == kDB::SPARQL::Query::Type::Ask;
51 class /%= klass_name %/
55 if(single_value_return)
58 typedef /%= returned_stuffs.first().type %/ DataType;/%
59 }
else if(single_anomymous_result)
62 typedef QList</%= returned_stuffs.first().type %/> DataType;/%
63 }
else if(multiple_return)
68 friend struct /%= klass_name %/;
71 Result(
const Result& _rhs);
72 Result& operator=(
const Result& _rhs);
76 for(
const Stuff& rS : returned_stuffs)
78 /%= rS.type %/ /%= toCamelCase(rS.name,
false) %/()
const; /%
82 QSharedDataPointer<Private> d;
90 if(multiple_return or single_anomymous_result or single_value_return)
102for(
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