On technology, business, current affairs and everything else

Misconceptions about OWL Reasoning

The current OWL language specification purposefully defines three different OWL sub-languages, OWL-Lite, OWL-DL, and OWL-Full. Each of the sub-languages has different usage limitations and has different expressive power.

In general, I think this classification is helpful. For example, it helps reasoning engine developers to label their OWL reasoners, and it defines a clear guideline for the parser developers to create validators for a particular OWL sub-language.

Nevertheless, this classification could create misconceptions that lead people to wrongly interpret the properties of different OWL reasoning. For example, a common belief is that when you build an ontology, you should attempt to stay within OWL-DL because OWL-DL reasoners is more efficient that OWL-Full reasoners. Some others believe that the use of OWL-Full will always cause intractable computation performance in a reasoner.

It’s kind of like saying, “reasoning over OWL-DL is solving a problem with polynomial time complexity, and reasoning over OWL-Full is solving a NP problem”. I admit I was one of those people.

This belief is flawed.

There is little doubt that a highly optimized OWL-DL resaoner runs faster than a OWL-Full reasoner, especially if that reasoner is built on a first-order theorem prover. However, in reality, solving many practical problems often does not require a general purpose OWL-Full reasoner, even if the ontology is OWL-Full.

Here is an example,


(urn-x:p1 rdf:type foaf:Person),
(urn-x:p1 foo:reads bk:Comics),
(bk:Comics rdfs:subClassOf bk:Book).

Say I want to deduce all people who read comics are foo:ComicsReader. I define the following Jena rule:


(?p rdf:type foaf:Person),
(?p foo:reads bk:Comics)
=>
(?p rdf:type foo:ComicsReader)

I’m quite confident that the performance of this rule is no worse than a rule that reasons over the subClass-superClass relation between bk:Comics and bk:Book.

In summary, the classification of OWL sub-languages can be useful in guiding the development of OWL tools. However, the language reasoning support labels (i.e., DL, Full) could create misconceptions among the novice users of the OWL language.

Sharing is Good. These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • YahooMyWeb
  • Reddit
  • co.mments
  • Furl
  • Ma.gnolia
  • NewsVine
  • Spurl
  • bodytext
  • E-mail this story to a friend!
  • Facebook
  • Google
  • Pownce
  • Simpy
  • Slashdot
  • StumbleUpon
  • Technorati
  • TwitThis

3 Comments

  1. Stating a rule like the one in your example has nothing to do with any kind of OWL. OWL Lite, OWL DL and OWL Full are three sets of defined semantics (you can think of it as three sets of rules). With regard to performance: OWL Full is simply undecidable in some cases, which means, ther is never an answer to some queries. Btw. not all reasoners are based on FOL theorem provers. KAON2 is different (Google for it to find out :-)

    Comment by Max V?lkel — December 30, 2005 @ 8:33 am

  2. [...] Few days ago I wrote about misconceptions that surround OWL reasoning. I received a good comment from Max V?lkel –Stating a rule like the one in your example has nothing to do with any kind of OWL. OWL Lite, OWL DL and OWL Full are three sets of defined semantics (you can think of it as three sets of rules). With regard to performance: OWL Full is simply undecidable in some cases, which means, ther is never an answer to some queries. Btw. not all reasoners are based on FOL theorem provers. KAON2 is different.First, Max seems to suggest that OWL reasoning has nothing to do with different sub-languages of OWL. Second, Max kindly point out that OWL-Full reasoners need not to be built on FOL theorem provers. I agree with him on both points. However, there is something that I want to clarify. I agree that given an OWL ontology, the kind of sub-language that it belongs to is a matter of semantic representation, which is not dictated by any kind of inference rules (such as the ones that I have defined). However, the OWL language type of an ontology does matter in building real world applications.When building an ontology for a particular application, it is important to know how this ontology will be used. If the ontology is used to support logical inference, it is important to know the kind of logical inference that the application that will need to support — is it within the capability of a target reasoner? The use of a DL reasoner is typical in many applications today because developers can easily find an off-the-shelf DL reasoner. Re-using an existing DL reasoner often helped to reduce the development efforts in building logical inference support. In my experience, using OWL-DL alone is insufficient to support the needs of many real-world applications. As an engineer, I used to be afraid of telling people that my system exploits OWL reasoning that is beyond OWL-DL because I was afraid that people will criticize my system’s non-deterministic behavior or performance. Over the years, I learn that there is nothing wrong with using OWL reasoning that is beyond DL. In fact, it is almost desirable to do so for many different reasons — this will be a subject for some other time. When I wrote "Misconceptions about OWL Reasoning", I intended to share my learned lesson with the readers, so that they don’t have to rediscover what I have already discovered — it’s okay to use whatever the kind of OWL sub-languages and reasoning as long as they help you to solve real-world problems. [...]

    Pingback by Harry Chen Thinks Aloud » Blog Archive » Re: Misconceptions about OWL Reasoning — December 30, 2005 @ 7:21 pm

  3. [...] Few days ago I wrote about misconceptions that surround OWL reasoning. I received a good comment from Max V?lkel – Stating a rule like the one in your example has nothing to do with any kind of OWL. OWL Lite, OWL DL and OWL Full are three sets of defined semantics (you can think of it as three sets of rules). With regard to performance: OWL Full is simply undecidable in some cases, which means, ther is never an answer to some queries. Btw. not all reasoners are based on FOL theorem provers. KAON2 is different. [...]

    Pingback by Harry Chen Thinks Aloud » Blog Archive » Re: Misconceptions about OWL Reasoning — January 4, 2006 @ 12:21 am

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">