6 #ifndef KNOWROB_GOAL_DRIVEN_REASONER_H
7 #define KNOWROB_GOAL_DRIVEN_REASONER_H
11 #include "knowrob/formulas/PredicateIndicator.h"
40 class GoalDrivenReasoner :
public Reasoner {
136 std::shared_ptr<GoalDrivenReasoner>
reasoner;
137 std::shared_ptr<Goal>
query;
void undefineRelation(const PredicateIndicator &indicator)
const auto & definedClasses() const
std::set< PredicateIndicator > definedRelations_
const auto & definedRelations() const
bool hasFeature(GoalDrivenReasonerFeature feature) const
bool isClassDefined(const std::string_view &iri)
bool isRelationDefined(const PredicateIndicator &indicator)
void enableFeature(GoalDrivenReasonerFeature feature)
virtual bool evaluate(GoalPtr query)=0
void undefineClass(const IRIAtomPtr &iri)
void defineRelation(const PredicateIndicator &indicator)
void defineRelation(const IRIAtomPtr &iri)
void defineClass(const IRIAtomPtr &iri)
std::set< PredicateIndicator > definedClasses_
std::shared_ptr< GoalDrivenReasoner > reasoner
std::shared_ptr< Goal > query
std::pair< GoalDrivenReasonerPtr, AtomPtr > DefiningReasoner
IRIAtomPtr iri(std::string_view ns, std::string_view name)
std::shared_ptr< IRIAtom > IRIAtomPtr
std::shared_ptr< GoalDrivenReasoner > GoalDrivenReasonerPtr
GoalDrivenReasonerFeature
@ SupportsSimpleConjunctions
@ SupportsExtensionalGrounding
std::shared_ptr< Goal > GoalPtr