Conjunction in Heads of Datalog Rules

From RuleML Wiki
Jump to: navigation, search

--WikiSysop (talk) 14:19, 26 February 2014 (AST)

Allowing <And> in the head of implications at the Datalog level of expressivity does not change the expressivity, as such an implication is equivalent to a number of rules (that number equal to the number of conjuncts in the And).

Implementing this would be a very minor change in the Relax NG syntax:

in http://ruleml.org/1.0/relaxng/modules/implication_expansion_module.rnc, lines 110 -112

ConclusionFormula.choice |=

 SimpleFormula-node.choice
 | And-fo-node.choice

==>

ConclusionFormula.choice |=

 SimpleFormula-node.choice
 | And-node.choice

This has been implemented in Deliberation RuleML Version 1.01 as an optional module https://github.com/RuleML/deliberation-ruleml/blob/1.01-dev/relaxng/modules/conjunctive_head_expansion_module.rnc and incorporated into the MYNG 1.01 GUI under the Implication Options facet. The myng-code "i" component was extended, and the MYNG REST interface extended to handle this bit when passed in the "implies" query parameter.