title: R2ML
text: # 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.
  