Re: Profiles intro

(I was not sure which mail to answer in the thread, because while I was 
sleeping, new mails came in from Bijan, Deb, Michael,... So I decided to 
be a narcissist and reply my own mail:-)

Carsten, it is my turn to be the target for flames:-)

So here is how I understand things at this moment and how I would 
formulate it for outsiders:

[[[
In some cases, the emphasis is on possibly very large concept 
hierarchies and the corresponding queries, rather than on sophisticated 
characterizations of, and with properties (roles). EL++ is a profile 
where such queries can be responded in polynomial time.

In other cases, the emphasis is to provide a minimal classification and 
federation vocabulary over a possibly very large set of data (typically 
in the form of RDF triplets), while maintaining efficient querying. Two 
such profiles are defined: DL-Lite, that can be implemented on top of 
traditional database systems using query rewriting, and OWL-R, that can 
be implemented using basic rule systems.
]]]

I hope this is at least factually correct. It is interesting to note 
that on such high level there is no real difference between DL-Lite and 
OWL-R, and the only way to differentiate them on that level is how they 
are implemented. This is not necessarily a problem, just an observation.

I would probably stay on that level in the profile document as part of 
the intro, and then dive into the technical details that Carston 
provided. In the primer I would more or less repeat these, and I would 
then add examples for each of the three profiles on what can and cannot 
be done, typically, and what type of inferences cannot be done when 
compared to DL.

I also believe that the names of the profiles should somehow reflect the 
high level characterization. Something like:

EL++     -> OWL HI (for hierarchies?)
DL Lite  -> OWL DB
OWL-R    -> OWL Rules

But I am really not sure.


Ivan





Ivan Herman wrote:
> Carsten,
> 
> as far as I am concerned, this thread was actually very helpful. 
> Followup tomorrow...
> 
> Thank you
> 
> ivan
> 
> Carsten Lutz wrote:
>> A wrap-up after my longish mail. My view on the use of fragments is:
>>
>> - you want to design an ontology and efficiently reason about it
>>   -> EL++
>> - you want to query large-scale data w.r.t. a very lightweight ontology
>>   -> DL-Lite
>> - you want to enrich RDF with some OWL expressivity retaining efficiency
>>   of reasoning
>>   -> OWL-R
>>
>> I expect that not everybody agrees. True?
>>
>> greetings,
>>         Carsten
>>
>> PS: Zhe: can you provide a one-liner describing the most typical scenario
>>     for OWL-R? We are clearly not restricted to a one-liner in our
>>     documents, but it would help to understand your view.
>>
>> On Wed, 9 Apr 2008, Carsten Lutz wrote:
>>
>>>
>>> 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 *
>>>
>>>
>>
>> -- 
>> *      Carsten Lutz, Institut f"ur Theoretische Informatik, TU 
>> Dresden       *
>> *     Office phone:++49 351 46339171   
>> mailto:lutz@tcs.inf.tu-dresden.de     *
> 

-- 

Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
PGP Key: http://www.ivan-herman.net/pgpkey.html
FOAF: http://www.ivan-herman.net/foaf.rdf

Received on Thursday, 10 April 2008 07:42:47 UTC