Table of Contents

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.

RuleRepositoryExtensions
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.