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.

As is the case for the specification of RIF-RDF compatibility, the page specifies the semantics of combinations of OWL ontologies and RIF rule sets. The specification is agnostic to the way such combinations are represented. See also the Overview of RDF and OWL compatibility.

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 specifies three increasingly expressive species, namely Lite, DL, and Full.

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.

Given a conforming datatype map D, a common interpretation (* I*, I)

*owl-full-satisfies*an RIF-RDF combination C=<

*R*,

**S**> if

*satisfies*

**I***R*, I is an OWL Full interpretation, and I satisfies every RDF graph

*S*in

**S**; in this case (

*, I) is called an*

**I***OWL Full model*of C, and C is

*OWL Full satisfiable*.

Given a conforming datatype map D, an RIF-RDF combination C *OWL Full entails* a generalized RDF graph *S* if every OWL Full model of C satisfies *S*. Likewise, C *OWL Full entails* a closed RIF condition formula φ if every OWL Full model of C satisfies φ.

#### Alternative definition of RDF compatibility for increased homogeneity with direct OWL DL semantics

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**

**I**_{C},

**I**_{V},

**I**_{F},

**I**_{R},

**I**_{slot},

**I**_{SF},

**I**_{SR},

**I**_{sub},

**I**_{isa}> 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

**I**_{C}(`"i"^^rif:iri`) for i an absolute IRI such that**I**_{R}(`"i"^^rif:iri`) is not empty or**I**_{R}(`"i"^^rif:iri`) is not empty;(IR union IP) =

;**D**LV is a subset of IR and a superset of (

intersection (union of all value spaces of the primitive datatypes supported by RIF BLD));**D**IEXT(

**I**_{C}(`"i"^^rif:iri`)) = the set of all pairs (`a`,`b`), with`a`,`b`in, such that**D****I**_{R}(`"i"^^rif:iri`)(`a`,`b`)=t;IEXT(

**I**_{C}(`"rdf:type"^^rif:iri`)) = the set of all pairs (`a`,**I**_{C}(`"i"^^rif:iri`)), with`a`inand**D**`i`an IRI, such that**I**_{R}(`"i"^^rif:iri`)(`a`)=t;IS(

`i`) =**I**_{C}(`"i"^^rif:iri`) for every absolute IRI`i`in*V*;_{U}IL((

`s`,`d`)) =**I**_{C}(`"s"^^d`) for every well-typed literal (`s`,`d`) in*V*._{TL}

### OWL DL

#### Compatibility with RDF-compatible semantics

When considering the RDF-compatible semantics, the specification of the semantics of RIF-OWL DL combinations can be done along the lines of the specification of RIF-OWL Full combinations.

Given a conforming datatype map D, a common interpretation (* I*, I)

*owl-dl-satisfies*an RIF-RDF combination C=<

*R*,

**S**> if

*satisfies*

**I***R*, I is an OWL DL interpretation with respect to D, and I satisfies every RDF graph

*S*in

**S**; in this case (

*, I) is called an*

**I***OWL DL model*of C, and C is

*OWL DL satisfiable*.

Given a conforming datatype map D, an RIF-RDF combination C *OWL DL entails* a generalized RDF graph *S* if every OWL DL model of C satisfies *S*. Likewise, C *OWL DL entails* a closed RIF condition formula φ if every OWL DL model of C satisfies φ.

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**

**I**_{C},

**I**_{V},

**I**_{F},

**I**_{R},

**I**_{slot},

**I**_{SF},

**I**_{SR},

**I**_{sub},

**I**_{isa}> 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**I**_{R}(`"u"^^rif:iri`)(`k`) =**t**(true), for every IRI`u`;ER(

`u`) = set of all tuples (`k`,`l`) such that**I**_{R}(`"u"^^rif:iri`)(`k`,`l`) =**t**(true), for every IRI`u`;L((

`s`,`d`)) =**I**_{C}(`"s"^^d`) for every well-typed literal (`s`,`d`) in*V*;_{TL}S(

`i`) =**I**_{C}(`"i"^^rif:iri`) for every absolute IRI`i`.

Given a conforming datatype map D, a common DL interpretation (* I*, I)

*owl-dl-satisfies*an RIF-OWL DL combination C=<

*R*,

**S**> if

*satisfies*

**I***R*and I satisfies every OWL DL ontology

*S*in

**S**; in this case (

*, I) is called an*

**I***OWL DL model*of C, and C is

*OWL DL satisfiable*. (

*, I) satisfies an OWL DL ontology*

**I***S*if I satisfies

*S*. (

*, I) satisfies a closed RIF condition formula φ if*

**I**

**I**_{truth}(φ)=

*t*.

Given a conforming datatype map D, an RIF-RDF combination C *OWL DL entails* a generalized RDF graph *S* if every OWL DL model of C satisfies *S*. Likewise, C *OWL DL entails* a closed RIF condition formula φ if every OWL DL model of C satisfies φ.

##### 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`) = **I**_{C}(`"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 **I**_{slot}(`"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 **I**_{slot}(`"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:

4'. ER(`u`) = set of all tuples ( `k`, `l` ) such that **I**_{R}(`"u"^^rif:iri`)( `k`, `l` ) = **t** (true), for every data valued and individual valued property identifier `u`.

In case the alternative definition for overcoming the discrepancy between Full and DL compatibility is used, also condition 8 needs to be altered:

8'. ER(`u`) is a superset of set of all tuples ( `k`, `l` ) such that **I**_{slot}(`"u"^^rif:iri`)( `k`, `l` ) = **t** (true), for every data valued and individual valued property identifier `u`.

## Other efforts to Consider

DL Safe rules: http://www.fzi.de/KCMS/kcms_file.php?action=link&id=404

OWLED Task force on DL Safe SWRL Rules: http://code.google.com/p/owl1-1/wiki/SafeRules

Logic programming and OWL: http://www.kr.tuwien.ac.at/staff/roman/asp_sw/