The Wayback Machine - https://web.archive.org/web/20031202202839/http://www.dfki.uni-kl.de:80/ruleml/

-->
R u l e M L

<--


The Rule Markup Initiative




Rules in (and for) the Web have become a mainstream topic since inference rules were marked up for E-Commerce and were identified as a Design Issue of the Semantic Web, and since transformation rules were put to practice for document generation from a central XML repository (as used here). Moreover, rules have continued to play an important role in AI shells for knowledge-based systems and in Intelligent Agents, today both needing a Web interchange format, and such XML/RDF-standardized rules are now also usable for the declarative specification of Web Services.

The Rule Markup Initiative has taken initial steps towards defining a shared Rule Markup Language (RuleML), permitting both forward (bottom-up) and backward (top-down) rules in XML for deduction, rewriting, and further inferential-transformational tasks. The initiative started during PRICAI 2000, as described in the Original RuleML Slide, and was launched in the Internet on 2000-11-10. Besides the previous XML-only RuleML and the current XML/RDF-combining RuleML, there is also an approach towards an RDF-only RuleML. Complementary efforts consist of the development of (Java-based) rule engines such as Mandarax RuleML and XSB-RDF RuleML. There now exists an initial RuleML design and a Version 0.8 system of DTDs for basic RuleML sublanguages.

Contents

News-Events

Mission

Statement:

The goal of the Rule Markup Initiative is to develop RuleML as the canonical Web language for rules using XML markup, formal semantics, and efficient implementations.

RuleML covers the entire rule spectrum, from derivation rules to transformation rules to reaction rules. RuleML can thus specify queries and inferences in Web ontologies, mappings between Web ontologies, and dynamic Web behaviors of workflows, services, and agents.


Approach:

Rather than focusing on academic research prototypes, RuleML is about rule interoperation between industry standards (such as JSR 94, SQL'99, OCL, BPMI, WSFL, XLang, XQuery, RQL, OWL, DAML-S, and ISO Prolog) as well as established systems (CLIPS, Jess, ILOG JRules, Blaze Advisor, Versata, MQWorkFlow, BizTalk, Savvion, etc.).

The Initiative develops a modular RuleML specification and transformations from and to other rule standards/systems. Moreover, it coordinates the development of tools to elicit, maintain, and execute RuleML rules. It also collects use cases, e.g. on business rules and reactive services.

The Initiative

The participants of the RuleML Initiative constitute an open network of individuals and groups from both industry and academia. We are not commencing from zero but have done some work related to rule markup or have actually proposed some specific tag set for rules. Our main objective is to provide a basis for an integrated rule-markup approach that will be beneficial to all involved and to the rule community at large. This shall be achieved by having all participants collaborate in establishing translations between existing tag sets and in converging on a shared rule-markup vocabulary. This RuleML kernel language can serve as a specification for immediate rule interchange and can be gradually extended - possibly together with related initiatives - towards a proposal that could be submitted to the W3C.

Uses

If you want to review rule principles, (then) you may look at Rule-Based Expert Systems. (BTW, this is itself a simple rule.) If you want to review XML principles, you may go to the beginning of Knowledge Markup Techniques.

Rules are being used for many interconnected purposes, capturing regularities in application domains such as the following:

Rather than reinventing rule principles and markups in each such community, the idea of RuleML is to 'package' the rule aspect of these domains and and make it available as an (XML) namespace, .../RuleML, which can be mixed with a namespace for natural-language (XHTML) texts and possible domain-specific namespaces (much like MathML is mixed into such domain texts).

Scope

Rules can be stated (1) in natural language, (2) in some formal notation, or (3) in a combination of both. Being in the third, 'semiformal' category, the RuleML Initiative is working towards an XML-based markup language that permits Web-based rule storage, interchange, retrieval, and firing/application.

Markup standards and initiatives related to RuleML include:

Participants' Logos

The RuleML Initiative consists of the participants represented here by their logos.

Participants' Systems (Updated: 2003-03-14)

Besides on the related work, the RuleML Initiative is based on the following systems of the participants listed in parentheses:
  1. Agent Frameworks (Leon Sterling, Department of Computer Science and Software Engineering, University of Melbourne, Australia)
  2. AMIT/ADI (Asaf Adi, Ziva Sommer, IBM Research Lab in Haifa, Israel)
  3. AORML (Gerd Wagner, Faculty of Technology Management, I & T, Eindhoven University of Technology, The Netherlands)
  4. ARTEnterprise (Samir Rohatgi, Brian Sauk, MindBox Inc., USA)
  5. BotForm&trade (Sven Seelig, Sonja Muller Landmann, Smart Bot Technologies, Germany)
  6. BRML/DAML-RULES (Benjamin Grosof, MIT Sloan School of Management, USA)
  7. CommonRules (Hoi Chan, IBM T.J. Watson Research, USA)
  8. Deimos&Phobos (Grigoris Antoniou, Fachbereich Mathematik & Informatik, Universität Bremen, Germany)
  9. EAI Rules engine (Ruth Whalen, Darren D'Amato, Sybase, Inc., New Era Of Networks, Inc., USA)
  10. Euler (Jos De Roo, AGFA, Belgium)
  11. FLIP (Jose Hernandez-Orallo, DSIC, Politechnical University of Valencia, Spain)
  12. Java Forward-Chaining Engines Integration (Emmanuel Bonnet, Guilhem Molines, Olivier Nicolas, Genigraph/OpTech Software, France, USA)
  13. Flora-2 (Michael Kifer, Guizhen Yang, Department of Computer Science State University of New York at Stony Brook, USA)
  14. j-DREW (Bruce Spencer, Faculty of Computer Science, University of New Brunswick and Institute for Information Technology, National Research Council of Canada, Canada)
  15. Jess (Ernest Friedman-Hill, Distributed Systems Research, Sandia National Labs, USA)
  16. KNOW: Knowledge Norm Of Webmind (Pei Wang, Webmind Inc., USA)
  17. LispMiner (Vojtech Svatek, Jan Rauch, Vaclav Lin, Knowledge Engineering Group, Department of Information and Knowledge Engineering (DIKE), University of Economics, Prague, Czech Republic)
  18. Mandarax (Jens Dietrich, Department of Computer Science, Polytechnic of Namibia, Namibia)
  19. Obelix (Veljko Milutinovic, Sasa Mitrovic, Faculty of Electrical Engineering, University of Belgrade, Serbia and Montenegro)
  20. OCML (Enrico Motta, John Domingue, Knowledge Media Institute, The Open University, UK)
  21. OntoJava (Andreas Eberhart, International University in Germany, Germany)
  22. PDDL: Planning Domain Definition Language (Drew V. McDermott, Department of Computer Science, Yale University, USA)
  23. Protégé-2000 (Mark Musen, Stanford Medical Informatics, USA)
  24. RBML: Rule Base Markup Language (Chris Roberts, Sun Microsystems, USA)
  25. RFML (Harold Boley, DFKI, Germany)
  26. RIF (Steve Ross-Talbot, Enigmatec Corporation, UK)
  27. SeCo (Beat Schmid, Institute for Media and Communications Management, University of St. Gallen, Switzerland)
  28. Semantic Matchmaker (Katia Sycara, Massimo Paolucci, The Intelligent Software Agents Lab, The Robotics Institute, School of Computer Science, Carnegie Mellon University, USA)
  29. TRIPLE (Stefan Decker, USC ISI Intelligent Systems Division; Michael Sintek, DFKI, USC ISI Intelligent Systems Division; Germany, USA)
  30. Type-Based Diagnoser (Jan Maluszynski, Swedish Semantic Web Initiative, Department of Computer and Information Science, Linköping University, Sweden)
  31. URML (David Ash, Real Time Agents Inc.; Prabhakar Bhogaraju, MindBox; Said Tabet, The Rule Markup Initiative; USA)
  32. Versata Logic Suite for Transaction Logic (James Liddle, Kamran Yousaf, Versata; UK)
  33. Vivid Agents/Revise (Michael Schroeder, The School of Informatics, City University London, UK)
  34. VPP (Rand Anderson, Macgregor, USA)
  35. W4 (Carlos Viegas Damásio, CENTRIA (Centro de Inteligência Artificial da Universidade Nova de Lisboa), Portugal)
  36. Xcerpt (François Bry, Sebastian Schaffert, Teaching and Research Unit Programming and Modelling Language, Institute of Computer Science, Ludwig-Maximilians-Universität München, Germany)
  37. X-DEVICE (Nick Bassiliades, Logic Programming and Intelligent Systems (LPIS) Group, Dept. of Informatics, Aristotle University of Thessaloniki, Greece)
  38. XET/XDD (Vilas Wuwongse, Chutiporn Anutariya, Knowledge Representation Laboratory, Asian Institute of Technology, Thailand)
  39. XRML (Jae Kyu Lee, ICEC, KAIST, Korea)

2001-05-11: "RuleML, the emerging standards effort on XML Rules knowledge representation, continues to progress in its design -- and also in its acceptance; notably, IBM this past month joined as participant and publicly disclosed that it is prototyping support for RuleML. Presentation materials from two recent W3C meetings, and a new short overview conference paper, are now available: see http://www.mit.edu/~bgrosof/#XMLRules." (Also see: alphaWorks Posting. Contact: Hoi Chan.)

Initial Steps

Some initial steps taken by the RuleML Initiative have been to structure the area of rule markup, to raise issues and identify tasks, and to propose tentative rule tags/attributes.

Design

The current RuleML design shows the big picture of how we conceive and formalize rule markup; this has been the basis of much of our more specific work.

DTDs-Schemas

2001-01-31: A preliminary RuleML DTD has been released: RuleML DTD Version 0.7.
2001-07-11: A revised DTD version has been finalized: RuleML DTD Version 0.8.
2001-09-25: A preliminary XML Schema for a Datalog subset of RuleML has been released: RuleML Schema Version 0.8.
2002-04-02: A query DTD version has been realized (cf. Queries): RuleML DTD Version 0.8.
The discounting business rules example shows some of the features: discount.ruleml (discount.ruleml.txt).

Queries

As in many deduction approaches, RuleML queries are regarded as headless implications, symmetrically to regarding facts as bodiless implications. They enumerate the bindings of all their free (existentially interpreted) variables.

Queries were added to RuleML 0.8 as a third top-level element of rulebases besides facts and imps (since this extension is purely additive, all queriless RuleML 0.8 rulebases should still validate). This gives us "for free" all refinements of RuleML's existing system of sublanguages via the _body role of queries: because of RuleML's DTD inheritance, additions were only required for ruleml-datalog.dtd (ruleml-datalog.dtd.txt) and urcbindatagroundfact.dtd (urcbindatagroundfact.dtd.txt). In particular, ruleml-datalog.dtd's query-extended rulebase definition is inherited by ruleml-hornlog.dtd, where queries in datalog use only inds and vars but queries in hornlog automatically also permit cterms (because hornlog atoms permit cterms).

RuleML queries are illustrated by our business-rule example discount.ruleml (discount.ruleml.txt) and by Eric Prud'hommeaux's RDF Query example wsdl-rdf-query.ruleml (wsdl-rdf-query.ruleml.txt).

This query incorporation into RuleML assumes that the sublanguage expressiveness should be the same for 'assertions' (facts and imps) and for the 'requests' (queries) on them. So, it cannot, e.g., express queries on ground triples (containing no variables) via non-ground triples (containing variables): creator.ruleml (creator.ruleml.txt). However, users can still employ one rulebase (module) with its DTD for 'assertions', and another rulebase (module) with a different DTD for 'requests'.

Object-Oriented RuleML (Established: 2003-06-07)

Via Object-Oriented RuleML (OO RuleML) object-centric knowledge representation with facts (instances) and rules (methods) is now directly supported.

RDF

An experimental RDF translator for a subset of RuleML 0.7 is available in XSLT: RuleML in RDF Version 0.2. RuleML 0.8 now stands in the direct Context of RDF.

2001-06-20: Michael Sintek has implemented a (Java) parser for an RDF version of the Horn-logic subset of RuleML 0.8; it reflects an RDF RuleML syntax by (Java) classes that currently generate textual Horn clauses but could be adapted for generating the XML RuleML syntax: The FRODO rdf2java Tool. A converse translator from XML RuleML 0.8 to RDF RuleML 0.8 should be easier to write in XSLT than was possible for the above-linked RuleML 0.7 translator.

Induction

The FLIP Group uses RuleML in machine learning: About using RuleML for expressing machine learning knowledge. In the LispMiner project work with RuleML is directed towards statistical association rules.

Translators

Since RuleML should help rule-system interoperation, (XSLT, ...) translators for RuleML rulebases are rather important. Please send us further translator pairs between your system and RuleML -- even if your translators are (still) partial.

In February 2001 Mike Dean created the first operational RuleML rulebase, GEDCOM, with rules on family relationships (child, spouse, etc.) run via XSLT translators to the XSB, JESS, and n3/cwm engines.

2001-09-17: Harold Boley has specified XSLT translators between the Horn-logic subsets of RuleML and RFML. These can make implementations of both systems available to each other and permit, e.g., a preliminary HTML rendering of RuleML rulebases. The XSLT stylesheets may also serve as blueprints for specifying further translators to/fro RuleML.

2001-09-19: Andreas Eberhart implemented an alpha version of OntoJava. The basic idea is to automatically map Protégé ontologies, instances defined in them, and RuleML rules into a sinlge Java main memory DB / rule engine that can then be used as the basis of an application. He is looking forward to hearing of your ideas and input.

2002-02-04: Andreas Eberhart extended OntoJava by reaction rules:

<java>
        runtime.Loader.load("http://localhost:8080/servlet/SearchGate?flight="
                         + <var>F</var>.name, false);
</java>
This example loads RDF info into the DB, which comes from a kind of Web Service. So emails can be sent as well, etc. While this is not 'cross-platform', it should be interessting from an engineering point of view.

2002-07-08: Said Tabet created an XSLT stylesheet for transforming from a version of RuleML to Jess. The full Java environment for running this is available from Said Tabet.

Engines

One or more rule engines will be needed for executing RuleML rulebases. On 2000-11-15, the RuleML Initiative thus joined forces with the Java Specification Request JSR-000094 Java Rule Engine API. This cooperation will enable a direct cross-fertilization between the complementary specifications of the open XML-based Rule Markup Language and of the Java runtime API for rule engines.

2001-06-04: Jens Dietrich implemented the first complete input-processing-output environment for RuleML. To download the api (source code) click Mandarax RuleML. Any feedback is welcome! If you have problems, don't hesitate to contact Jens for assistance.

2001-06-26: Michael Sintek has implemented a small XSB-based engine that can also be looked at as the first RuleML querying agent. It's a servlet (running in Tomcat) that receives RuleML rulebases in RDF RuleML syntax (since he uses The FRODO rdf2java Tool) together with some queries, evaluates them with XSB Prolog (in auto-tabling mode, which should be equivalent to bottom-up evaluation!), and returns the result as an HTML page containing the bindings as facts of instantiated queries. A future version must, of course, return a RuleML file. Simply try this URL. Click on 'example' and paste the RDF RuleML popping up into the input window (note that pasting XML/RDF cannot be directly done in IE, only in Netscape; use "view source" in IE). Alternatively, you can use the Prolog parser and RDF translator to generate the RDF RuleML. Since we cannot guarantee that the above URLs always work (server reboots etc.), this picture shows the agent in action. Any feedback is welcome! If you have problems, don't hesitate to contact Michael for assistance.

2002-02-06: Bruce Spencer further refined The Design of j-DREW, a Deductive Reasoning Engine for the Semantic Web.

2002-03-08: Jens Dietrich has finally published Mandarax 1.6 with major improvements, including new docs and all the features discussed in the Mandarax Dagstuhl Talk. One of the new packages is xkb_b1.jar -- it contains a modular driver to translate rule bases to XML and vice versa. I.e., there are tiny adapter objects responsible for exporting/importing rules, facts, terms etc. This should enable us to set up a reference application for any new standard in hours.

User Interfaces

RuleML Participant Jens Dietrich's Oryx (version 2.1) has a graphical Knowledge Editor for business rules and a Repository that contains the description of predicates, functions, and database connections. "Oryx works with open XML based formats, support for the emerging RuleML standard and the open source Mandarax XKB 1.0 format is included." (http://www.jbdietrich.com).

Michael Sintek has implemented a Prolog parser and RDF translator to generate RDF RuleML.

Andreas Eberhart wrote a small tool that allows you to convert Prolog (currently, Datalog) rules to RuleML. This Prolog2RuleML tool is available both online and as a command line version.

Rulebase Library

A library of RuleML rulebases is being accumulated here as a collection of use cases for further design discussion and as examples for practical rule exchange (RuleML Library). The highest version of RuleML (currently 0.8) should be used whenever possible. If you have an entry, please send us its pointer.

Papers-Publications (Updated: 2003-06-07)

Structure (Updated: 2003-06-07)

Contacts

If you are interested to join the RuleML Initiative, please send a link describing your work related to rule markup to Harold Boley & Said Tabet; same for general RuleML questions/suggestions. Depending on your specific RuleML interests, you may also contact some RuleML Technical Group (select above) or some RuleML Participant (select above). If necessary, you can also address all RuleML Participants (RuleML distribution list).


Site Contact: Harold Boley. Page Version: 2003-06-07


"Practice what you preach": XML source of this homepage at index.xml (index.xml.txt);
transformed to HTML via the adaptation of Michael Sintek's SliML XSLT stylesheet at homepage.xsl (View | Page Source)

Powered by Cocoon