--Athant 14:48, 20 July 2012 (UTC)
The MYNG facet "Expressivity Backbone", from Atomic Formulas to "FOL" really consists of several independent features that could be implemented orthogonally, for the most part:
- whether various connectives (<And>, <Or>, <Implies>) are allowed
- whether quantification is allowed
- what is allowed in the head of an implication (assuming <Implies> is allowed)
- whether functions are allowed
Currently, we have these mixed together on the backbone, when they could just as easily be treated as orthogonal features. In fact, these features are for the most part already implemented in their own orthogonal modules, which can be mixed in at any level:
- and/or connectives (together)
- quantifications (universal and existential, together)
- allowing disjunctions in the heads of implications
- the "FOL/Common Logic" module removes the Datalog-style constraints, so that any formulas that are syntactically defined can be arbitrarily compounded.
The modules that affect the content model for the head of an implication (the RNC pattern ConclusionFormula) are
- http://ruleml.org/1.0/relaxng/modules/implication_expansion_module.rnc, where the <Implies> element is defined, and ConclusionFormula is initialized, allowing Simple Formulas (Atoms, and Equations if they are part of the language) and Negations, if they are part of the language.
- http://ruleml.org/1.0/relaxng/modules/dis_expansion_module.rnc, whose only action is to add disjuctions to ConclusionFormula
- http://ruleml.org/1.0/relaxng/modules/folog_cl_expansion_module.rnc, which removes all constraints on the head (allows all formulas that exist in the language to occur in the head of an implication), and also does a few other things, like modify the query language.
1 Option 1
1.1 Affected Components
This option does not change the existing modularization, and only revises the MYNG GUI and REST interface. Several test suites are required, as well as new examples. It does not affect the Schemas or their documentation, Glossary, Content Models, Normalizer. It does not require an Upgrader.
A thorough revision of the MYNG "expressivity backbone" facet would explode this facet into independent items in other, existing facets.
- The current backbone transition from Atomic Formulas to Ground Facts simply includes Conjunctions and Disjunctions. This module can be added through an item in the Propositions Options facet. That facet is already quite long, and we should considered splitting it in two. (The removal of the backbone facet provides space on the GUI for a new facet.)
- The current backbone transition from Ground Facts to Ground Logic simply turns on <Implies> (thus enabling several implication options). There is already a facet to handle these implication options. A new item could be added to this facet that turns on implications, independent of other modules. The existing options would be made dependent on this new option.
- The current backbone transition from Ground Logic to Datalog simply turns on quantifications and variables (thus enabling several quantification options). There is already a facet to handle these quantification options. A new item could be added to this facet that turns on variables, independent of other modules. The existing options, including turning on quantifications, would be made dependent on this new option.
- The current backbone transition from Datalog to Horn Logic simply turns on expressions (thus enabling several expression options). There is already a facet to handle these expression options. A new item could be added to this facet that turns on expressions, independent of other modules. The existing options would be made dependent on this new option.
- The current backbone transition from Hornlog to Disjunctive Logic adds disjunctive to the content model for the head of <Implies>. Another item could be added to the implication facet to allow disjunctions (at all) to the heads of implications. A dependent option would be available for allowing this to be a non-empty disjunction (see Falsity in Heads of Datalog Rules).
- The current backbone transition from Disjunctive Logic to FOL removes the Datalog-style constraints on compounding of formulas. Since this is primarily about having separate content models for the heads and bodies of implications, this would best fit into the implication options.
2 Option 2
2.1 Affected Components
This option would change the existing modularization, as well as revise the MYNG GUI and REST interface. The Relax NG (and derived XSD schemas) would be affected, as well as their documentation. Several test suites are required, as well as new examples. It does not affect the Glossary, Content Models, or Normalizer. It does not require an Upgrader.
In addition to the changes proposed in Option 1, the andor and quantification items would be split into separate "and" and "or" items, and "universal" and "existential" options.
The following modules would be divided:
- the andor module would be split into an "and" module and an "or" module.
- the quantification module would be split into a universal module and an existential module.
These changes would allow the creation of a RuleML sublanguage identical to RDF in expressivity (binary relations with conjunction and existential formulas only). But there would be new possibilities, like n-ary RDF.
- This issue was partially resolved by Disjunctive Heads as an Implication Option in Deliberation RuleML and MYNG 1.01.
- See also An Entry View for the MYNG GUI.