This page contains a number of proposals for the specification of RIF-OWL compatibility, for discussion by the joint OWL-RIF task force. The concrete proposal for RIF-OWL compatibility can be found here.

The page, in its current form, shows the landscape of possibilities for combining RIF rules with OWL ontologies. The most promising semantics for the combination with OWL full is the straightforward extension of RIF-RDF compatibility (see the definitionbelow), in which RDF triples correspond to RIF frames. The most promising semantics for the combination with OWL DL is a direct combination, in which OWL classes and properties correspond to RIF unary and binary predicates, respectively. The problem with the use of two such different combinations is the fact that the RIF rules which work with RDF and OWL full look completely different from those which work with OWL DL. A possible way to overcome this issue is outlined below.

Two other potential issues are (i) the mapping of annotation properties when considering direct combination with OWL DL -- the issue is whether to map OWL annotation properties to RIF binary predicates -- and (ii) compatibility of built-ins between RIF and OWL 1.1 -- ideally, either both languages use the same set of built-ins or the set of built-ins in one language is a subset of the set of built-ins in the other.

OWL Species

OWL Lite is a syntactic subset of DL, but the semantics is the same. The semantics of DL and Full are somewhat different; the latter is an extension of the semantics of RDFS, whereas the former has a direct semantics. The OWL semantics specification also defines an RDF-compatible semantics for OWL DL, but the direct semantics takes precedence if there is any discrepancy between the two. The OWL Full semantics does not directly extend the RDF-compatible OWL DL semantics; however, every OWL DL entailment is an OWL Full entailment.

Finally, the OWL DL RDF syntax does not extend the RDF syntax, but rather restricts it; every OWL DL ontology is an RDF graph. OWL Full and RDF have the same syntax.

Note, however, that the RDF-compatible semantics of OWL DL is defined for arbitrary RDF graphs, not just OWL DL ontologies.

Since OWL Full is an extension of RDF, there is a straightforward way to define the semantics of RIF-OWL Full combinations, as an extension of the semantics of RIF-RDF combinations. There seem to be two options for the specification of the semantics of RIF-OWL DL combinations: (a) based on the RDF-compatible semantics of OWL DL, as an extension of the semantics of RIF-RDF combinations or (b) based on the direct model-theoretic semantics of OWL DL. The three semantics are specified in more detail below.

Syntax

For RIF-OWL Full combinations as well as RIF-OWL DL combinations based on the RDF-compatible semantics we use the notion of RIF-RDF combinations. For RIF-OWL DL combinations based on the direct model-theoretic semantics we define the notion of RIF-OWL DL combination.

An RIF-OWL DL combination is a pair < R,S>, where R is a Rule set and S is a set of OWL DL ontologies in abstract syntax form of a vocabulary V. When clear from the context, RIF-OWL DL combinations are referred to simply as combinations.

Semantics

OWL Full

The semantics of RIF-OWL Full combinations is a straightforward extension of the semantics of RIF-RDF combinations. It is based on the same notion of common interpretations, but defines additional notions of satisfiability and entailment.

It is possible to change the definition of RDF compatibility to make it more homogeneous with direct OWL DL compatibility, so that OWL Full compatibility would be an extension of direct OWL DL compatibility; RDF triples which correspond to binary predicates, and rdf:type statements would correspond to the unary predicates. It must be pointed out that this alternative definition restricts the expressiveness of the rules; quantification over predicates, which is common in current RDF rules languages, would no longer be possible.

The alternative definition would be something like:

A common interpretation is a pair (I, I), where I = <D,IC, IV, IF, IR, Islot, ISF, ISR, Isub, Iisa> is an RIF semantic structure and I=<IR, IP, IEXT, IS, IL, LV> is an RDF interpretation of a vocabulary V, such that the following conditions hold:

IR is a subset of D;

IP is a superset of IC("i"^^rif:iri) for i an absolute IRI such that IR("i"^^rif:iri) is not empty or IR("i"^^rif:iri) is not empty;

(IR union IP) = D;

LV is a subset of IR and a superset of (D intersection (union of all value spaces of the primitive datatypes supported by RIF BLD));

IEXT(IC("i"^^rif:iri)) = the set of all pairs (a, b), with a, b in D, such that IR("i"^^rif:iri)(a, b)=t;

IEXT(IC("rdf:type"^^rif:iri)) = the set of all pairs (a, IC("i"^^rif:iri)), with a in D and i an IRI, such that IR("i"^^rif:iri)(a)=t;

Note that the fact that I is required to be an OWL DL interpretation ensures that classes, properties, and individuals may be interpreted differently, as long as the considered RDF graphs are OWL DL ontologies in an RDF graph form and the union of all RDF graphs in the combination has a separated vocabulary. However, there are no syntactical restrictions on the RIF rules, and it is possible to write equalities between different kinds of identifiers, e.g., between class and individual identifiers. Therefore, if we go with this definition of RIF-OWL DL compatibility, we should probably define a restricted class of RIF rules in which this separation is preserved.

Another issue arises if OWL DL were to be extended with punning (as is envisioned in OWL 1.1), i.e., not requiring a separation of the vocabulary, but interpreting identifiers differently depending on their context. RIF does not make such a distinction; all identifiers are interpreted in the same domain. For example, an equality statement a=b together with a class membership statement a(c) does not entail b(c) in OWL DL extended with punning. However, in a combination with an RIF rule set, c[rdf:type -> b] (and thus also b(c)) is entailed, even if the rule set is empty, because the RIF interpretations do not distinguish between the use of b as individual and as class identifier.

The latter technical issue may impede the extensibility of combinations.

Compatibility with direct model-theoretic semantics

Given a conforming datatype map D, a common DL interpretation is a pair (I, I), where I = <D,IC, IV, IF, IR, Islot, ISF, ISR, Isub, Iisa> is an RIF semantic structure and I=<R, EC, ER, L, S, LV> is an abstract OWL interpretation with respect to D of a vocabulary V, such that the following conditions hold:

R=D;

LV is a subset of R and contains the value spaces of all data types in D;

EC(u) = set of all objects k in R such that IR("u"^^rif:iri)(k) = t (true), for every IRI u;

ER(u) = set of all tuples ( k, l ) such that IR("u"^^rif:iri)( k, l ) = t (true), for every IRI u;

Overcoming the difference with OWL Full compatibility

To overcome the difference with OWL full compatibility we can modify the above definition to connect unary atoms c(a) and frame formulas of the form a[rdf:type -> c] and to connect binary atoms r(a, b) and frame formulas a[r -> b]. First of all, we need to alter condition 6 to ensure that class and property identifiers in OWL are interpreted differently from the same identifiers in RIF, to avoid the punning issue described above:

6'. S(i) = IC("i"^^rif:iri) for every individual identifier i.

We then need to introduce two additional conditions to tie together the two kinds of formulas:

7. EC(u) is a superset of the set of all objects k in R such that Islot("rdf:type"^^rif:iri)("u"^^rif:iri,k) = t (true), for every IRI u;

8. ER(u) is a superset of the set of all tuples ( k, l ) such that Islot("u"^^rif:iri)( k, l ) = t (true), for every IRI u.

The above conditions effectively correspond to the axiom schemas C(x) :- x[rdf:type -> C] and R(x, y) :- x[R -> y]. This means that it effectively does not make sense to use frame formulas for rules on top of OWL DL, and using predicates is "preferred" for RDFS and OWL Full; however, conclusions about triples are not "fed" back into the RDF graph.

An alternative would be to apply a virtual rewriting to rules with frame formulas to obtain rules with predicates. This way, it is possible to use syntactically the same rules with both OWL DL and OWL Full, but still obtain the desired results:

When combining rules with an OWL DL ontology, do the following:

* Rewrite every frame of the form x[rdf:type -> y] to a predicate formula of the form y(x).

* Rewrite every frame formula of the form x[R -> y] to a predicate formula of the form R(x, y).

* Interpret the combination according to the semantics of the direct combination.

Furthermore, certain syntactic restrictions are required on rules in combinations with OWL DL ontologies: in frame formulas of the forms x[rdf: type -> c] and x[R -> y], C and R are required to be constants. Additional syntactic restrictions are required on the use of the OWL vocabulary, although this might not be required in OWL 1.1 due to punning.

Annotation properties

In the above definition of direct OWL DL compatibility, OWL annotation and ontology properties are mapped to binary predicates in RIF; so, in RIF, annotation and ontology properties can not be distinguished from other kinds of properties (as is the case in OWL). Furthermore, it is considered likely that OWL 1.1 will not consider annotation properties having any semantics (in OWL 1.0, they are interpreted using the ER function).

An alternative definition of RIF-OWL DL combination which does not consider annotation and ontology properties is obtained from the above by altering condition 4: