Re: Issue: Add hasValue to OWL Lite

At 7:56 PM -0600 10/29/02, Dan Connolly wrote:
>On Tue, 2002-10-29 at 18:34, Ian Horrocks wrote:
>>
>>  The problem with adding hasValue to OWL Lite is that it wouldn't be
>>  Lite any more. The lack of hasValue in Lite is, from an implementation
>>  point of view, the main thing that differentiates it from fast -
>>  hasValue is very tough to deal with, and is responsible for pushing
>>  the worst case complexity of reasoning in fast OWL from ExpTime to
>>  NExpTime.
>
>Could you unpack that a bit?
>
>Could you give an example, maybe?
>
>{snip]

A typical use of #hasvalue that I see often in class is something like

:Restaurant a owl:class;
     ...                       # the subclassOf/restriction stuff
    :foodtype :Anyfoodtype.

:ChineseFood a :Anyfoodtype.

:ChineseRestaurant a :Restaurant;
   :foodtype ...
     owl:hasValue :ChineseFood.

This would mean
     ChineseRestaurant(X)  <-> Restaurant(X) and foodtype(X,ChineseFood)
(assuming no other properties anywhere)

=======
By the way, note that in the frame-based world, the tendency would be 
to use classes as instances i.e.

:ChineseRestaurant a owl:class;
   :foodtype :ChineseFood.

but note that this means:
  ChineseRestuarant(X) -> Restaurant(X) and foodtype(X,:ChineseFood)

so these are not identical although they are often used the same way 
in many applications (where the "only if" inference is not needed).

  -JH
-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  240-731-3822 (Cell)
http://www.cs.umd.edu/users/hendler

Received on Wednesday, 30 October 2002 08:56:31 UTC