Monday, January 31, 2005

Ruling

Surprisingly, I might be doing something for this in my current job. So I thought I'd go through all the rules engines over the years. Paul recently blogged "I'm sure Andrew will have blogged this years ago, but I just found Jess. This is a Java implementation of the Rete algorithm." and he's right I first blogged it back in 2002 (linking to Role of Java in the Semantic Web). Like Danny mentions the licence for Jess is unusual.

Some interesting links:
* A good list of rules engine in Java Open Source Rule Engines Written In Java.
* Mandarax "Mandarax is based on backward reasoning....The easy integration of all kinds of data sources. E.g., database records can be easily integrated as sets of facts and reflection is used in order to integrate functionality available in the object model. Other data sources (like EJB, data returned by web services etc) can be integrated as well." The Mandarax blog mentions Mandarax Event Calculus Module "...a formalism for representing and reasoning about events and their effects in a logic programming framework." EC and Mandarax 3.3.2 is available from the Mandarax SF page.
* SWRL 0.7 RDF and XML concrete syntax that "...extends the set of OWL axioms to include Horn-like rules."
* Proposal for rules (including in RDF).
* ROWL "...source code and instructions to frame rules in OWL, transform them into Jess (Java Expert System Shell) rules. In addition, the page also contains a small tutorial that will help you frame rules in RDF/XML using our rule ontology."
* Rewerse - Reasoning-aware Querying "The objective of the WG is to develop, implement, and test (on selected Semantic Web applications) such a (provisionally rule-based) language at a pre-standard level."
* Pychinko "Pychinko is a Python implementation of the classic Rete algorithm (see Forgy82 for original report.)"

No comments: