You have to clearly distinguish between the syntax and semantics, when comparing the different languages in the OWL and RDF families, as you can pretty freely combine the different syntaxes and semantics into a plethora of different languages. Also, one can only really compare the syntaxes of all the languages with each other after a translation of the OWL 2 DL syntax and its profiles into RDF, because the "native" syntax of these profiles is the OWL 2 Structural Specification, not the RDF Abstract Syntax. the RDF Abstract Syntax is the native language only for RDFS, the OWL 2 RL/RDF Rules, OWL Full, and OWL 2 Full.
Here comes my version of the relationships between the different languages, separated by their syntax and semantics.
Syntactic Relationships between the Languages:
Note 1: One can map the whole OWL 2 Structural Specification into RDF Abstract Syntax, but it is generally not possible to get back into the OWL 2 Structural Specification - a roundtrip by means of the OWL 2 Mapping to RDF Graphs only works safely for OWL 2 DL.
Note 2: The sub-syntax relationship between OWL 1 DL and OWL 2 DL is actually only modulo the differences between the OWL 1 Abstract Syntax vs. the OWL 2 Structural Specification, but this is a matter of straight-forward translation.
Note 3: For the OWL 2 RL/RDF Rules, the syntax is actually defined as an extension of the RDF Abstract Syntax ("generalization of RDF triples"), which allows for all kinds of RDF nodes in all positions of an RDF triple.
Semantic Relationships between the Languages:
- The "natural" semantics of the syntactic specifications of the profiles OWL 2 EL, OWL 2 QL and OWL 2 RL, of OWL Lite, OWL DL, OWL 2 DL and of the OWL 2 Structural Specification is the OWL 2 Direct Semantics (also see notes 1, 2 and 3).
- The semantics of RDFS is specified in Chap. 4 of the RDF Semantics specification (also see note 4).
- The semantics of OWL Full is specified in Sec. 5 of the OWL 1 Semantics and Abstract Syntax specification. It is a semantic extension of the RDFS semantics (more precisely: of D-entailment, which itself is an extension of the RDFS semantics).
- The semantics of OWL 2 Full is the OWL 2 RDF-Based Semantics. It is again an extension of D-entailment and therefore, indirectly, of the RDFS semantics. It essentially extends the semantics of OWL 1 Full, but there are a couple of technical differences explained in Chap. 9. It also essentially extends the OWL 2 Direct Semantics on the OWL 2 DL syntactic specification, but there are some technical differences explained in Chap. 7 (also see note 5).
- The semantics of the OWL 2 RL/RDF Rules is, in the first place, given by its set of rules themselves, which define a proper sub-semantics of the OWL 2 RDF-Based Semantics. However, conformance of satisfiability and entailment checking is defined w.r.t. the OWL 2 RDF-Based Semantics, which may look odd on first sight, but makes some sense in practice: it allows to add rules to the "core set" of OWL 2 RL/RDF rules to create more expressive reasoners, and the only requirement for keeping conformant is to keep within the (much larger) scope of OWL 2 Full. (Also see note 6.)
Note 1: The OWL 2 DL syntactic fragments can, in principle, also be used with the OWL 2 RDF-Based Semantics (after a mapping of the native OWL 2 DL syntax into the RDF Abstract Syntax), but this is less common; the OWL 2 RDF-Based Semantics is primarily meant to define OWL 2 Full.
Note2 : Since the OWL 2 DL syntactic fragments are normally all used with the OWL 2 Direct Semantics, the differences in expressivity is primarily determined by the differences in the syntaxes of these languages: by the different syntactic constructs (axioms, expressions, declarations, etc.) they provide, as well as in which ways these syntactic constructs are allowed to be combined (via so called "global syntactic restrictions").
Note 3: For OWL DL and OWL Lite, there was a OWL 1 Direct Semantics, which has been extended by the OWL 2 Direct Semantics, so it is probably fine to claim that the OWL 2 Direct Semantics is "the natural semantics" for these syntactic specifications as well.
Note 4: It is difficult to compare the RDFS semantics with the OWL 2 Direct Semantics. In certain respects, the RDFS semantics is much less expressive, in other respects it allows for additional semantic results and, in any case, the design ideas underlying the two semantics differ considerably. The closest would probably be to first build an RDFS-like syntactic fragment of OWL 2 DL, and then start from the discussion in comparision made for the OWL 2 RDF-Based Semantics, restricting the comparision to the RDFS semantic fragment of OWL 2 Full.
Note 5: As said, the OWL 2 RDF-Based Semantics (natural semantics of OWL 2 Full) is basically a super-semantics of the OWL 2 Direct Semantics (natural semantics of OWL 2 DL), modulo the cited complications. However, this only holds on the OWL 2 DL syntactic specification. Outside this specification (but still within the OWL 2 Structural Specification), the two semantics deviate considerably. For example, in the OWL 2 Direct Semantics, the data domain (represented by
rdfs:Literal) and the object domain (represented by
owl:Thing) are strictly disjoint, while in the OWL 2 RDF-Based Semantics, following its heritage of the RDFS semantics, the data domain is fully included in the object domain. This becomes obvious outside the OWL 2 DL fragment. Also, the metamodeling capabilities of the OWL 2 RDF-Based Semantics and the ability to use built-in vocabulary terms as normal entities ("syntax reflection") start to show "amazing" effects when one leaves the OWL 2 DL fragment.
Note 6: The name "OWL 2 RL/RDF Rules" suggests a connection with the "OWL 2 RL" syntactic profile. In fact, there is a connection being stated by Theorem PR1: there exists a common syntactic fragment for both languages where the set of semantic results coincides. However, in my opinion, this fragment is too small and restricted to be of much practical relevance. Outside this common fragment, the OWL 2 RL/RDF Rules and the language consisting of the OWL 2 RL syntactic profile and the OWL 2 Direct Semantics produce pretty different results. Let me add that I have, so far, not seen any endevour to implement the RL-profile+DirectSemantics language; in my experience, whenever people talk about "OWL 2 RL" reasoners and reasoning, they really refer to the OWL 2 RL/RDF Rules (with possible rule extensions).
21 Aug '11, 08:37
Michael Schn... ♦