- From: Yarden Katz <katz@underlevel.net>
- Date: Thu, 22 May 2003 23:35:00 -0500
- To: Matt Halstead <matt.halstead@auckland.ac.nz>
- Cc: www-rdf-logic@w3c.org
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