6 #ifndef KNOWROB_QUERY_PIPELINE_H
7 #define KNOWROB_QUERY_PIPELINE_H
12 #include "knowrob/formulas/DependencyGraph.h"
13 #include "knowrob/semweb/GraphPathQuery.h"
15 #include "knowrob/reasoner/Computable.h"
48 void operator>>(
const std::shared_ptr<TokenStream> &stage);
63 const std::shared_ptr<KnowledgeBase> &kb,
64 const std::list<DependencyNodePtr> &dependencyGroup);
67 const std::shared_ptr<KnowledgeBase> &kb,
68 std::vector<ComputablePtr> &computableLiterals,
69 const std::shared_ptr<TokenBroadcaster> &pipelineInput,
70 const std::shared_ptr<TokenBroadcaster> &pipelineOutput,
AnswerBuffer_WithReference(const std::shared_ptr< QueryPipeline > &pipeline)
std::shared_ptr< QueryPipeline > pipeline_
void addInitialStage(const std::shared_ptr< TokenStream > &stage)
std::vector< std::shared_ptr< TokenStream > > initialStages_
QueryPipeline(const std::shared_ptr< KnowledgeBase > &kb, const FormulaPtr &phi, const QueryContextPtr &ctx)
static std::vector< ComputablePtr > createComputationSequence(const std::shared_ptr< KnowledgeBase > &kb, const std::list< DependencyNodePtr > &dependencyGroup)
std::shared_ptr< TokenBroadcaster > finalStage_
std::shared_ptr< TokenBuffer > bufferStage_
static void createComputationPipeline(const std::shared_ptr< KnowledgeBase > &kb, std::vector< ComputablePtr > &computableLiterals, const std::shared_ptr< TokenBroadcaster > &pipelineInput, const std::shared_ptr< TokenBroadcaster > &pipelineOutput, const QueryContextPtr &ctx)
QueryPipeline(const std::shared_ptr< KnowledgeBase > &kb, const ConjunctiveQueryPtr &conjunctiveQuery)
void operator>>(const std::shared_ptr< TokenStream > &stage)
std::shared_ptr< Formula > FormulaPtr
std::shared_ptr< ConjunctiveQuery > ConjunctiveQueryPtr
std::shared_ptr< const QueryContext > QueryContextPtr