Rule Engine
A Rule Engine (often referred to as an Expert System, Business Logic Engine, or Inference Engine) is a piece of software (or possibly hardware, if speaking about a dedicated Rules Engine SERVER) designed for creating, manipulating, modifying, parsing and evaluating rules created about a given object and/or relationship between multiple objects.
Business Rules Management Systems (BRMS) are related to Rule Engines in that they have an internal Rule Engine but also provide a user-facing, simple to use front-end for creating, evaluating, diagnosing and reporting on performance/outcome histories of rule bases.
Contents
Specifications
RIF
Rule Interchange Format (commonly abbreviated RIF) is a W3C technology aimed at Rule Engines, Expert Systems. <ref>New Rule Interchange Format (W3C RIF) Standard Published: http://www.it-director.com/business/news_release.php?rel=12305</ref> According to the RIF working group: "The mission of the RIF Working Group is to produce W3C Recommendations for rules interchange."<ref>RIF Working Group: http://www.w3.org/2005/rules/wiki/RIF_Working_Group</ref>
- wikipedia: Rule Interchange Format
- RIF Core Design: http://www.w3.org/TR/2007/WD-rif-core-20070330/
- RIF: http://www.w3.org/2005/rules/wiki/RIF%2BXML_data-schema
RuleML
- RuleML: http://www.ruleml.org/
SWRL
Snoggle
- Snoggle (visualization for SWRL): http://snoggle.projects.semwebcentral.org/
Tools
- Drools
- Anzo Express: http://www.cambridgesemantics.com/products/anzo-express (business rules built on Excel)
- Prova (Prolog in Java) rule language/system: http://www.prova.ws/
- JESS -- the Rule Engine for the JavaTM Platform : http://www.jessrules.com/jess/charlemagne.shtml
- OpenRules: http://www.openrules.com/ (full-scale BRMS providing simple/powerful OSS Rules-based Application Development)[1][2]
- OO-jDrew: http://www.jdrew.org/oojdrew/ (by Bruce Spencer & team at NRC, deductive reasoning engine for the RuleML web rule language; supports: "Order Sorted Types", "Slots" & "Object Identifiers")
- RuleResponder: http://ibis.in.tum.de/projects/paw/
- FaCT++: http://owl.man.ac.uk/factplusplus/
- RacerSystems: http://www.racer-systems.com/
- OntoBroker HOME: http://www.ontoprise.de/en/home/products/ontobroker/[3]
- QuOnto: http://www.dis.uniroma1.it/quonto/?q=node
- IRIS - Integrated Rule Inference System: http://iris-reasoner.org/
- WSML (MINS) Rule Reasoner: http://dev1.deri.at/mins/ ONLINE DEMO - Endpoint
- Bossam Rule/OWL Reasoner: http://bossam.wordpress.com/[4]
- PHP-rules: http://swindle.net/php-rules/ (lightweight, forward-chaining inference engine based on the "Rule Archetype Pattern")
Resources
- Rule Data Mining on Dental imaging datasets (using Weka, POSL rules, etc): http://rule-data-mining.appspot.com/
- Semantic Rule Engine projects: http://www.cs.unb.ca/~boley/cs6795swt/fall2009projects.html
Tutorials
- Getting Started With the Java Rule Engine API (JSR 94): Toward Rule-Based Applications: https://www.oracle.com/technical-resources/articles/javase/javarule.html
- Jess Rule Engine and JSR 94: https://www.baeldung.com/java-rule-engine-jess-jsr-94
- Embedding Jess in a Java Application: https://jess.sandia.gov/docs/71/embedding.html
- Add a simple rule engine to your Spring-based applications: http://www.javaworld.com/javaworld/jw-04-2005/jw-0425-ruleengine.html
- JBoss Drools tutorial: http://www.mastertheboss.com/drools/jboss-drools-tutorial
- 2 Minute Drools .DRL Tutorial: http://legacy.drools.codehaus.org/2+Minute+DRL+Tutorial
- Windows Workflow Tutorial -- Rules-Driven .NET Applications: http://msdn.microsoft.com/en-us/library/dd349785.aspx
- Implementing a Groovy-based rule engine: http://www.pleus.net/articles/grules/grules.pdf
External Links
- Open Source Rule Engines Written In Java: http://www.manageability.org/blog/stuff/rule_engines
- Installing BRMS in Tomcat 6.0.x: http://www.jboss.org/community/wiki/JBRMSjsfdependencies
- Rules Engines and SOA: http://www.infoworld.com/d/architecture/rules-engines-and-soa-158
- Should I use a Rules Engine?: http://martinfowler.com/bliki/RulesEngine.html
- Why use a Rule Engine?: http://www.jbug.jp/trans/jboss-rules3.0.2/ja/html/ch01s02.html
- Real-World Rule Engines: http://www.infoq.com/articles/Rule-Engines
References
- ↑ Business and Technical Specialists Working Together On a Rule Project -- Part 1 - Modeling Business Rules Use Case for Clinical Guidelines: http://www.openrules.com/docs/ClinicalGuidelines.Part1.htm
- ↑ Business and Technical Specialists Working Together On a Rule Project -- Part 2 - Adding A Web Interface: http://www.openrules.com/docs/ClinicalGuidelines.Part2.htm
- ↑ How to Use Ontobroker: http://ksi.cpsc.ucalgary.ca/KAW/KAW98/decker/
- ↑ Bossam Project Download: http://projects.semwebcentral.org/projects/bossam/
See Also
RIF | Rules | Authoring Tool | SOA