6 #ifndef KNOWROB_DATA_DRIVEN_REASONER_H
7 #define KNOWROB_DATA_DRIVEN_REASONER_H
20 class DataDrivenReasoner :
public Reasoner {
66 void emit(
const std::shared_ptr<reasoner::Event> &event);
105 std::chrono::duration<double>
updateInterval_ = std::chrono::seconds(1);
109 std::chrono::time_point<std::chrono::high_resolution_clock>
lastUpdate_;
void processRetraction(const std::vector< TriplePtr > &triples)
bool hasFeature(Feature feature) const
void setUpdateInterval(double intervalInSeconds)
void emit(const std::shared_ptr< reasoner::Event > &event)
void observe(const std::string &queryString, const BindingsHandler &handler)
std::shared_ptr< ThreadPool::Runner > updateRunner_
void processInvalidation()
void enableFeature(Feature feature)
auto updateInterval() const
void processAssertion(const std::vector< TriplePtr > &triples)
std::chrono::duration< double > updateInterval_
std::set< TriplePtr > inferredTriples_
void observe(const std::shared_ptr< GraphQuery > &query, const BindingsHandler &handler)
void setReasonerOrigin(const std::vector< TriplePtr > &triples)
std::chrono::time_point< std::chrono::high_resolution_clock > lastUpdate_
void processReplacement(const std::vector< TriplePtr > &triples)
std::function< void(const BindingsPtr &)> BindingsHandler
std::shared_ptr< DataDrivenReasoner > DataDrivenReasonerPtr