Re: possible semantic bugs concerning domain and range

Peter F. Patel-Schneider wrote:

>
> Yes, and you get that, because ex:OddInteger is still a range of foo.
> However, ex:integer is also a range of foo.
>
> Think of what happens if you assert
>
>  foo rdfs:range ex:OddInteger .
>  ex:OddInteger rdfs:subClassOf ex:Integer .
>  foo rdfs:range ex:Integer .
>
> Aside from the actual rdfs:range stuff, this has the same interpretations
> as
>
>  foo rdfs:range ex:OddInteger .
>  ex:OddInteger rdfs:subClassOf ex:Integer .
>
> so why shouldn't a range of foo be ex:Integer?
>

because

(first we are not asserting
foo rdfs:range ex:Integer .
as a premise)

ex:EvenInteger rdfs:subClassOf ex:Integer .
ex:EvenInteger owl:DisjointWith ex:OddInteger .

hence if

foo rdfs:range ex:OddInteger .

then

NOT foo rdfs:range ex:EvenInteger .

but if

foo rdfs:range ex:Integer

then

foo rdfs:range ex:EvenInteger .

(triple speak is getting tedious ...)

that is to say, that rdfs:range should chain _down_ rdfs:subClassOf but _not
up_ rdfs:subClassOf

Jonathan

Received on Monday, 23 September 2002 20:25:42 UTC