# Re: CYCLES IN CLASS/PROPERTY HIERARCHIES

From: Wolfram Conen <conen@gmx.de>
Date: Fri, 26 Oct 2001 17:06:14 +0200
Message-ID: <3BD97BE6.32ECB0B1@gmx.de>
To: Karsten Tolle <tolle@dbis.informatik.uni-frankfurt.de>

```Karsten Tolle wrote:
>
> Peter Crowther wrote:
> ...
> > Also, what do you do where the range of one is a superclass of the range
> of
> > the other, or where the ranges intersect?  I see no particular reason to
> > disallow these cases.
> >
> In the case we have a hierarchie of properties, e.g. p1 < p2. For my
> personal feeling the subproperty p1 should not be alowed to be used with
> resources the superproperty p2 is not allowed to.

I see your motivation. However, as I tried to point out in the other
email (sorry for the x type C...-error, must, of course, be y type
C...), it is not anymore useful to think about range/domain
"definitions" as constraints - so "allowed" is no longer a helpful term
(with respect to my reception of the Model Theory Draft,
www.w3.org/TR/rdf-mt/)

> Therefore the domain (or
> range) definition of the subproperty must be either equal or a subset
> (subClassOf) of the domain (or range) definition of the superproperty.
> When we allow cycles here the logical result would be that the domain and
> range definitions must be equal.
>

Let's have a look at cycles for a moment: assume that you attach 3 range
definitions to a property p

p range C1
p range C2
p range C3

and also have a triple
x p y

From the model theory it follows that the schema-closure contains
y type C1
y type C2
y type C3

Now, you may want to carry the same type information with three
properties p1,p2,p3, that are related in a subProperty-Cycle and one
range constraint per property:

p1 supPropertyOf p2
p2 subPropertyOf p3
p3 subPropertyOf p1

p1 range C1
p2 range C2
p3 range C3

Now, you may use any one of the properties p1,p2,p3 to attach y to x,
say

x p2 y

to precisely the same effect as before (for the reasoning see the
previous email)

y type C1
y type C2
y type C3

- however, you will also generate [x p1 y] [x p3 y], which is necessary
to equalize the properties extensionally.

Now, in a sense, you have simply "distributed" the three range
definitions to three extensionally equivalent properties.

This is (as far as the above is correct) what it is in the current
"official" interpretation of RDF (as embodied in the RDF MT, where I can
find not much ambiguity). As you see the question there is not whether
you write down identic definitions of range/domain for properties in a
subProperty cycle but to obtain a "correct" extension of the type
property, which is pretty precisely what the schema closure makes sure.
If this treatment of range/domain is really useful, is a different (but