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

RE: Question about problems with top/bottom property

From: Boris Motik <boris.motik@comlab.ox.ac.uk>
Date: Thu, 29 May 2008 12:52:13 +0100
To: "'Michael Schneider'" <schneid@fzi.de>
Cc: <public-owl-wg@w3.org>
Message-ID: <003201c8c182$6f1956e0$7212a8c0@wolf>

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
Received on Thursday, 29 May 2008 11:53:46 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 29 May 2008 11:53:47 GMT