RuleML is a knowledge representation language designed for the interchange of the major kinds of Web rules in an XML format that is uniform across various rule logics and platforms. It has broad coverage and is defined as an extensible family of sublanguages, whose modular system of schemas permits rule interchange with high precision. RuleML 1.0 encompasses both Deliberation RuleML 1.0 and Reaction RuleML 1.0.
The immediate Deliberation RuleML 1.0 successor Deliberation RuleML 1.01 introduces several new options for obtaining a more fine-grained customization of sublanguages. A small set of extensions of Datalog yields a major payoff: a standard XML serialization of Datalog+ (book), a superlanguage of the decidable Datalog+/-. The highlight of Deliberation RuleML 1.01 is the ability to combine one or more of the following Datalog extensions which together define Datalog+:
- Existential Rules, where the "then" part of a rule has existentially quantified variables, as required for description logics, F-logic and PSOA RuleML, Rule-Based Data Access, etc.
- Equality Rules, where the "then" part of a rule is the "Equal" predicate, as needed for user-defined/'semantic' equality in logics with equality and functional logic programming (this was already allowed in RuleML 1.0)
- Integrity Rules, where the "then" part of a rule is falsity, as a convenient way to express negative integrity constraints.
In Deliberation RuleML 1.01, each of these Datalog+ features can now also be combined with a conjunction (e.g., an "And" of "Atoms", rather than just one "Atom") in the "then" part, as used, e.g., in SWRL. Moreover, Deliberation RuleML 1.01 permits mixing in the characteristic Disjunctive Datalog feature of disjunction (e.g., an "Or" of "Atoms") in the "then" part, as used for implementing description logics.
An expanded range of options regarding the length of term sequences allows closer approximations to important Semantic Web languages: Unary (length-one) term sequences in relations and functions, orthogonally combinable with binary (length-two) term sequences, useful for graph logics (RDF) and description logics (OWL).
Because of the orthogonality of the design, all of these features are freely combinable with each other and with the existing RuleML sublanguages. In particular, the new features are available for other logics in Deliberation RuleML 1.01, including Horn logic (Hornlog RuleML 1.01), e.g. allowing Hornlog Existential Rules, Hornlog Equality Rules, and Hornlog Integrity Rules.
Customized serialization schemas for each combination of features can be generated on-the-fly through MYNG, the RuleML Modular sYNtax confiGurator. Following GUI-based feature selections by the designer, MYNG creates systematically-named RELAX NG Compact Syntax (RNC) schemas. For select anchor sublanguages, including the original fifteen sublanguages of Version 1.0 as well as several Datalog+ sublanguages, the MYNG-created RNC schemas have been used as pivot schemas for conversion (by Jing/Trang) to corresponding JAXB-compatible XSDs. The algorithm employed in the improved MYNG 1.01 GUI uses mathematical properties of the RuleML language lattice to find the closest lenient XSD anchor schema whenever a custom sublanguage is generated; this is then provided for separate download. Generally, MYNG makes the full Deliberation RuleML 1.01 feature systematics available to designers of custom RuleML sublanguages, some of which may be proposed as new anchor sublanguages in future releases.
Feedback is welcome, either through the ruleml-all mailing list (please subscribe if not already) or on the RuleML Blog (as a comment to the Blog article, no subscription required). Responses will be published to feedback received by the above-mentioned review-period end date.