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

Re: Question about problems with top/bottom property

From: Alan Ruttenberg <alanruttenberg@gmail.com>
Date: Mon, 2 Jun 2008 08:32:59 -0400
Message-Id: <929ABE5D-67CF-4E8F-B251-6013A7222CCB@gmail.com>
Cc: Boris Motik <boris.motik@comlab.ox.ac.uk>, 'Michael Schneider' <schneid@fzi.de>, public-owl-wg@w3.org
To: Ivan Herman <ivan@w3.org>

On Jun 2, 2008, at 8:16 AM, Ivan Herman wrote:
> Alan Ruttenberg wrote:
>> Is there any reason not to include bottom role? There is a  
>> debugging benefit to computing equivalentProperty to bottom role.
>
> I must admit I do not understand what you mean here.

Suppose I have a two classes, A and B, which are disjoint.
If I create a class C = A intersection B, then this class is  
unsatisfiable - there are no possible members. If you asked for the  
classes that are equivalent to  owl:Nothing you would get C.  
Reasoners report such unsatisfiable classes as they are most often  
modeling errors.
However, what happens if I make a property P whose range is A  
intersection B? Now this property can't have any values. It is also  
most likely a modeling error. It is an "unsatisfiable property". If  
there were bottom role we could ask if was equivalentProperty to  
owl:NothingProperty (one name for bottom role).

> In general, I would like to understand the clear benefit the top  
> and bottom role would bring to OWL users. At the moment, it is  
> unclear to me.

The most often stated benefit is symmetry between classes and  
properties. Just as there is owl:Thing at the top of the class  
lattice, and owl:Nothing at the bottom, there would be  
owl:ThingProperty/owl:NothingProperty (names chosen to emphasize  
parallel) for the property lattice.

-Alan

>
> Ivan
>
>> Also, where we discuss computational properties and reasoning  
>> services - should role subsumption (and with bottom role, role  
>> satisfiability) be mentioned?
>> -Alan
>> On May 29, 2008, at 7:52 AM, Boris Motik wrote:
>>>
>>> Hello,
>>>
>>> Here is the executive summary of this rather long e-mail:
>>>
>>> 1. The universal property can already be expressed in OWL 2 in a  
>>> straightforward way.
>>> 2. This straightforward encoding (suggested in most papers),  
>>> however, is quite inefficient in practice.
>>> 3. It might be possible to come up with a more efficient  
>>> implementation technique. This technique, however, would not be  
>>> completely
>>> trivial.
>>> 4. It is currently unclear how any of these techniques would fare  
>>> in practice.
>>> 5. It is currently unclear that the potential "dangers" outweigh  
>>> the benefits of adding the universal property.
>>> 6. Therefore, we might want to wait before we add this feature to  
>>> OWL 2.
>>>
>>> And now for the details.
>>>
>>> ==================================================================== 
>>> =====================
>>>
>>> Point 1.
>>> --------
>>>
>>> You can use existing OWL 2 axioms to encode universal role. The  
>>> following axioms make U universal (ni is a new individual -- that
>>> is, an individual that does not occur elsewhere in your ontology):
>>>
>>> (1)  SubClassOf( owl:Thing hasValue( U ni ) )
>>> (2)  ReflexiveProperty( U )
>>> (3)  SymmetricProperty( U )
>>> (4)  TransitiveProperty( U )
>>>
>>> Axiom (1) makes every individual in the interpretation domain  
>>> connected through U to ni, and axioms (2), (3), and (4) then ensure
>>> that you have a connection between all possible individuals. This  
>>> is the encoding suggested as an encoding in most papers: one
>>> simply adds these axioms to an ontology and treats U as an  
>>> ordinary object property.
>>>
>>> Point 2.
>>> --------
>>>
>>> The problem with this encoding is that axioms (1)--(4) connect  
>>> everything with everything. Consider what would happen if you added
>>> (1)--(4) to an ontology containing a large number of assertions.  
>>> Then, your reasoner would have to deal with the extension of U
>>> which is at least quadratic in the number of individuals  
>>> occurring in the ontology. This is likely to cause problems for  
>>> indexing
>>> and memory storage management in general.
>>>
>>>
>>> Point 3.
>>> --------
>>>
>>> I had a quick chat with Ian, and we noticed that there might be a  
>>> way to implement the universal property more efficiently, without
>>> the explicit maintenance of the extension of U. Here is a very  
>>> rough sketch how this might work.
>>>
>>> The only way that U does something from a logical point of view  
>>> is through universals, and in such cases, U is connected to
>>> everything; hence, you might find a suitable reformulation of  
>>> AllValuesFrom( U CE ) and simulate it though axioms of the form
>>> SubClassOf( owl:Thing CE ). In fact, the two constructs are  
>>> "quite close" semantically.
>>>
>>> The complication here is with the role hierarchy: one would have  
>>> to ensure that the used encoding does not mess up some interaction
>>> w.r.t. complex role inclusions.
>>>
>>> Thus, there is some conceptual work to be done, albeit this work  
>>> is probably not hard and/or interesting from a purely theoretical
>>> point of view.
>>>
>>>
>>> Point 4.
>>> --------
>>>
>>> We should be careful when extending OWL 2 with new features that  
>>> have not been extensively tested in practice.
>>>
>>> If we don't have the universal property in OWL 2, then it is  
>>> user's fault if he adds the axioms (1)--(4) to an ontology and
>>> everything suddenly runs slowly. In fact, if a user complains  
>>> that my reasoner is running slowly on his ontology, I can tell him
>>> "it's your fault because you are using an ontology which is hard".
>>>
>>> If we allow for the universal property, then users will use it  
>>> (even though they might not really need it). But then, if my
>>> implementation technique for an official feature of OWL 2 is  
>>> flaky (and, in particular, if this flakiness occurs in even rather
>>> simple cases), the user has every right to complain.
>>>
>>>
>>> Point 5.
>>> --------
>>>
>>> On the one hand, I see that the universal property might be  
>>> intuitively appealing: it would allow make the language symmetric  
>>> when
>>> compared with classes (which have owl:Thing), and it would allow  
>>> us to "hang" the property hierarchy off of the universal role.
>>>
>>> On the other hand, I don't see what expressivity benefits we gain  
>>> by adding the construct to the language. As I already mentioned,
>>> AllValuesFrom( U CE ) and SubClassOf( owl:Thing CE ) are "very  
>>> close" semantically.
>>>
>>> Thus, the added expressivity of the universal property does not  
>>> seem to outweigh the potential risks identified in Point 4.
>>>
>>>
>>>
>>> Point 6.
>>> --------
>>>
>>> My preferred course of action would be to let someone demonstrate  
>>> (either by using the simple encoding (1)--(4) or by developing a
>>> more efficient implementation approach) that adding universal  
>>> property does not really cause problems in practice. Assuming  
>>> this is
>>> done, adding the feature to the language should not be contentious.
>>>
>>>
>>> Regards,
>>>
>>>     Boris
>>>
>>>> -----Original Message-----
>>>> From: public-owl-wg-request@w3.org [mailto:public-owl-wg- 
>>>> request@w3.org] On Behalf Of Michael
>>>> Schneider
>>>> Sent: 29 May 2008 09:32
>>>> To: Boris Motik
>>>> Cc: public-owl-wg@w3.org
>>>> Subject: Question about problems with top/bottom property
>>>>
>>>> Hi Boris!
>>>>
>>>> In yesterday's telco you expressed some concerns about the  
>>>> introduction of
>>>> the top/bottom properties into OWL. But I did not understand  
>>>> what the
>>>> problem was. Can you please elaborate on this topic.
>>>>
>>>> Thanks,
>>>> Michael
>>>
>>>
>>>
>
> -- 
>
> 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 Monday, 2 June 2008 12:37:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 2 June 2008 12:37:26 GMT