The multiplicity of RDF Ontology language variants puzzles me. OWL2 introduced so called profiles instead of building in OWL sublanguages, so how do they relate to each other? I know:

  • OWL Lite is a subset of OWL DL
  • OWL DL is a subset of OWL Full
  • OWL Full is all of OWL
  • RDFS is subset/superset of ??

OWL2 "relaxed some of the restrictions applicable to OWL DL", so OWL DL in OWL2 seems to be different to the first OWL DL? OWL2 introduced:

  • OWL is a subset of OWL2 (isn't it?)
  • OWL2 EL is a subset of OWL2 (is it a subset of OWL2 RL?)
  • OWL2 RL is a subset of OWL2 QL?? (see this question)
  • OWL2 QL is a subset of OWL2

Ho do relate this OWL profiles to each other, to RDFS and to the OWL sublanguages?

Bonus questions: Notation3 includes rules build on formulae, quantification, and implication. Is Notation3 a subset of or even equal to any of the OWL dialects? Can you translate Notation3 formulae to OWL-something and/or the reverse?

P.S: It is also noted that OWL2 QL contains the intersection of RDFS and OWL 2 DL. Full RDFS is only in OWL Full. This should make a nice venn diagram

asked 19 Aug '11, 04:14

Jakob's gravatar image

accept rate: 10%

edited 19 Aug '11, 09:44

Yes, it is a bit confusing... First of all, before getting into the details, you should realize that OWL 2 supersedes OWL. This also means that reasoners will, more an more, move to OWL 2, ie, that is the one that you should really concentrate on...

So (and I hope I won't make a mistake myself:-)

  • OWL Lite is a subset of OWL DL: yes
  • OWL DL is a subset of OWL Full: yes (the truth is a bit more complicated; it is a syntactic subset on which two different semantics essentially coincide)
  • OWL Full is all of OWL: I am not 100% sure what you ask, but I guess the answer is yes
  • RDFS is subset/superset of ??: it is, essentially, a subset of OWL Full. "Essentially" because, eg, (as explained in the OWL 2 Full document) RDFS includes some axiomatic triples that OWL Full does not necessarily uses. But those are minute details.

As for OWL 2: first of all, OWL Lite, though formally still valid, is discontinued, so to say.

  • OWL is a subset of OWL 2: yes
  • OWL 2 EL/RL/QL is a subset of OWL 2: yes and, actually, all three are subset of OWL 2 DL
  • OWL 2 RL is a subset of OWL QL: no
  • I could also add: OWL 1 DL is a subset of OWL 2 DL, hence OWL 1 Lite is also a subset of OWL 2 DL

As I said above: profiles are, in fact, syntactic subsets. The advantage of the DL syntactic subset (and its respective subsets) is that it can be used via a different formal semantic system than OWL 2 Full (with identical results) and this different semantics ('direct' semantics) has numerous efficient implementations due to the developments in that particular area of logics.

I hope this helps a bit...

permanent link

answered 19 Aug '11, 05:31

Ivan's gravatar image

accept rate: 13%

Thanks a lot! I only doubt that OWL2 will replace OWL because old standards rarely die and applications tend to implement selected subsets of standards with their own additions - for instance there is no current RDBMS that even fully implements SQL-92! Support of RDF technologies won't be different, its not a technical but a practical issue.

(19 Aug '11, 08:25) Jakob Jakob's gravatar image

Do OWL2-EL/RL/QL somehow relate to each other? As i understand http://answers.semanticweb.com/questions/1749/owl-2-ql-vs-owl-2-rl OWL2-QL is OWL2-RL plus something more, isn't it? If they don't make a hierarchy, there should be three intersection subsets, such as OWL2-(EL+QL).

(19 Aug '11, 08:37) Jakob Jakob's gravatar image


for your first remark on OWL vs OWL 2: it is of course unclear what will happen. I am sure there are readers who have a better view on the details of the various reasoners. My impression is that there is a clear move to OWL 2 in that world. Remember that, in fact, there aren't that many reasoners around...

As for the profiles: as far as I know the three are really different subsets in the sense that none include any other. So yes, formally there are intersection subsets but they do not seem to be relevant.

(19 Aug '11, 08:46) Ivan Ivan's gravatar image

Ok, so the only relation that's missing is the relation between OWL2-EL/RL/QL to OWL-Lite. As answered in this question: http://answers.semanticweb.com/questions/2957/are-there-viable-alternatives-for-owl-lite-in-owl-2 OWL-Lite seems not to be comparable with the three OWL2 profiles because it includes some not-so-lite constructs.

(19 Aug '11, 09:04) Jakob Jakob's gravatar image

OWL-Lite is, essentially, deprecated. As you say: it is not-so-lite as it turned out, and very few people use it. It is relegated to history...

(19 Aug '11, 09:27) Ivan Ivan's gravatar image

Concerning the relationships between the profiles: To my best knowledge, there is no (intended) relationship between the OWL 2 DL profiles OWL 2 EL, OWL 2 QL and OWL 2 RL, and there is no (intended) relationship between these three profiles and the OWL 1 DL profile OWL Lite (I just call it "profile" here, because essentially it is one, although never called that way). AFAIK, all these profiles have been developed basically independently of each other (there may, of course, have existed collaboration between the involved people).

(21 Aug '11, 05:37) Michael Schn... ♦ Michael%20Schneider's gravatar image

Concerning OWL (1) DL and OWL Lite: I wouldn't call them "deprecated" and, in fact, a deprecation has never been stated by the OWL WG. Both languages can be considered profiles of OWL 2 DL that have already been specified in OWL 1. Both languages can be considered complete and no further development is planned for them anymore. For OWL Lite, I would not even know how an OWL 2 Lite should look like: if it would be a superset of OWL 1 Lite, it would be even less "lite" ;-).

(21 Aug '11, 05:44) Michael Schn... ♦ Michael%20Schneider's gravatar image

Concerning the relationship of RDFS and OWL 2 Full: RDFS is a sublanguage of OWL 2 Full in a perfect sense, i.e. no "essentially" modifier needed. They have the same syntax (the RDF Abstract Syntax) and, semantically, RDFS is a proper subset of OWL 2 Full, simply because OWL 2 Full incorporates all semantic conditions of RDFS, including all axiomatic triples. This is defined by Definition 4.2 of the OWL 2 RDF-Based Semantics, which defines the notion of an "OWL 2 RDF-Based Interpretation" (the definition actually defines an extension of D-interpretations, where D-Entailment extends RDFS).

(21 Aug '11, 05:53) Michael Schn... ♦ Michael%20Schneider's gravatar image

Some notes on "using OWL 2 Full on the OWL 2 DL Profile": there are a couple of semantic results that can only be obtained via OWL 2 Full on the DL profile. This has to do with some syntactic relaxations that have been introduced in OWL 2 DL: punning and annotation property axioms. Via punning, one can write down some metamodeling relationships, but only OWL 2 Full allows to draw semantic conclusions from this, while still keeping in the DL profile. OWL 2 DL further allows for subsumption, domain and range axioms on annotation properties, but only OWL 2 Full draws conclusions from them.

(21 Aug '11, 06:06) Michael Schn... ♦ Michael%20Schneider's gravatar image
showing 5 of 9 show 4 more comments

I forgot to answer to Notation3: it is independent of OWL. There is no full translation, as far as I know, between N3 formulae and OWL constructs. Which does not mean that it cannot be done for a large number of useful OWL constructs, but not full. I have not checked for N3 proper, but the very idea of OWL 2 RL is to define a subset that can be translated into a set of rules (see the profile document), ie, I am 99% sure, into N3, too. (But not vice versa!)

permanent link

answered 19 Aug '11, 05:33

Ivan's gravatar image

accept rate: 13%

As described in this report, OWL2-RL can be expressed in RIF core rule language, I guess this also applies to N3

(19 Aug '11, 09:06) Jakob Jakob's gravatar image

OWL2-RL can also be expressed in SPARQL. Given that there are lots of good SPARQL engines out there (and very few RIF engines), this is nice low-hanging fruit.

(19 Aug '11, 09:58) scotthenninger ♦ scotthenninger's gravatar image

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:

Several notes:

  • 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.)

Several notes:

  • 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).

permanent link

answered 21 Aug '11, 08:37

Michael%20Schneider's gravatar image

Michael Schn... ♦
accept rate: 34%

edited 21 Aug '11, 08:43


Thanks for your detailed explanation, but to me most of it reads like ivory-tower-speech that affirms my prediction: Much of RDF-technology will follow standards like SGML, Corba: too complicated to be really useful. I prefer to understand all dialects of OWL as data definition languages that can define valid RDF graphs, just like Regular Expressions and Backus-Naur-Form can define valid strings. But I admit that I am ignorant.

(21 Aug '11, 12:31) Jakob Jakob's gravatar image

@Jakob: Well, you asked a question, and I gave you an answer. It was probably clear to you from the beginning that the story won't be simple. All these languages have their pros and cons; if there were a single "best" OWL language, there would probably be only one then. But you don't need to know all these OWL flavors. Choose one of them for a start, and check how far you get with it. For example, the OWL 2 RL/RDF Rules, maybe extended by rules for the missing RDFS bits, should be a good deal for many people. At some point, though, you might find that it isn't expressive enough for your needs.

(21 Aug '11, 12:50) Michael Schn... ♦ Michael%20Schneider's gravatar image

Why is there not only one modelling language, but three separate modelling languages: RDF, RDF-S and OWL? Is it not better to have only a single language which is the superset of RDF, RDF-S, OWL/OWL2 ? Then I can use from this single modelling language the vocabularies that I want to use...?

(22 Aug '11, 03:42) B777 B777's gravatar image

Because, if there were only a single modeling language X, there would be people complaining that X misses the largely-relevant feature Y, while other people would strongly believe that no one really needs X's feature Z; still other people would find X much too complicated to be used by most "webby" folks, while another group of people would find X much too inexpressive to cope with real world modeling needs; and there were certainly those who would consider the computational properties of X very unpleasant. Btw, why is there not only one programming language, but literally hundreds of them?

(22 Aug '11, 06:03) Michael Schn... ♦ Michael%20Schneider's gravatar image

In fact, there are even more languages, because every selected set of OWL features can be counted as one language. The paper "A survey of Web Ontology Landscape" (predating OWL2) given some evidence that there are more subsets used in practice.

(24 Aug '11, 06:58) Jakob Jakob's gravatar image

Thanks Jakob. It seems to be a very interesting paper.

(05 Sep '11, 10:40) B777 B777's gravatar image

@Jakob, @B777 -- I agree that this answer could use some simplification, but there are good reasons why different profiles of OWL exist.

Reasoners that are more expressive (have more powerful features) are much more expensive to run than less expensive reasoners. If I've got 20k triples, I might be very happy with an expensive dialect of OWL. If I've got to work with 5 billion triples, my main concern is going to be performance.

Also, OWL exists in a world where "anybody can say anything about anything" and that means that you're going to find that other people have different ideas about what predicates mean from other people. For instance, you can use RDFS/OWL statements to describe the schema of Freebase or a relational database, even though those systems don't behave exactly like RDF systems. Similarly, some of us are picky about owl:sameAs and won't accept owl:sameAs statements that come off the street.

(06 Sep '11, 09:19) database_animal ♦ database_animal's gravatar image
showing 5 of 7 show 2 more comments
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 19 Aug '11, 04:14

question was seen: 3,596 times

last updated: 06 Sep '11, 19:13