Recently I realized that there is difference between these two things. I want to ask what are the differences? Is there also something like OWL2 QL/RDF Rules etc? Thank you for answer

asked 06 Jan '12, 04:10

Marek%20Surek's gravatar image

Marek Surek
accept rate: 0%


First of all: No, there is no OWL 2 QL/RDF rules and also no OWL 2 EL/RDF rules. There is only the OWL 2 RL/RDF rules.

Now, here is my claim, as already stated in a comment to a different question:

OWL 2 RL is a syntactic subset of OWL 2 DL. The OWL 2 RL/RDF rules are a semantic subset of OWL 2 Full. This is probably the most confusing thing in the OWL 2 standard, in particular since the OWL 2 RL/RDF rules and the language consisting of the OWL 2 RL syntactic fragment of OWL 2 DL and the OWL 2 Direct Semantics lead to very different semantic results (there is a theorem that tells under which conditions the two languages produce the same results, but the conditions are heavily restrictive). In practice, almost all "OWL 2 RL" reasoners I know implement the OWL 2 RL/RDF rules.

So what's going on here?

As many people know, the OWL 2 Profiles specification defines three distinct profiles, namely OWL 2 EL, OWL 2 QL, and OWL 2 RL. But, it would probably be better to say that the specification document contains three chapters with the profile names as the chapter titles. :-) These chapters generally consist of two sections, one which gives an overview on the profile, and the second section contains the formal specification. In all three cases, these two sections are about syntactic fragments of OWL 2 DL. This means that for their definition one started from the syntactic specification of OWL 2 DL and added further syntactic restrictions to obtain more rigid profiles. Hence, many ontologies that are syntactically valid OWL 2 DL ontologies will fail to be valid OWL 2 EL/QL/RL ontologies, since they may use language features or combinations of features that are not allowed in the fragment language.

Having such syntactic fragments of OWL 2 DL was the original idea of profiles or "tractable fragments". One can see this from the original "OWL 1.1 Tractable Fragments" document, which was, as part of the whole set of OWL 1.1 documents, later used as an input for the OWL Working Group. The old document contained the fragments "EL++", which evolved to OWL 2 EL, "DL-Lite", which evolved to "OWL 2 QL", and two fragments called "DLP" and "Horn-SHIQ" which in some complicated way may be seen as predecessors of today's "OWL 2 RL".

So far for the syntax, but what about semantics, as any formal language consists of a syntax and a semantics? Neither the old OWL 1.1 Tractable Fragments document nor the OWL 2 Profiles document talks about the semantics to be used for any of the three OWL 2 DL fragments. This is the same situation as for the definition of OWL 2 DL itself, which is only defined as a syntax in the OWL 2 Structural Specification. But, it is obvious that the "intended semantics" was the "Direct Semantics", as the original suite of OWL 1.1 documents only contained some precursor of the Direct Semantics. The other semantics of OWL 2, the OWL 2 RDF-Based Semantics, was defined much later by the OWL 2 Working Group. Today, however, both semantics can be used with either profile, as stated in the OWL 2 Conformance spec.

But now to the OWL 2 RL/RDF rules! Unlike the other chapters in the Profiles spec, the chapter for the OWL 2 RL profile has a third section called "Reasoning in OWL 2 RL and RDF Graphs using Rules". The content of this section isn't like anything else in the rest of the document. It contains a large set of "triple rules", where each antecedent and consequent consists of an RDF-style triple pattern. The rule set is introduced as

a partial axiomatization of the OWL 2 RDF-Based Semantics ... in the form of first-order implications; this axiomatization is called the OWL 2 RL/RDF rules.

So we are suddenly not talking anymore about a syntactic fragment of the OWL 2 DL syntax, which is typically (though not exclusively) interpreted under the OWL 2 Direct Semantics. Rather, we are talking about:

  • the OWL 2 RDF-Based Semantics
  • a partial axiomatization of it
  • first-order implications

The first noteworthy thing here is that we are talking about a semantics, namely a partial semantics -- a semantic restriction -- of the OWL 2 RDF-Based Semantics. So it becomes clear that the OWL 2 RL/RDF rules is a completely different kind of beast than the rest in the profiles spec.

Secondly, the OWL 2 RDF-Based Semantics is the semantics of OWL 2 Full, as defined here (this is also stated in the introduction of the spec). So, the OWL 2 RL/RDF rules have, somehow, be defined with regard to OWL 2 Full instead of OWL 2 DL.

What about these "first-order implications", by which the OWL 2 RL/RDF rules are said to be implemented? Well, this is basically talking about the style of the triple rules. The rule set is, formally, a set of first-order logic formulas of a pretty restricted form (simple rules!). In comparison, the form in which the "mother semantics" of OWL 2 RL/RDF, the OWL 2 RDF-Based Semantics, is defined is also, essentially, in terms of a set of first-order logic formulas, but they are generally not simple rules, but make much more use of the expressive features of first-order logic. It all amounts to saying that the OWL 2 RL/RDF rules are defined in a similar way like the OWL 2 RDF-Based Semantics, namely as a set of first-order logic formulas, but the formulas for the RL rules generally have a (much) more restricted form, which makes the resulting language less expressive than OWL 2 Full. However, as the OWL 2 Conformance spec tells us, it is allowed for a compliant OWL 2 RL/RDF rule reasoner to produce additional reasoning results up to the full expressivity of the OWL 2 RDF-Based Semantics. This is a somewhat peculiar relaxation that is of considerable practical relevance, since it allows tool providers to create reasoners with the original OWL 2 RL/RDF rule set as a base, and almost "arbitrary" additional power if needed by customers. A typical example (e.g., AFAIK OWLIM does this!) is to add rules for genuine RDFS reasoning, which is not fully supported by the OWL 2 RL/RDF rules.

So we have a semantics, but what about the syntax of the OWL 2 RL/RDF rules? It turns out that there are no limitations to which ontologies the the RL rules can be applied, since they are defined upon arbitrary RDF graphs; in fact, the second paragraph of Sec. 4.3 of the Profiles spec even states that the rules are defined upon

a generalization of RDF triples in which bnodes and literals are allowed in all positions

(Aside: this is also allowed for the OWL 2 RDF-Based Semantics.) Now, again, this is very different from the rest of the OWL 2 profiles, which are explicitly defined as restrictions of the OWL 2 DL syntax.

So to summarize the fundamental difference that we have found so far, restricting our comparison to the OWL 2 RL/RDF rules and the single syntactic profile OWL 2 RL:

  • The OWL 2 RL profile, as specified in Sec. 4.2 of the Profiles spec, is defined as a particular syntax. In contrast, the OWL 2 RL/RDF rules are defined as a particular semantics.

  • The typical semantics for the OWL 2 RL syntactic profile is the OWL 2 Direct Semantics (although any OWL 2 semantics may be used). The semantics of the OWL 2 RL/RDF rules is defined by the rule set itself, which is a semantic restriction of the OWL 2 RDF-Based Semantics, i.e., the semantics of OWL 2 Full. Reasoners are allowed to extend this semantics continuously up to the level of the whole RDF-Based Semantics.

  • The syntax of the OWL 2 RL syntactic profile is defined by itself as a syntactic restriction of OWL 2 DL. The syntax of the OWL 2 RL/RDF rules is unrestricted RDF; even more: generalized RDF.

Looking at these points, it becomes apparent that the two languages, OWL 2 RL + Direct Semantics on the one side and the OWL 2 RL/RDF rules on the other side, can hardly be the same languages. Clearly, they cover different sets of input ontologies, as the OWL 2 RL/RDF rules can be used on arbitrary RDF graphs while the OWL 2 RL syntactic profile only applies to certain input ontologies and not to every RDF graph. And due to the different reference semantics being used, it even appears possible that the two languages will lead to different reasoning results even when both applied to valid OWL 2 RL ontologies. Let's have a closer look at these two points.

Concerning syntax: the interesting question is how do OWL 2 RL ontologies look like? Obviously, if something is not a valid OWL 2 DL ontology, than it cannot be a valid OWL 2 RL ontology. So the question remains how far OWL 2 RL ontologies are restricted compared to OWL 2 DL? Short answer: The difference is big! A precise characterization is complicated and out of scope for this answer, but to get a first idea, it is sufficient to have a look in the overview section of OWL 2 RL, which has a table containing some of the restrictions. A OWL language feature that is heavily affected by the OWL 2 RL restrictions is class subsumption (rdfs:subClassOf), which is, of course, a very basic feature of OWL. What one can easily see from the table is that most class expressions of OWL (booleans and property restrictions) may only occur on one side of a subsumption axiom, if at all. For example, class unions may not appear as superclass expressions, while complements may not appear as subclasses. So the OWL 2 RL fragment is defined in a very "asymmetric" form. If one further analyses the situation, then one finds that the restrictions go a lot deeper, making it hard to author a valid OWL 2 RL ontology, let alone finding one in the "wild". My personal view on this: The OWL 2 RL syntactic profile is not very interesting as a practical ontology language, and I don't remember to have ever seen a serious OWL 2 RL ontology (apart from test cases or trivial examples, as those I will show below).

Concerning semantics: It is obvious that one can use the OWL 2 RL/RDF rules to obtain results that are outside the scope of OWL 2 RL + Direct Semantics, simply as one can apply the OWL 2 RL/RDF rules to arbitrary RDF graphs. But it turns out that the two languages produce different semantic results, even when applied to valid OWL 2 RL ontologies. The relationship is complex; in particular, neither language is a sub language of the other. Two examples:

  • Example for OWL 2 RL + Direct Semantics producing results beyond the OWL 2 RL/RDF rules: This has to do with the high expressivity of the OWL 2 Direct Semantics, when dealing with class expressions, which is beyond the expressivity provided by the simple first-order rules of the OWL 2 RL/RDF rules. I am ommiting the ontology headers and declarations for easier read (here is a link to the full example).

    Premise Ontology:

    ex:X1 owl:intersectionOf (ex:C1 ex:C2 ex:C3) .
    ex:X2 owl:intersectionOf (ex:C1 ex:C2) .

    Conclusion Ontology:

    ex:X1 rdfs:subClassOf ex:X2 .
  • Example for the OWL 2 RL/RDF rules producing results beyond OWL 2 RL + Direct Semantics: This has to do with the "emergent" metamodeling capabilities of the "OWL Full'ish" OWL 2 RL/RDF rules, which is beyond the capabilities of the OWL 2 Direct Semantics. (Again, see this link for the full example.)

    Premise Ontology:

    ex:Land owl:sameAs ex:Country .
    ex:Germany rdf:type ex:Land .

    Conclusion Ontology:

    ex:Germany rdf:type ex:Country .

Now, this may look surprising: There are two languages sharing the same name, but they are so different! Still, there is some relationship between the two languages, which is stated by theorem PR1: When an OWL 2 RL ontology is further syntactically restricted in a certain way, as stated by the theorem, then the two languages are really the same concerning their semantic ramifications, i.e., reasoners for both languages will produce the same results on such restricted ontologies. However, as said earlier, OWL 2 RL ontologies are already very restricted, and the additional restrictions of the theorem are again rather strong. So, IMHO, this theorem will hardly ever be of any practical relevance (although I have seen it often being cited).

People may ask how the OWL 2 RL/RDF rules came into life at all, given that they have not been treated in the original OWL 1.1 documents. Well, within the OWL Working Group, there were some people who simply wanted a "very easy" OWL for, let's call them, "working ontologists". They had different ideas about how such a simple-OWL may look like, but it should be kind of "RDFS-plus-a-bit". These folks apparently did not care much (or maybe not even know) about the original Tractable Fragments document of OWL 1.1. After long discussions, they settled on "something in the spirit of pD*" (aka "OWL Horst") as a good starting point, but possibly extended by some of the new features of OWL 2. Over the time, the whole thing evolved as more or less a separate stream of development, and was, for some time, called "OWL-R Full", in contrast to "OWL-R DL", as can still be seen in earlier OWL 2 working drafts.

permanent link

answered 06 Jan '12, 08:39

Michael%20Schneider's gravatar image

Michael Schn... ♦
accept rate: 34%

edited 06 Jan '12, 08:46

I'd better make a cup of tea before reading this one :)

(06 Jan '12, 10:13) Signified ♦ Signified's gravatar image

I +1ed it before finishing the story. First half already diserve a bonus. Just one remark: the RDF-based semantics was not introduced late by the OWL 2 working group, it was already there since the first OWL specification [http://www.w3.org/TR/owl-semantics/rdfs.html]

(06 Jan '12, 12:11) Antoine Zimm... ♦ Antoine%20Zimmermann's gravatar image

@Antoine: Sure, there was an RDFS-based OWL semantics in OWL 1, and the (2nd) OWL Working Group was chartered to have such as well, but it was long an open issue whether or in which form to have it. While the WG started in Autumn 2007, it was only in Spring, when someone received the action to start creating a draft. And it would then still take months till the final decision was made to put it on standard track.

(06 Jan '12, 15:39) Michael Schn... ♦ Michael%20Schneider's gravatar image

Michael, ok thanks for the historical details :)

(09 Jan '12, 03:56) Antoine Zimm... ♦ Antoine%20Zimmermann's gravatar image
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: 06 Jan '12, 04:10

question was seen: 4,463 times

last updated: 09 Jan '12, 03:56