No results
- Last Updated: May 3, 2021
- 1 minute read
- Corticon
- Version 7.2
- Documentation
Failure of a rule to produce any results indicates that the rule is telling the rule engine to do something it cannot do. (This assumes, of course, that the rule should fire under normal circumstances.) Frequently, this means the engine tries to perform an operation on a term that does not exist or is not defined at the time of rule execution. For example, trying to:
- Increment or decrement an attribute (using the
+=or-=operators, respectively) whose value does not exist (in other words, has anullvalue). - Post a message to an entity that does not exist, either because it was not part of the Ruletest to begin with, or because it was deleted or re-associated by prior rules.
- Post a message with an embedded term from the Vocabulary whose value does not exist in the Ruletest, or was deleted by prior rules.
- Create (using the
.newoperator) a collection child element where no parent exists, either because it was not part of the Ruletest to begin with, or because it was deleted or re-associated by prior rules. - Trying to forward-chain: using the results of one expression as the input to another within the same rule. For example, if Action row B in a given rule derives a value that is required in Action row C, then the rule may not fire. Both Actions must be executable independently in order for the rule to fire. If forward-chaining is required in the decision logic, then the chaining steps should be expressed as separate rules.