Questions tagged [nxbre]

NxBRE is an open-source rule engine for the .NET platform. It supports a RuleML sub-language.

NxBRE offers two different rules engine flavors:

  • the Inference Engine, which is a forward-chaining (data driven) deduction engine and that supports concepts like Facts, Queries and Implications (as defined in RuleML Naf Datalog sub-language) and like Rule Priority, Mutual Exclusion and Precondition (as found in many commercial engines). It is designed in a way that encourages the separation of roles between the expert who designs the business rules and the programmer who binds them to the business objects.
  • the Flow Engine, which uses XML as a way to control process flow for an application in an external entity. It is basically a wrapper on C#, as it offers all its flow control commands (if/then/else, while, foreach), plus a context of business objects and results. It is a port of JxBRE v1.7.1 (SourceForge Project from Sloan Seaman) to .NET's Visual C#. NxBRE 's interest lies first into its simplicity, second in the possibility of easily extending its features by delegating to custom code in the Flow Engine or by writing custom RuleBase adapters or Business Objects binders in the Inference Engine.

NxBRE is considered useful for projects that have to deal with:

  • complex business rules that can not be expressed into one uniform structured manner but require the possibility to have free logical expressions,
  • changing business rules that force recompilation if the new rules must meet unexpected requirements.

NxBRE is released under LGPL license in order to allow users to legally build commercial solutions that embed NxBRE.

19 questions
12
votes
9 answers

What would you use for a business validation layer?

In my project I need to create a business object validation layer that will take my object and run it against a set of rules and return either pass or fail and it's list of failure reasons. I know there are quite a few options out there for…
Chris Marisic
  • 32,487
  • 24
  • 164
  • 258
5
votes
1 answer

Is there any Comparison between .NET Workflow RuleEngine and others e.g. NxBRE?

In our project, we need a rule engine component, after a short time research i found that that .NET Workflow also has it's rule engine. is there any complete comparison list between .NET Workflow Rule Engine and others, e.g. NxBRE,…
Ethan Wu
  • 428
  • 5
  • 15
2
votes
1 answer

Passing collection to the xbre Rule

I have a .NET object which is a collection, for example an Employee object containing list of employees. I need to pass the same to the rules engine to do the looping inside the rule file. Can you please help me with code to the same from .NET as…
2
votes
5 answers

How well does Rule Engines performs?

I've been having a look at WF Rules Engine and NxBRE and it seems interesting but I'm unsure of how well it will perform in real life scenarios. The one I have in mind is something like a fact base with between 10 and 100 million facts and rules…
Jorge Córdoba
  • 51,063
  • 11
  • 80
  • 130
1
vote
1 answer

Correct way to declare and use static lists in NxBRE

I am using NxBRE rules engine, and need to be able to check whether some value is in the list. Here is what I try: Defining the list elements:
Michael Sagalovich
  • 2,539
  • 19
  • 26
1
vote
0 answers

Modifying Implications not getting asserted

To the existing Rule file, I added a new Implication(action is modify), 7 Facts and 8 other initial Facts to be modified by the Implication. Ordered them like the chocolatebox example, with the implication at the top. Imp has priority:100 for good…
RTK
  • 15
  • 3
1
vote
1 answer

NxBRE rule engine, call method with passing objects as arguments

I am currently trying to work with NxBRE rule engine https://github.com/ddossot/NxBRE What I am trying to do is to create a rule in .XBRE file in which I call a method in my .CS file with passing an object as argument(not primitive type like…
safa
  • 33
  • 6
1
vote
1 answer

IF statement not evaluating as true

Ageis
  • 2,221
  • 4
  • 22
  • 34
1
vote
1 answer

nxbre with a graph DB like orientDB?

NxBRE can use SQL as a back-end. I think that leveraging a graph DB like OrientDB might yield better results. What would be involved in moving toward that type of backend integration to support scenarios with millions of facts. Since OrientDb has a…
Philippe Lavoie
  • 177
  • 1
  • 7
1
vote
1 answer

Can we do case insensitive comparison in nxbre's if element

I am using NxBre 3.2.0. I want to compare two strings in case insensitive manner but did not find any option in IF element. Is it possible to do so.
1
vote
1 answer

NxBRE- Accessing multiple in a RULE

I have two .NET objects, Employee and Department. In .xbre file I need to setup condition as below, If Employee.EmpID is X and Department.DeptID is Y then do something. So In a given rule, I need to access two objects (employee and department) and…
1
vote
1 answer

NxBRE - Date Validation with the Flow Engine

How to compare a date in .xbre rule file. For example, I have the rule below:
1
vote
1 answer

Loading instance of xml schema into a BRE to be referenced as fact

So I've been looking at a lot of rule engine software, and there is this one thing that I want to do that is either really inconvenient, or else I'm just not understanding documentation (quite likely). Basically, I want an instance of an xml schema…
Gavin Kramar
  • 204
  • 1
  • 7
1
vote
1 answer

Setting Config path for Unit Tests for NxBRE

I'm trying to run some unit-tests for NxBRE before I start referencing it's implementation in the rules-engine project I'm working on. I'm using versions NUnit 2.6 for testing NxBRE 3.2. Since NxBRE came with it's own unit tests in it's own friendly…
Gavin Kramar
  • 204
  • 1
  • 7
1
vote
1 answer

Unable to locate NUnit directory when running NxBRE

I would first like to admit that I am an extremely novice developer, so I'm doing my best to give all of the relevant information to make this question answerable: So I'm trying to do some unit tests for NxBRE before I start attempting further work…
Gavin Kramar
  • 204
  • 1
  • 7
1
2