R2ML
# R2ML

The REWERSE Rule Markup Language (R2ML) is developed by the REWERSE Working Group I1 for the purpose of rules interchange between different systems and tools.

## Scope

* An XML based rule language;
* Support for: integrity rules, derivation rules, production rules and reaction rules;
* Integrate functional languages (such as OCL) with Datalog languages (such as SWRL);
* Serialization and interchange of rules by specific software tools;
* Integrating rule reasoning with actual server side technologies;
* Deploying, publishing and communicating rules in a network.

## Design principles

* Modeled using MDA;
* Rule concepts defined with the help of MOF/UML;
* Required to accommodate:
   * Web naming concepts, such as URIs and XML namespaces;
   * The ontological distinction between objects and data values;
   * The datatype concepts of RDF and user-defined datatypes;
* Actions (following OMG PRR submission);
* Events;
* EBNF abstract syntax;
* XML based concrete syntax validated by an XML Schema;
* Allowing different semantics for rules.
