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: Mon, 23 Sep 2002 18:35:04 -0500
Message-Id: <p05111b46b9b54cbfdf4c@[]>
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 15:04:24 -0500
>>  ......
>>  >As far as OWL is concerned,
>>  >
>>  >	foo rdfs:range bar .
>>  >
>>  >should follow from
>>  >
>>  >	foo rdfs:range baz .
>>  >	baz rdfs:subClassOf bar .
>>  >
>>  >This would fit in with the general OWL stance on these sorts of things.
>>  Come on, I need more than that. What 'general OWL stance' ??
>The general OWL stance is that if some conclusion is true, such as, in this
>case, all the possible object of foo belong to baz, then that should be

I presume you meant belonging to bar. But *that* already follows: if 
foo rdfs:range baz then the object of foo belongs to baz (by the 
current RDFS range semantics) and hence it belongs to bar (by the 
current - when fixed - subClassOf semantics). Of course all the 
things in baz are also in bar; but the range assertion means more 
than that: it is supposed to be usable to *restrict* the range. If 
range is preserved under subClass, then its impossible to restrict a 
range, no matter how much you say about it: every property has the 
universe as (one of) its range(s). One of the primary uses of range 
assertions is to detect ill-formed uses of properties, and this is 
impossible if ranges are upward expandable under subClassOf.

Suppose that I have two properties foo and fee, and I want to say 
that the ranges of foo and fee  are disjoint. That seems like a 
coherent thing to say, but that's inconsistent, in your semantics.

>>  Does OWL
>>  differ so much from DAML+OIL that conjunctive information about
>>  property ranges and domains is now considered illegal?
>No, of course not.  There is nothing in OWL that causes
>	foo rdfs:range bar .
>	foo rdfs:range zyx .
>to cause a problem.

Not a problem, but what is the point of asserting this? You already 
know that the range of foo is owl:Thing in any case, with your 

>All that happens here is that you can infer
>	foo rdfs:range _:z .
>	_:x owl:intersectionOf [bar xyz] .

You can do that without breaking the rdfs:range semantics.  In fact 
it already follows. RDFS semantics for rdfs:range means that with 
those assumptions, I(foo) must be in both of ICEXT(I(bar)) and 
ICEXT(I(zyx)), so the OWL/RDF weak semantics means that their 
intersection exists (assuming they are OWL classes, of course) and 
that I(foo) is in it.  On your semantics, it also follows that

foo rdfs:range _:z .
_:z owl:unionOf [bar xyz myuncletomcobbelyandall ]

which strikes me as crazy.

>>  And what does
>>  one *gain* by making this change, in any case?
>Precisely inferences like the one above.

You already got them. You don't have Jeremy's entailment because it is wrong.

>>  Jeremy's entailment
>>  goes through, if properly expressed, with the current semantics for
>>  domain and range.
>Jeremy's entailment
>	1:[[
>	eg:prop rdfs:range eg:A .
>	eg:A rdfs:subClassOf eg:B .
>	entails
>	eg:prop rdfs:range eg:B .
>	]]
>is not a consequence in RDFS.

I know, but if you read Jeremy's English explanation of what he 
means, you will see that this is not in fact a proper expression of 
it in RDFS. The one that is, is a valid inference:

eg:prop rdfs:range eg:A .
eg:A rdfs:subClassOf eg:B .


eg:prop rdfs:range _:x .
_:x rdfs:subClassOf eg:B .

which is the more exact rendering of Jeremy's conclusion. The point 
being that just being in a set doesnt mean that the *range* you are 
in must be that set, only that it is a subset of it.  Ranges are a 
particular category of sets: not every set has to be a range.

>>  The above entailment strikes me as completely wrong, both formally
>>  and intuitively. For example, all properties, on this view, have the
>>  universe as their range. It basically makes range assertions into
>>  un-assertions: their only utility would be enable one to guess (not
>>  infer) from the lack of a range assertion that something probably
>  > wasn't in the range.
>Not at all.  Giving rdfs:range an iff condition is both formally viable and
>intuitively defensible.

Well, we can argue intuitions at length, but I don't think it is 
formally viable. It breaks major portions of the RDFS datatyping 
machinery and makes OWL seriously inconsistent with RDF, RDFS and 
DAML, and as far as I can see for no good reason.

Has this decision been taken while I wasn't looking? If so, I want to 
formally re-open it. If not, I want to argue strongly against it.


IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Monday, 23 September 2002 19:34:59 UTC

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