W3C home > Mailing lists > Public > public-owl-wg@w3.org > April 2008

Re: Profiles intro

From: Carsten Lutz <clu@tcs.inf.tu-dresden.de>
Date: Wed, 09 Apr 2008 18:25:08 +0200 (CEST)
To: Ivan Herman <ivan@w3.org>
Cc: Bijan Parsia <bparsia@cs.man.ac.uk>, OWL Working Group WG <public-owl-wg@w3.org>
Message-id: <Pine.LNX.4.64.0804091256481.27250@frege.inf.tu-dresden.de>

I totally agree with Bijan to put a note to the intro for now. Still,
here is a bit of discussion of fragments (maybe for future use).

On Wed, 9 Apr 2008, Ivan Herman wrote:
>
> [[[
> - "The EL++ profile is for efficient reasoning about large-scale ontologies 
> formulated on a high level of abstraction."
> ]]]
>
> To be honest, I do not understand that. I am not playing dumm; I _really_ do 
> not understand what you mean!

Can you elaborate? "Efficient reasoning about large-scale ontologies"
sounds reasonably comprehensible. Is it the high level of abstraction
that bothers you?  Here is a more detailed explanation of what I mean,
phrased in a possibly more controversial style that I would not use in
the documents:

EL++ is designed for use in the construction of real (and large scale)
ontologies such as SNOMED and NCI. IMHO, this already distinguishes it
from DL-Lite and OWL-R as, in my very personal opinion, the latter two
are not good as ontology languages:

- DL-Lite is very weak: it does not allow at all to relate two classes
   in terms of a property (neither SomeValuesFrom nor AllValuesFrom
   available).

- OWL-R allows different constructs on the left-hand side and right-hand
   side of SubClassOf. For example, ObjectSomeValuesFrom is allowed only
   on the left. This means that I cannot use *definitions* in my ontology,
   i.e., statements that give both necessary and sufficient conditions for
   class membership. As an example, take

     "A Father is a Human which has a Child"

   To say this, I need to say that i) Father is a subclass of the
   intersection of Human and (someValuesFrom hasChild Human) and
   (ii) the intersection of Human and (someValuesFrom hasChild Human)
   is a subclass of Father. Such symmetric definitions are standard,
   but cannot be made if the left- and right-hand sides of SubClassOf
   admit different constructs.

This does not at all mean that DL-Lite and OWL-R are useless. To me,
they are constraint languages rather then ontology languages, and they
are useful for data access and from an RDF perspective. But if you
want to *design an OWL ontology*, you may not be happy with DL-Lite 
and OWL-R (and indeed, I know of no ontologies at all formulated in
these languages).

Back to the "high level of abstraction": the benefit of EL++ over full
OWL DL as an ontology language is that is admits efficient (in the
sense of polytime) reasoning. You have to pay for this advantage by
giving up expressive power. But we should not say to a user "use it if
you want to give up expressive power". That's simply not the right way
to put it. The typical use pattern of EL++ is to give a much less
fine-grained modelling than with a more expressive language, see
e.g. SNOMED and NCI. In other words: representing things in a formal
language *always* means abstraction. Even in full OWL 2 and even in
first-order logic, there are a lot of standard things that are not
expressible. When using EL++ instead of OWL DL, this simply means that
you have to abstract even further than in OWL DL. This is what the
switch to a more lightweight ontology language means to the user.

> [[[
> - "The DL-Lite profile is for using conventional database systems to 
> efficiently query large amounts of data in the presence of a very lightweight 
> ontology."
> - "The OWL-R profile is for efficient rule-based reasoning about lightweight 
> ontologies and potentially large amounts of data."
> ]]]
>
> The interesting thing is that, from a user point of view and based on those 
> two statements, there is no clear reason why choosing one over the other!

There is, and I tried to capture it in the slogans: If you want to use
a conventional and off-the-shelf database system without modifying it
in any way whatsoever, you can only use DL-Lite, but (provably!) not
OWL-R. If you want to do forward chaining, OWL-R is for you (though
you could also use DL Lite, and would then get a different kind of
expressive power).

But let me also say this: it is naive to think that there is always a
clear reason to use an ontology language and not another. In the end,
users will anyway have to look at the provided expressivity to decide
whether they can live with it.

> Both profiles are for lightweight ontologies and large amount of data.... 
> _That_ statement I do understand and like. But then... why having _both_ 
> DL-Lite and OWL-R?

Because they are orthogonal in expressive power, and target a different
use (conventional DBs vs rules, see above).

> Is there a way to differentiate between the terms 'lightweight' ontologies? 
> Can we say that OWL-R is 'lighter' than DL-Lite?

They are orthogonal in expressive power, but to me DL-Lite "feels"
lighter than OWL-R. I intended to reflect this in my slogans: "very
lightweight" for DL-Lite as opposed to "lightweight" for OWL-R.

> To be more positive:-), I guess _a_ differentiating factor is the technology 
> that can be used to implement those. Rule based means that I can implement 
> OWL-R via either some simple (Horn?) rule engine or a simple procedural 
> environment easily. I am not sure how one can characterize the DL-Lite 
> implementation engine.

Query rewriting + off-the-shelf database system.

greetings,
 		Carsten

--
*      Carsten Lutz, Institut f"ur Theoretische Informatik, TU Dresden       *
*     Office phone:++49 351 46339171   mailto:lutz@tcs.inf.tu-dresden.de     *
Received on Wednesday, 9 April 2008 16:25:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 9 April 2008 16:25:55 GMT