How does RIF differ from SWRL?
RIF was designed as an interchange format for exchanging rules between rule systems, such as those that implement SWRL. SWRL is a rule language which was designed as an extension to OWL. It is one of the simpler rule languages and most SWRL features are covered by RIF-BLD with the exception of “different-from”, thus it should be possible to exchange most SWRL rules via RIF. When viewed as a rule language and compared to SWRL, RIF-BLD supports multiple-arity predicates, and SWRL is limited to unary and binary predicates. RIF-BLD has functions, SWRL is function-free. RIF-BLD has an extensive set of datatypes and builtins, SWRL supports most of the same datatypes but has no builtins. [??? Yes, it does! Under discussion.] RIF-BLD has a limited form of negation in datatype guard predicates (e.g. is-literal-not-integer), SWRL has a different limited form of negation in the “different-from” operator. RIF-BLD interoperates with OWL through a special combination semantics, SWRL is designed to b