The semantics of RIF rule sets and RDF graphs are defined in terms of model theories. Hence, the semantics of RIF-RDF combinations is defined through a combination of the two model theories, using a notion of common models. These models are then used to define entailment in the usual way. Combined entailment extends both entailment in RIF and entailment in RDF.
The RDF Semantics document [RDF-Semantics] defines 4 (normative) kinds of interpretations:
- simple interpretations (which do not pose any conditions on the RDF and RDFS vocabularies),
- RDF interpretations (which impose additional conditions on the RDF vocabulary),
- RDFS interpretations (which impose additional conditions on the RDFS vocabulary), and
D-interpretations (which impose additional conditions on the treatment of datatypes, relative to a datatype map D).
This distinction is reflected in the definitions of satisfaction and entailment in this section.
Interpretations
We define the notion of common interpretation, which is an interpretation of an RIF-RDF combination. This common interpretation is the basis for the definitions satisfaction and entailment in the following sections.
The correspondence between RIF semantic structures and RDF interpretations is defined through a number of conditions which ensure the correspondence in the interpretation of names (i.e. IRIs and literals) and formulas, i.e. the correspondence between RDF triples of the form s p o . and RIF frames of the form s'[p' -> o'], where s', p', and o' are RIF symbols corresponding to the RDF symbols s, p, and o, respectively.
We first review the notions of RDF interpretations and RIF semantic structures, after which we define common interpretations.
RDF and RIF Interpretations
As defined in [RDF-Semantics], a simple interpretation of a vocabulary V is a tuple I=< IR, IP, IEXT, IS, IL, LV >, where
- IR is a non-empty set of resources (the domain),
- IP is a set of properties,
IEXT is an extension function, which is a mapping from IP into the power set of IR × IR,
IS is a mapping from IRIs in V into (IR union IP),
IL is a mapping from typed literals in V into IR, and
LV is the set of literal values, which is a subset of IR, and includes all plain literals in V.
Rdf-, rdfs-, and D-interpretations are simple interpretations which satisfy certain conditions:
A simple interpretation I of a vocabulary V is an rdf-interpretation if V includes the RDF vocabulary and the conditions on rdf-interpretations described in [RDF-Semantics] hold for I.
An rdf-interpretation I of a vocabulary V is an rdfs-interpretation if V includes the RDFS vocabulary and the conditions on rdfs-interpretations described in [RDF-Semantics] hold for I.
Given a datatype map D, an rdfs-interpretation I of a vocabulary V is a D-interpretation if V includes the IRIs in the domain of D and the conditions on each of the <IRI, datatype> pairs in D described in [RDF-Semantics] hold in I.
As defined in [RIF-BLD], a semantic structure is a tuple of the form I = <D,IC, IV, IF, IR, Islot, ISF, ISR, Isub, Iisa>. We restrict our attention here to D, IC, IV, and Islot. The other mappings which are parts of a semantic structure are not used in the definition of combinations.
D is a non-empty set (the domain),
IC is a mapping from Const to D,
IV is a mapping from Var to D, and
Islot is a mapping from D to truth-valued functions of the form D × D → TV.
Common Interpretations
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 the set of all k in D such that there exist a, b in D and Islot(k)(a,b)=t (i.e. the truth value of Islot(k)(a,b) is true);
(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(k) = the set of all pairs (a, b), with a, b in D, such that Islot(k)(a,b)=t, for every k in D;
IS(i) = IC("i"^^rif:iri) for every absolute IRI i in VU;
IL((s, d)) = IC("s"^^d) for every well-typed literal (s, d) in V.
Condition 1 ensures that all resources in an RDF interpretation correspond to elements in the RIF domain. Condition 2 ensures that the set of properties at least includes all elements which are used as properties in the RIF domain. Condition 3 ensures that the combination of resources and properties corresponds exactly to the RIF domain; note that if I is an rdf-, rdfs-, or D-interpretation, IP is a subset of IR, and thus IR=D. Condition 4 ensures that all concrete values in D are included in LV. Condition 5 ensures that RDF triples are interpreted in the same way as frame formulas. Condition 6 ensures that IRIs are interpreted in the same way. Finally, condition 7 ensures that typed literals are interpreted in the same way. Note that no correspondences are defined for the mapping of names in RDF which are not symbols of RIF, e.g. ill-typed literals and RDF URI references which are not absolute IRIs.
One consequence of conditions 6 and 7 is that IRIs of the form http://iri and typed literals of the form "http://iri"^^rif:iri which occur in an RDF graph are treated the same in RIF-RDF combinations, even if the RIF component is empty. For example, consider an RIF-RDF combination with an empty rule set and an RDF graph which contains the triple
<http://a> <http://p> "http://b"^^rif:iri .
This combination allows to derive, among other things, the following triples:
<http://a> <http://p> <http://b> . <http://a> "http://p"^^rif:iri "http://b"^^rif:iri . "http://a"^^rif:iri <http://p> "http://b"^^rif:iri .
as well as the following frame formula:
"http://a"^^rif:iri ["http://p"^^rif:iri -> "http://b"^^rif:iri]
Connecting Typing and Subclassing
RIF includes two specific kinds of formulas for expressing class membership and subclassing. We note that the inclusion of such formulas in RIF BLD is currently under debate, see http://www.w3.org/2005/rules/wg/track/issues/41
If the working group decides to include such formulas in RIF BLD, the following two conditions should be added to connect typing and subclassing in RIF with the corresponding constructs in RDF:
8. IEXT(IS(rdf:type)) is equal to the set of all pairs <a,b> in D × D such that Iisa(< a,b >)=t; and
9. IEXT(IS(rdfs:subClassOf)) is a superset of the set of all pairs <a,b> in D × D such that Isub(< a,b >)=t.
Condition 8 the ensures that typing in RDF and typing in RIF correspond, i.e. a rdf:type b is true iff a # b is true. Condition 9 the ensures that subclassing in RDFS and subclassing in RIF correspond, i.e. a rdfs:subClassOf b is true if a ## b is true.
Satisfaction and Models
We now define the notion of satisfiability for common interpretations, i.e. the conditions under which a common interpretation (I, I) is a model of a combination < R, S>. We define notions of satisfiability for all 4 entailment regimes of RDF (simple, RDF, RDFS, and D). The definitions are all analogous. Intuitively, a common interpretation (I, I) satisfies a combination < R, S> if I satisfies R and I satisfies S.
A common interpretation (I, I) simple-satisfies an RIF-RDF combination C=< R, S > if I satisfies R and I satisfies every RDF graph S in S; in this case (I, I) is called a simple model, or model, of C, and C is satisfiable. (I, I) satisfies a generalized RDF graph S if I satisfies S. (I, I) satisfies a closed RIF condition formula φ if Itruth(φ)=t.
Notice that not every combination is satisfiable. In fact, not every RIF rule set has a model. For example, the rule set consisting of the rule
Forall ("1"^^xsd:integer="2"^^xsd:integer)
does not have a model, since the symbols "1"^^xsd:integer and "2"^^xsd:integer are mapped to the (distinct) numbers 1 and 2, respectively, in every semantic structure.
Rdf-, rdfs-, and D-satisfiability are defined through additional restrictions on I:
A model (I, I) of a combination C rdf-satisfies C if I is an rdf-interpretation; in this case (I, I) is called an rdf-model of C, and C is rdf-satisfiable.
A model (I, I) of a combination C rdfs-satisfies C if I is an rdfs-interpretation; in this case (I, I) is called an rdfs-model of C, and C is rdfs-satisfiable.
Given a conforming datatype map D, a model (I, I) of a combination C D-satisfies C if I is a D-interpretation; in this case (I, I) is called a D-model of C, and C is D-satisfiable.
Entailment
Using the notions of models defined above, we define entailment in the usual way, i.e., through inclusion of sets of models.
Given a conforming datatype map D, an RIF-RDF combination C D-entails a generalized RDF graph S if every D-model of C satisfies S. Likewise, C D-entails a closed RIF condition formula φ if every D-model of C satisfies φ.
The other notions of entailment are defined analogously:
A combination C simple-entails S (resp., φ) if every simple model of C satisfies S (resp., φ).
A combination C rdf-entails S (resp., φ) if every rdf-model of C satisfies S (resp., φ).
A combination C rdfs-entails S (resp., φ) if every rdfs-model of C satisfies S (resp., φ).