|
|
|
|
The Rule Interchange Format: An Interim Report
Download: PDF The W3C Rule Interchange Format (RIF) Working Group (http://www.w3.org/2005/rules/wg/wiki/FrontPage) is an effort to define a standard Rule Interchange Format for facilitating exchange of rule sets among different systems and to promote the development of intelligent rule-based application for the Semantic Web. The group began working in December 2005 and is expected to complete Phase 1 of its job within the next few months. The group includes representatives and experts from industry, academia, and research labs. As of today, the group has published working drafts including the following documents:
A RIF dialect is a rule-based language with an XML syntax and a well-defined semantics. A dialect D1 can extend a dialect D2 if the syntax of D1 is a superset of the syntax of D2, and the dialects are semantically compatible. Given such a family of RIF dialects, a rule system, A, can interchange its native ruleset R with a system B if there is a RIF dialect, D, such that A can map R to a ruleset in D, RD, in a semantics-preserving manner, and B can map RD to its native ruleset S, again preserving the semantics. The key point here is that both the syntax and the semantics of a RIF dialect, such as D, will be standardized, and to be RIF-compliant the rule systems A and B must ``implement'' one or more dialects (e.g., D). A rule system \emph{implements} a dialect if the native language of the system is a syntactic variant of the language of the dialect with possible extensions. So, if A and B implement D then there are semantics-preserving mappings from D onto some subsets of the languages of A and B, and vice versa. The existence of such mappings enables the interchange of rules between A and B, if the rules fall into the aforesaid subsets of the two systems. To ensure a maximum degree of coherence among the various dialects, RIF defines frameworks, i.e., general formalisms that can be specialized to particular dialects by ``tweaking'' features. At present, the RIF working group is focusing on two families of dialects: ogic based dialects and production rule dialects. The logic-based family of dialects will cover rule systems that are based on logic programming, deductive database paradigms and, possibly, on pure first-order logic. The production rule family is intended to account for many commercial condition-action (CA) rule systems and will possibly be extended to event-condition-action (ECA) rules. Except for the condition part to be in the shared ``core'' of the logic and production rule families of dialects, it is not clear at this point how much machinery can be reused across the different families, although reuse is expected to be significant within each family. At present, only a framework for the logic-based family of dialects has been worked out. The specification of the production rule family is currently at an early stage. The RIF framework for logic dialects has the following main components:
In Phase 1, the RIF working group is defining the Basic Logic Dialect (RIF-BLD), which semantically corresponds to a Horn rule language with equality. However, RIF-BLD has a number of syntactic extensions with respect to "regular" Horn rules, and the dialect will come with a standard set of builtins. Moreover, RIF-BLD is a Web language in that it supports the use of IRIs (Internationalized Resource Identifiers) and XML Schema data types, as well as formalizing its RDF and OWL compatibility. In Phase II, other dialects will be defined. These are likely to include higher-order extensions, well-founded negation, and a dialect based on stable model semantics. It is expected that various user groups will develop additional dialects including, e.g., uncertainty reasoning. Phase II is also expected to introduce, based on Phase I Production Rule Dialect (RIF-PRD) work, one or more full-fledged dialects supporting the production rule paradigm. In parallel, the RIF group is working towards a general extensibility framework, which tackles issues like forward and backward compatibility, fallback mechanisms to handle unknown pieces of syntax, and other issues. For more information, see the working group's Wiki page at http://www.w3.org/2005/rules/wg/wiki/FrontPage.
|