Rule Interchange Format

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

The Rule Interchange Format' (RIF) is a standard in development within the W3C Semantic Web Activity. When completed, it will be a component of the semantic web, along with (principally) RDF and OWL. Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.[1]

RIF includes three dialects, a Core dialect which is extended into a Basic Logic Dialect (BLD) and Production Rule Dialect (PRD).



The RIF working group was chartered in late 2005. Among its goals was drawing in members of the commercial rules marketplace. The working group started with more than 50 members and two chairs drawn from industry, Christian de Sainte Marie of ILOG, and Chris Welty of IBM. The charter, to develop an interchange format between existing rule systems was influenced by a workshop in the spring of 2005 in which it was clear that one rule language would not serve the needs of all interested parties (Dr. Welty described the outcome of the workshop as Nash Equilibrium[2]).

Rules and Rule Systems

A rule is perhaps one of the simplest notions in computer science, it is an IF - THEN construct. If some condition (the IF part) that is checkable in some dataset holds, then the conclusion (the THEN part) is processed. Deriving somewhat from its roots in Logic, rule systems use a notion of predicates that hold or not of some data object or objects. For example, the fact that two people are married might be represented with predicates as MARRIED(LISA,JOHN). MARRIED is a predicate that can be said to hold between LISA and JOHN. Adding the notion of variables, a rule could be something like:

IF MARRIED(?x, ?y) THEN LOVES(?x, ?y)

We would expect that for every pair of ?x and ?y (e.g. LISA and JOHN) for which the MARRIED predicate holds, some computer system that could understand this rule would conclude that the LOVES predicate holds for that pair as well.

Rules are a simple way of encoding knowledge, and are a drastic simplification of First Order Logic for which it is relatively easy to implement inference engines that can process the conditions and draw the right conclusions. A rule system is an implementation of a particular syntax and semantics of rules, which may extend the simple notion described above to include existential quantification, disjunction, logical conjunction, negation, functions, non monotonicity, and many other features. Rule systems have been implemented and studied since the mid-1970s and saw significant uptake in the 1980s during the height of so-called Expert Systems.

Standard RIF Dialects

The standard RIF dialects are Core, BLD and PRD. These dialects depend on an extensive list of datatypes with builtin functions and predicates on those datatypes.


The Core dialect comprises a common subset of most rule engines.


The Basic Logic Dialect (BLD) adds features to the Core dialect that are not directly available such as: logic functions, equality in the then-part and named arguments


The Production Rules Dialect (PRD) adds the notion of forward-chaining rules

See also


  1. Kifer, Michael (2008). "Rule Interchange Format: The Framework". in: Web Reasoning and Rule Systems. Lecture Notes in Computer Science
  2. Welty, Chris (2009). "Rule Interchange Format". Invited presentation to the NY Semantic Web Meetup.

External links

Personal tools

Served in 0.491 secs.