6 #ifndef KNOWROB_REIFIED_QUERY_H
7 #define KNOWROB_REIFIED_QUERY_H
9 #include "knowrob/semweb/GraphQuery.h"
10 #include "knowrob/semweb/Vocabulary.h"
11 #include "knowrob/semweb/GraphPattern.h"
12 #include "knowrob/semweb/GraphUnion.h"
13 #include "knowrob/semweb/GraphSequence.h"
25 class ReifiedQuery :
public GraphQuery {
61 std::shared_ptr<GraphTerm>
reifyPattern(
const std::shared_ptr<GraphPattern> &nonReified);
63 std::shared_ptr<GraphUnion>
reifyUnion(
const std::shared_ptr<GraphUnion> &graphUnion);
65 std::shared_ptr<GraphSequence>
reifySequence(
const std::shared_ptr<GraphSequence> &graphSequence);
67 void reifyConnective(
const std::shared_ptr<GraphConnective> &reifiedConnective,
const std::shared_ptr<GraphConnective> &originalConnective);
void reifyConnective(const std::shared_ptr< GraphConnective > &reifiedConnective, const std::shared_ptr< GraphConnective > &originalConnective)
ReifiedQuery(const TriplePattern &nonReified, VocabularyPtr vocabulary, bool withFullFrame=false)
std::shared_ptr< GraphTerm > reifiedPatternSequence(const TriplePattern &pattern)
static int getReificationFlags(const TriplePattern &q)
std::shared_ptr< GraphTerm > reifyPattern(const std::shared_ptr< GraphPattern > &nonReified)
VocabularyPtr vocabulary_
ReifiedQuery(const std::shared_ptr< GraphQuery > &nonReified, VocabularyPtr vocabulary, bool withFullFrame=false)
static bool hasReifiablePattern(const std::shared_ptr< GraphQuery > &nonReified)
static bool hasReifiablePattern(const GraphTerm *term)
std::shared_ptr< GraphUnion > reifyUnion(const std::shared_ptr< GraphUnion > &graphUnion)
void setNonReified(const std::shared_ptr< GraphTerm > &nonReified)
std::shared_ptr< GraphSequence > reifySequence(const std::shared_ptr< GraphSequence > &graphSequence)
GraphTermRule & pattern()
std::shared_ptr< Vocabulary > VocabularyPtr