W3C home > Mailing lists > Public > www-webont-wg@w3.org > September 2002

Re: possible semantic bugs concerning domain and range

From: pat hayes <phayes@ai.uwf.edu>
Date: Tue, 24 Sep 2002 18:09:38 -0500
Message-Id: <p05111b56b9b666d8fd3a@[]>
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
Cc: www-webont-wg@w3.org

>From: pat hayes <phayes@ai.uwf.edu>
>Subject: Re: possible semantic bugs concerning domain and range
>Date: Mon, 23 Sep 2002 22:18:39 -0500
>>  Rather than respond point by point, let me try to see if I can
>>  summarize what seem to be the main clashes of intuition here.
>>  My view of the range of a property is that it is a particular class
>>  which as far as possible defines the, well, range that the values of
>>  the property can take. Of course, there is no guarantee that any
>>  property will as it were 'fill up' its range, so it can make sense to
>>  apply conjunctive semantics to multiple range assertions; but the
>>  range is a definite thing associated with the property; it is part of
>>  the very specification of the property; knowing the range is knowing
>>  something particular about the property, a key piece of information.
>>  It allows one, for example, to detect inappropriate uses of the
>>  property under some circumstances. Ranges can be used to convey
>>  information relevant to a property, for example by having an
>>  associated datatype.
>OK, this is your view.
>>  Your view, as I understand it, is that a range is simply any class
>>  which all the values are in. In particular, the idea of there being
>>  *a* range is silly, on this view: all properties will have multiple
>>  ranges.
>OK, this is my view.
>>  What I am calling 'the' range, on this view, is something
>>  like the smallest range;
>Well, if this is your view, then you have to allow inference to determine
>'the' range, because even RDFS allows multiple ranges.

Yes, I realize that, which is why I said 'something like'. And I 
don't disagree that one might need to use inference to determine the 
range. And the use of 'the' is maybe unfortunate; I don't mind there 
being several ranges (though they ought to overlap, since the values 
are required to be in them all.)

>What is 'the' range of foo in
>	foo rdfs:range bar .
>	foo rdfs:range baz .
>>  but supersets of this can also be called
>>  ranges. I can see that with this view, the proposed semantics  and
>>  Jeremy's entailment are both quite natural. But what worries me about
>>  this view is that it seems to discount the most useful aspects of the
>>  'range' idea.
>>  The first view seems to go naturally with an intensional view of
>>  classes as real things that can have properties, while the second is
>>  more natural if one thinks of classes simply as sets in extension.
>>  Maybe the different directions our intuitions go in reflect a
>>  basically different world-view about the nature of classes.
>Well, I think that it is your view that has technical problems, as
>evidenced by the property foo.
>>  However, I would like to return to a more technical debate. You claim
>  > the several intuitive entailments go through on your semantics but
>  > not on mine. Seems to me that this isn't correct, so far: the correct
>>  form of Jeremy's entailment and the intersection example both work on
>>  both semantics.
>Your interpretation of Jeremy's natural-language paraphrase of his example,
>that is.  I prefer to go by the formal version of Jeremy's example.

Look, we just flat disagree with the formal version: you want that 
entailment, I don't. My point was that Jeremy, maybe inadvertently, 
said *why* he wanted it to hold, and that his justification (which 
you also seemed to approve of) can be expressed adequately in either 
semantics. Of course if x is in a range and if that range is a 
subclass of y, then x is in y. The only issue we disagree about is 
whether we should be obliged to say that y is a range just because it 
contains all the values.

>>  So just on grounds of interoperability, it seems to
>>  me that the burden of proof is on you to show why OWL needs to change
>Well, precisely because of the above example.  I believe that an
>intersection of bar and baz is a range of foo.  If you believe in 'the'
>range, then what else can it be for foo?

Yes, that is a good point, I confess, and one that forces me to admit 
that the idea of 'the' (singular) range has to be relaxed.  But even 
in this case I would prefer to say that both bar and baz are ranges, 
and that it therefore follows that any value of foo is in their 
intersection, but not that the intersection *was* a range.

I want to be able to restrict the class of range classes to a limited 
set in a particular application (eg they might correspond to Java 
classes, or have associated datatypes). On my view, being a range is 
(or at any rate, can be) a more substantial claim than merely being a 
class which holds all the values. Maybe we could have two notions of 
range: your purely extensional one, and the RDFS intensional one. 
But it seems to me that we don't really need to be able to transmit 
rangeness up the subclass hierarchy, since for you the only 
significance of being a range is that it contains all the values: and 
if you say that explicitly using rdf:type, it holds in both semantics.

Heres a way to phrase the difference: call a class a protorange iff 
it contains all the values of a property. For you, protoranges are 
ranges. For me, only some of the protoranges need be ranges. Clearly, 
iff semantics is appropriate for protoranges; but many applications 
of the notion of range require us to be able to identify particular 
protoranges as the ones to which other information is associated, and 
if we make the identification then this ability to distinguish 
particular protoranges is lost (or requires extra machinery). Whereas 
it seems to me that applying the iff semantics provides no useful 
extra entailments. It allows one to conclude that many more classes 
are ranges, of course, but all this does is make manifest that the 
notion of 'range' has been (from my point of view) fatally weakened. 
These can all be expressed using my notion of range and 
rdfs:subClassOf or rdf:type. The important inferences about ranges - 
notably, the kind that arise from an association of a datatype with a 
range - apply in both semantics, but require more care to state in 
yours.  And, finally, it seems to me better not to make changes which 
introduce incompatibilities between languages unnecessarily, and that 
we already have a coherent, intuitively correct and useful notion of 
range which both RDFS and DAML use, and which can be used by OWL 
without introducing any harmful consequences.

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Tuesday, 24 September 2002 19:09:29 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:56:47 UTC