OpenCog Framework  Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
opencog::PatternMatch Class Reference

#include <PatternMatch.h>

Static Protected Member Functions

static bool recursive_virtual (PatternMatchCallback &cb, const std::vector< Handle > &virtuals, const std::vector< Handle > &negations, const std::map< Handle, Handle > &var_gnds, const std::map< Handle, Handle > &term_gnds, std::vector< std::vector< std::map< Handle, Handle >>> comp_var_gnds, std::vector< std::vector< std::map< Handle, Handle >>> comp_term_gnds)
 

Friends

class PatternLink
 

Detailed Description

Definition at line 37 of file PatternMatch.h.

Member Function Documentation

bool PatternMatch::recursive_virtual ( PatternMatchCallback cb,
const std::vector< Handle > &  virtuals,
const std::vector< Handle > &  negations,
const std::map< Handle, Handle > &  var_gnds,
const std::map< Handle, Handle > &  term_gnds,
std::vector< std::vector< std::map< Handle, Handle >>>  comp_var_gnds,
std::vector< std::vector< std::map< Handle, Handle >>>  comp_term_gnds 
)
staticprotected

Recursive evaluator/grounder/unifier of virtual link types. The virtual links are in 'virtuals', a partial set of groundings are in 'var_gnds' and 'term_gnds', and a collection of possible groundings for disconnected graph components are in 'comp_var_gnds' and 'comp_term_gnds'.

Notes below explain the recursive step: how the various disconnected components are brought together into a candidate grounding. That candidate is then run through each of the virtual links. If these accept the grounding, then the callback is called to make the final determination.

The recursion step terminates when comp_var_gnds, comp_term_gnds are empty, at which point the actual unification is done.

Definition at line 131 of file PatternMatch.cc.

References dbgprt, opencog::PatternMatchCallback::evaluate_sentence(), opencog::PatternMatchCallback::grounding(), and opencog::PatternMatchEngine::print_solution().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class PatternLink
friend

Definition at line 39 of file PatternMatch.h.


The documentation for this class was generated from the following files: