P6R::p6IRuleEngine Interface Reference

This component implenents a forward chaining inference engine. More...

#include <p6ruleengine.h>

Inherits P6R::p6ICom.

List of all members.

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.

Detailed Description

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.


The documentation for this interface was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
Copyright © 2004 - 2010 P6R Inc. - All Rights Reserved.