Response to Public Review of Deliberation RuleML 1.01

From RuleML Wiki
Jump to: navigation, search

The below (Disqus) comments, in boxes, were received on the RuleML Blog article Deliberation RuleML 1.01 Public Review. Immediately after each boxed comment, there is a bulleted RuleML Steering Committee response addressing it. The comment and response sections are ordered with newest first (anti-chronologically), where comments that are replies to other comments are indicated as -- again anti-chronological -- subsections.

Two issues were resolved due to comments made during the Public Review:

  • Data Elements with both node and xsi:type Attributes: A known erratum in the XSDs since Version 1.0, the re-discovery of this issue during the Public Review encouraged us to apply a fix that was facilitated by the change to auto-generated XSDs in Version 1.01. Thanks to Sadnan Al Manir for raising this issue in the Public Review.
  • Oriented-Only Equations: Sublanguages having equations that are required to be oriented have already been available through manual configuration of existing Relax NG schema modules since Version 1.0. As an enhancement, in Version 1.01, these sublanguages have been made available through the MYNG REST interface by a modification of the interpretation of the myng-code. This special case of rules with equality can have fast performance for inference. Thanks to Jürgen Angele for raising this issue in the Public Review.

Three new enhancement requests have been created as Wiki Issues as a result of the Public Review:

bringing the number of open enhancement requests, to be addressed in Version 1.02 or later, to more than seventy (see Category:Enhancements of Deliberation RuleML 1.01). Note -- there are no open Errata of Deliberation RuleML 1.01 (see Category:Errata of Deliberation RuleML 1.01).

All comments received during the (extended and now closed) Public Review comment period for Deliberation RuleML 1.01 have been addressed in the responses below.

1 Sadnan Al Manir

Following the instructions, I was easily able to validate instances of various RuleML sublanguages from the example directory against their MYNG-customized Relax NG schemas. The new MYNG GUI turned out to be a helpful web-based tool for generating custom schemas to support all the anchor sublanguages in both RNC and approximate-XSD format. One example, however, caught my attention, as it seems that built-in XSD data types such as xs:integer are treated as bad values when they are used on element Data allowing attributes like @node with RuleML types (e.g.,<Data node="#data1" xsi:type="xs:integer">12</Data>). Apparently, this error can only be seen for XSD and not for RelaxNG schema. A workaround was promptly added which solves this problem by supplementing the XSDs with types in the RuleML namespace e.g., <Data node="#data1" xsi:type="integer">12</Data> or <ruleml:Data node="#data1" xsi:type="ruleml:integer">12</ruleml:Data>.

  • This comment encouraged us to fast-track the solution of a known RuleML Wiki Issue regarding Data elements that have both @node and @xsi:type attributes, documented at Data Elements with both node and xsi:type Attributes, for the 1.01 release. This issue is now closed.

2 Owen Ambur

I am responding to Harold Boley's suggestion that I post notice here of my interest in exploring potential synergies between StratML and RuleML. In the context of StratML Part 3, rules (laws, regulations, and policies) are authorities under which goals may be pursued. http://xml.fido.gov/stratml/index.htm#Part3. Conversely, in the context of RuleML, I understand that strategic and performance plans might be considered to be "business policies." There are about 2500 plans in the StratML collection, comprising more than 24,000 objectives. http://xml.fido.gov/stratml/drybridge/index.htm & http://stratml.hyperbase.com/statistics.html. It might be interesting to see what could be done with them in RuleML applications.

  • StratML and RuleML (also see LegalRuleML) could try an interoperation experiment on a shared use case.

3 Jürgen Angele

Deliberation RuleML 1.01 adds equality. For my work it was always crucial to have a high performance rule engine able to deal with large data sets. I'm not aware of any implementation using equality which is really fast and able to deal with large data sets. The other two aspects are really useful.

  • Equality computation can be fast for Datalog+/- and for its superlanguage Datalog+, which is the highlighted sublanguage of Deliberation RuleML 1.01: Their fixed number of simple terms (constants and variables) in each predicate permits optimizations not possible for the complex terms (with arbitrary nesting depths) of Hornlog languages.
  • While unrestricted (e.g., non-ground, non-oriented) equality computation is typically not fast, large data sets are typically ground (non-ground queries are fine) and function definitions are typically oriented (as term-rewrite rules), and for these important special cases equality computation can be fast.

3.1 Benjamin Grosof

Yes, equality is a challenge performance-wise, we have found that in our work on Rulelog (Coherent's Episto and earlier in Flora-2). However, it can be dealt with by limiting the power of the equality reasoning, via a few different techniques. Equality should definitely be in the language, but with enough flexibility to permit various techniques of limiting its power.

  • Another example of limiting the power of equality is restricting it to premises (antecedents) and/or to positive conclusions (consequents) of rules.
  • Oriented (directional) equality has been employed for user-defined functions in Functional Logic Programming, e.g. in the eager-evaluation languages Relfun, Hilog, and Flora-2, with Functional RuleML allowing for a unified serialization.
  • If equality is rarely required, a workaround for dealing with it is importing its explicit, rule-level axiomatization into rulebases in need for equality, thus incurring equality overhead only where needed, although in those cases it will -- without subsequent compiler-level optimizations as exemplified in this response -- amount to much lower performance than possible for implicit, built-in equality.
  • While the decision of whether to include equality into RIF (mainly the dialects BLD and FLD) was hard, for RuleML it was easy because of the RuleML family's systematic modularization into sublanguages, some with and others without equality, where MYNG 1.01 customization of Deliberation RuleML 1.01 now permits even more fine-grained equality configuration.

4 Antonis Bikakis

The new features are really helpful! I agree with previous comments that rule authoring tools, as well as the integration with other Semantic Web languages and tools (SWRL, Linked Data, Protege) are of great importance. There is also a growing interest of using rules in pervasive computing and Internet of Things applications, e.g. the R-Core system - https://github.com/securityandtrust/ruleml13 - is only one of the numerous examples. The main requirements in such environments are: interoperability and lightweight implementations.

  • Regarding rule-authoring tools, see below comment by RuleML.
  • Regarding SWRL and Protege, see below response to Sadnan Al Manir.
  • Regarding Linked Data, see subsequent response to Adrian Giurca.
  • About the mentioned requirements of pervasive computing and Internet/Web of Things applications:
    • Interoperability has been the general goal of RuleML.
    • Lightweightness is the specific goal of the Datalog+ subfamily of Deliberation RuleML 1.01.

5 Adrian Giurca

Designing rules and rulesets is still an expert-guided task, and RuleML community should probably invest more in rule-authoring tools, exposing rules as Linked Data will improve their usage in Web reasoning. Towards achieving this goal we produced a draft specification RuleStore API. We are looking forward to understand which RuleML sublanguage would be in the interest of the specification users.

  • Regarding rule-authoring tools, see below comment by RuleML.
  • These tools can be complemented by (controlled) natural language -- as, e.g., in SymposiumPlanner 2014 -- as well as by visualization interfaces -- as, e.g., in Grailog KS Viz -- for queries and rulebases.
  • Exposing Web Rules as Linked Data can indeed expedite their uptake.
  • Since RuleStore API can expose all sublanguages of the RuleML family lattice, this API specification should be of interest to all of them.

6 Paul Fodor

This is a very interesting proposal for me since I work with F-logic programs in Flora-2. I agree with Jing below that it would be even more important if RuleML can be extended with some frame logic reasoning.

6.1 Gen Zou

Actually, there is already a proposed serialization for PSOA RuleML: A pure frame o#f(p1->v1 . . . pk->vk) in presentation syntax, having an OID o which is member of class/relation f and associated with descriptive slots pj->vj, is serialized as

   <Atom>
      <oid><Ind>o</Ind></oid><op><Rel>f</Rel></op>
      <slot>p'1 v'1</slot> . . . <slot>p'k v'k</slot>
   </Atom>

in XML, where the primed meta-variables p'j and v'j indicate recursive serializations.

  • No response required.

6.2 Adrian Giurca

I noticed the Rulelog language which may be interesting to be serialized using RuleML and possibly fill the gap on frame-based representations.

6.3 Gen Zou

Our ongoing work on Positional-Slotted, Object-Applicative RuleML (PSOA RuleML) integrates F-logic frames with classical relational atoms. Such a psoa term can be used as a pure frame having an OID associated with descriptive slots as in F-logic. The OID can be 'distributed' over its slots ('slotribution') to obtain a conjunction of 1-slot frames (analogous to RDF triples) as part of source-to-source transformation or semantic interpretation. We plan to incorporate PSOA RuleML into a future release of Deliberation RuleML/XML.

  • No response required.

7 Jing Mei

Recently I have been working on clinical decision support which expression language follows the HL7 standard GELLO (http://www.hl7.org/implement/s.... In particular, the function of CD.imply in GELLO interests me to combine rule evaluation with ontology reasoning, where "CD" means concept descriptor, and "imply" is a datatype fuction of "CD". Thus, for evaluating rules which head part has an X.imply(Y) atom, it can trigger an ontology reasoner to infer whether X implies Y (suppose that X and Y are classes defined in some expressive terminology), and such ontology reasoning is a black-box to complement the rule evaluation capability. If RuleML can be extended with some ontology atoms, then the hybrid implementation of rule and ontology will benefit users who usually expect both ontology and rule features.

  • Regarding rule/ontology combination generally, see below response to Sadnan Al Manir.
  • RuleML syntax -- drawing, e.g., on RIF's externally defined terms -- could be developed to indicate black-box encapsulation of (decidable) ontology reasoning that complements rule evaluation.
  • This could then be used to represent CD.imply in GELLO.
  • A Wiki Issue Ontology Query from Rules has been created to discuss this potential enhancement.

8 Rolf Gruetter

We have been using Deliberation RuleML 1.01 for Rule-Based Database Access in a recent study on the susceptibility of forests to climate change at the Swiss Federal Research Institute WSL (http://www.wsl.ch/). The Datalog extensions of this new RuleML version proved to be very helpful. For example, we have utilized head existentials to generate an explicit primary key from the compound key of a global relation. In a similar way, we have used equality and falsity to deal with global integrity constraints. In particular, existential rules provide a powerful counterpart to Description Logics. We should be able to report details of our exploration of Datalog+ RuleML 1.01 in the near future.

  • No response required.

9 Sadnan Al Manir

It is great to see that every RuleML release is adding new features as the community grows. Although my opinion might not be in the same spirit with the intended feedback for this document but I feel that releasing (preferably web-based) rule authoring tools is very beneficial for the rule enthusiasts, probably with some examples under a catchy title such as ‘Author your own rules in 5 minutes’, and possibly without needing a deep understanding in different rule sublanguages as a starter. Moreover, as I have interest in combining rules and ontologies, looking at the success of SWRL adaption I wonder if there is any plan for working towards a Protege RuleML plug-in which can be used in combination with RDF/OWL.

  • A RuleML Wiki Issue as been created: Rule Authoring Tools.
  • There is an existing RuleML Wiki page for SWRL and Protege development: SWRL.

9.1 RuleML

For proposing and discussing new features, the RuleML community is using categorized issues. The web-based MYNG 1.01 is a rule-schema configuration tool, which we plan to extend for rule-instance validation through MYNG Checker. A rule-instance authoring tool is LIME with live demos for editing AkomaNtoso, TEI, and LegalRuleML. XML authoring tools such as oXygen and XMLSpy are already useful for developing RuleML/XML rulebases, but could be specialized for some of its schemas such as the ones under review here (Datalog RuleML 1.01/XML). For related RuleML efforts see RuleML Implementations. Our work on combining rules and ontologies -- e.g., the combination of RuleML with RDF and OWL -- currently focuses on PSOA RuleML and developments around Rule-Based Data Access. We have been in contact with the Protege team at Stanford, have considered an update to SWRL, and would be excited in working with partners towards a Protege RuleML plug-in.

  • Deliberation RuleML 1.01 and MYNG 1.01 support the combination of rules and ontologies by allowing description-logic-style existentials in Datalog+ rule heads. Work on future Deliberation RuleML and MYNG versions will also consider Datalog+/- (e.g. Priv:TechYear2014-15).