|
|
Home | Loader API | Interfaces | File List | Index | |
This component implenents a forward chaining inference engine. More...
#include <p6ruleengine.h>
Inherits P6R::p6ICom.
Public Member Functions | |
virtual P6R::P6INT32 | addref ()=0 |
This method increases the reference count of the component instance by one. | |
virtual P6R::P6ERR | continueFacts (const P6CHAR *pBuffer, P6UINT32 bufSize, P6BOOL isLast)=0 |
A successful call to startFacts() method must be called before a call to this method is allowed. | |
virtual P6R::P6ERR | evaluate (P6CHAR *pRuleSetName)=0 |
Run the forward-chaining rule engine by interpreting the currently defined rules against the currently defined facts (if any). | |
virtual P6R::P6ERR | initialize (P6RULEFLAGS flags, p6IDataStream *pErrorResult)=0 |
Sets up the component to run properly. | |
virtual P6R::P6ERR | modifyRules (const P6CHAR *pRuleDef)=0 |
Add, modify, and/or delete rules to the rule base stored in the component. | |
virtual P6R::P6ERR | outputInferredFacts (p6IDataStream *pResult)=0 |
This method provides a means to extract the generated inferred facts from the current state of the rule engine. | |
virtual P6R::P6ERR | outputStatistics (p6IDataStream *pResult)=0 |
If the P6RULE_KEEPSTATS flag was set in the initialize() method, then this method provides a means to extract the statistics that have beeen keep in rule execution. | |
virtual P6R::P6ERR | queryInterface (const P6R::IID &iid, P6R::P6VOID **ppIface)=0 |
This method queries the component for a specific interface. | |
virtual P6R::P6INT32 | release ()=0 |
This method decrements a components reference count. | |
virtual P6R::P6ERR | reset (P6RULERESETS flag)=0 |
Clear various state information generated at run time. | |
virtual P6R::P6ERR | setDefaultCollation (const P6CHAR *pCollate)=0 |
The rule engine uses the default collation from the runtime enviroment. | |
virtual P6R::P6ERR | setEvalLimits (P6UINT32 maxExecuteRules)=0 |
This is an optional feature that allows the caller to modify the rule evaluation process. | |
virtual P6R::P6ERR | setExternalFunctions (p6IXpathVariables *pConnector)=0 |
XPath 2.0 is used as the rule engine expression language. | |
virtual P6R::P6ERR | setRegexLimits (P6UINT32 maxBackStack, P6UINT32 maxBackTracks)=0 |
As default there are NO limits on the execution of a regular expression in an XPath expression. | |
virtual P6R::P6ERR | startFacts (const P6CHAR *pBuffer, P6UINT32 bufSize, P6BOOL isLast)=0 |
We represent all facts in this rule engine as a DOM XML tree. | |
virtual P6R::P6ERR | startFactsWithDOM (p6IDOMXML *pStatedFacts)=0 |
This method has the same effect as the startsFacts() method above. |
This component implenents a forward chaining inference engine.
It uses P6R's XPath 2.0 as its expression language and thus supports both XML and JSON format for stated fact input. Inferred facts are placed and accessed on a DOM tree.
Definition at line 90 of file p6ruleengine.h.