Re: possible semantic bugs concerning domain and range

From: pat hayes <phayes@ai.uwf.edu>
Subject: Re: possible semantic bugs concerning domain and range
Date: Mon, 23 Sep 2002 18:35:04 -0500

> >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
> >inferrable.
> 
> 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). 

Sure every property has the universe as one of its ranges, but so what?  It
is certainly still possible to restrict the permissable values for a
property.

> 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.

Why?  If I assert

	foo rdfs:range bar .

then every object in a foo triple belongs to bar, just as in RDFS.  Also
saying that a range of foo is rdfs:Resource doesn't change this at all.

> 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.

No it is not inconsistent.  It is perfectly valid to say

        a owl:complementOf b .
	foo rdfs:range a .
	fee rdfs:range b .

How could this be inconsistent?  Where would an inconsistency come from?

> >
> >>  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 
> semantics.

I know that a range of foo is owl:Thing.  I also know that a range of foo
is bar and another range is zyx.  

RDFS already allows multiple ranges, just as does OWL, and gives them
intersection semantics, just as does OWL.   

> >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.  

Yes, the intersection does exist, and it is a range of foo.

> On your semantics, it also follows that
> 
> foo rdfs:range _:z .
> _:z owl:unionOf [bar xyz myuncletomcobbelyandall ]
> 
> which strikes me as crazy.

Why is it crazy?  What intuitions does it violate?

> >>  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.

You may think that it is wrong.  Others do not.

> >>  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 .
> 
> entails
> 
> 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.

Sure, not every set has to be a range.  I don't require it to be.

> >>  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.

What RDFS datatyping machinery?  Which version of RDFS datatyping?

> 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.

> Pat

peter

Received on Monday, 23 September 2002 20:30:14 UTC