Weblinks: Inference Engines

Categories

Links in this category

Link - Commercial Inference Engines

Updated Sept 8 2008: added BizTalk links ( after much agonized debate with myself )

Generally identical to "enterprise" business rule engines, usually implemented in Java or C++. This category excludes many pattern or search engines geared toward business intelligence and data mining.

Link - Fair Issac / Blaze

A very big, enterprise level Java RE environment ...

Link - Java Rules Org

... building business rule applications or rule-based systems using the Java programming language.

* Promote rule-based programming in Java in general.

* Provide a vendor neutral portal for finding and sharing information.

* Inform and educate implementors and users of the "Java Rule Engine API" (JSR-94).

* Discuss future evolutions of the Java Rule Engine API.

Link - OpenLexicon

Java, Eclipse plugins, server supporting WSDL.

Link - OpenRules

Excel + Java + Eclipse

A combination of Excel, Eclipse, and Open Source Tools, backed by OpenRules support, forms a practical framework for full-scale Business Rules Management and rules-based Web Application Development. OpenRules embodies an ingenious software architecture that maximizes customizability and is open to any integration solution. Extensive reuse of proven, commonly available software results in a framework that matches or exceeds similar commercial systems in speed, compactness, and ease of use.

http://openrules.com/overview.htm

Links - Drools

Drools is probably the leading Open Source Java rule engine and rule management environment. It is the community version of commercial JBoss Rules. The whole operation os very solid - the Drools/JBoss Rules User Guide is among the best of any business rules product, either open source or commercial.

The following is a heavily paraphrased version of the three main points on Drools site:

Links - Java Open Source Inference Engines

Feb 3 2009: reflections on the power of modern marketing in selecting rule engines.

Sun appears to be serious about open sourcing the Java Development Kit and Virtual Machine, so it is time to consider Java as an environment for implementing Open Source rule and inference engines.

As an interpreted language, the performance and resource consumption of client and server-side solutions will probably be a critical design factor, particularly as Java-based rule engines tend to aspire to enterprise-level applications.

Links - Javascript Inference Engines

March 28 2009: added links, few edits. revisiting subject in general

There are some Javascript oldies but goodies to be found on the Web.

There was an active Javascript inference engine at CNLP ( Syracuse Univeristy ) at some point, but it may be moribund. From the site:

Links - Join Calculus

Some interesting possibilities that may lead to a better RETE algoritm. There are some good article suggesting directions for investigation but references on the web are still a bit thin.

Links - Open Source C++ Inference Engines

Updated Oct 3 2008:

C++ engines are often neglected for web-based inferencing applications, but compilation is possible on non-shared hosting ...

Links - OWL/RDF Inferencing

More pattern matching and structural parsing than symbolic processing in a classical sense of an inference engine.

Links - PHP Rule Engines

Updated: Sept 24 2008: more links, RAP

A very thin category at the moment, but the new Drupal Rules project may help to fill it out.

The RAP project has a simple forward and backward chaining inference engine using networks of relationships rather than condition/action statements like a true rule engine.

Links - Ruby Rule Engines

Updated Sept 19 2008: added Ruby/EventMachine links
Updated Sept 19 2008: more links for Ruleby

Not a major category among the many rule engines implemented in Java and other languages. In this case, I've pushed the definition of 'engine' to the limits so I can include some of the more solid and interesting implementations.

Links - Rule Engines

Updated: Dec 5 2008, more links, RuleLab.Net

Note that there is some overlap in the use of the term "rule engine" with pattern matching, text transformation, rendering and other filtering or search engines that have some level of rule capabilities.

RuleLab.Net is closed source, closed license and closed almost everything else, but it has good documentation of its facilities. Also on the plus side of the ledger, it has a hosted solution and is not terribly expensive as these things go.

Links - The Drupal Rules Engine Project

Update: Jan 16 2009 - Current development release ( rules-6.x-1.x-dev ).
Update: Sept 29 2008 - Current production release ( 6.x-1.0-beta3 )

Wolfgang Ziegler ( a.k.a. fago ) has started a project derived from the workflow-ng module to create a Drupal rules nodule implementing inference engine functionality, tightly coupled to the Workflow-NG module. One presumes that the rules engine will implement forward/backward chaining and be pluggable into the workflow engine.

Links- Python Inference Engines

Oct 5 2009: PyKE 1.0.2 download, seems to be fairly active
Updated Jan 26 2009: new SimPy 2.0 release, Twisted framework, more links
Updated Oct 29 2008: added Narval

An important and growing segment of the rule engine world ... Python runs fast, a necessary requirement for all large rule-based applications.

 

Un-Rule Engines for Business Rules

March 1 2009: added Postgres Rules, and a few edits.
Revised Oct 20 2008: This is a new "hybrid rule engine" category for the development site, more nut-and-bolts-oriented than most rule engine discussions.

A Rule Engine By Any Other Name?

What should one call rule engines without true inferencing capabilities. How can they be called rule engines if the don't do rule inferencing ? Maybe the best term is "un-rule engines", as if we were talking about the "un-Cola" of soft drink marketing fame.