Namespace NRules
Contains types that implement runtime components of the rules engine.
Classes
- Activation
Represents a match of all rule's conditions.
- AgendaExpressionEvaluationException
Represents errors that occur while evaluating agenda expression.
- RuleCompilationException
Represents errors that occur while compiling a rule.
- RuleCompiler
Compiles rules in a canonical rule model form into an executable representation.
- RuleCompilerOptions
Provides options to alter default behavior of RuleCompiler.
- RuleExecutionException
Represents errors that occur during rules execution.
- RuleExpressionEvaluationException
Represents errors that occur while evaluating expressions as part of rules execution.
- RuleLhsExpressionEvaluationException
Represents errors that occur while evaluating rule left-hand side expression.
- RuleRhsExpressionEvaluationException
Represents errors that occur while evaluating rule right-hand side expression.
Interfaces
- IAgenda
Agenda stores matches between rules and facts. These matches are called activations. Multiple activations are ordered according to the conflict resolution strategy.
- IFactResult
Result of an operation on a set of facts.
- ILinkedFactSet
Collection of linked facts propagated as a set.
- ILinkedFactSource
Fact source for linked facts.
- ISession
Represents a rules engine session. Created by ISessionFactory. Each session has its own working memory, and exposes operations that manipulate facts in it, as well as fire matching rules.
- ISessionFactory
Represents compiled production rules that can be used to create rules sessions. Created by RuleCompiler by compiling rule model into an executable form.
Enums
- BatchOptions
Defines how batch insert/update/retract of facts behaves. Any fact that already exists in the session during insert is considered failed. Similarly, a fact that does not exist in the session during update or retract is also considered failed. By default, any failed fact in a batch operation fails the whole operation, and no facts are propagated. This behavior can be changed using
BatchOptions
.
- LinkedFactAction
Action taken on the linked fact.
- RuleCompilerUnsupportedExpressionsHandling
Defines different modes of handling of unsupported types of lambda expressions when the compiler is comparing them for the purpose of node sharing in the Rete graph.