Re: DAML+OIL documentation ambiguous?

Matt Halstead <matt.halstead@auckland.ac.nz> writes:

> from http://www.daml.org/2001/03/daml+oil-walkthru#restrictions
>
> -----snip------
>
> The next few lines describe a class-specific range restriction. In
> particular, the parent of a Person is also a Person.
>
>   <rdfs:subClassOf>
>     <daml:Restriction>
>       <daml:onProperty rdf:resource="#hasParent"/>
>       <daml:toClass rdf:resource="#Person"/>
>     </daml:Restriction>
>   </rdfs:subClassOf>
>
> What happens here is that the Restriction defines an anonymous class,
> namely the class of all things that satisfy the restriction. In this
> case: the class of all things whose parent is a Person. We then demand
> that the class Person is a subClassOf this (anonymous) class. In other
> words: we demand that every Person must satisfy this Restriction,
> which in this case amounts to demanding that Persons have only Persons
> as their parents.
>
> -----snip------
>
> This could suggest the default cardinality is 1 in DAML+OIL, perhaps
> it could be made clearer by saying that if a person does have this
> property then it demands....
>
> Hmm, perhaps it is a minimum of 1, come to think of it, I can't find
> where such a notion is explicitly stated.

Maybe I completely misunderstood your question, but why does the above
imply any value for cardinality?  The snippet states, as you say, that
in a triple (s hasParent o) where s is of type Person, then o must be
of type Person as well.  However, this does not imply that an object
of type Person must have a parent, therefore the cardinality is no way
restricted to 1 or at least 1. 
-- 
Yarden Katz <katz@underlevel.net>  |  Mind the gap

Received on Thursday, 22 May 2003 23:59:39 UTC