This is an archive of an inactive wiki and cannot be modified.

This proposal develops a set of fundamental concepts shared by the rule languages of interest to the RIF WG as outlined in the Design Roadmap Here we focus on the one part that is shared by Logic Programming rules, Production (Condition-Action) rules, Reactive (Event-Condition-Action) rules, Normative rules (Integrity Constraints), and queries. We call this part 'Conditions' and the proposed sublanguage 'RIF Condition Language' (as a working title).

The RIF Condition Language is common ground for specifying syntactic fragments in several different dialects of RIF:

Note that for rules this sublanguage is intended to be used only in the bodies, not their heads. The various RIF dialects diverge in the way they specify rule heads and other parts of their rules. We believe that by focusing on the condition part of the rule bodies we can achieve maximum syntactic (and some semantic) reuse among RIF dialects.

Since different semantics are possible for syntactically identical rule sets, we propose that the semantics of a RIF rule set be specified by a predefined attribute. We elaborate on this proposal in A.6 Semantics, but the idea is to organize the most important known semantic and syntactic features into a taxonomy (which could be extended to accommodate new semantics/syntax), and the values of the aforementioned attribute would come from that taxonomy.

The assumptions underlying the RIF Condition Language are explicated in A. Assumptions.

Back: CORE --- Root: CORE --- Next: Positive Conditions