- From: Ian Horrocks <horrocks@cs.man.ac.uk>
- Date: Tue, 11 Sep 2001 23:01:38 -0400
- To: David Martin <martin@AI.SRI.COM>
- Cc: "www-rdf-logic@w3.org" <www-rdf-logic@w3.org>, Imen Atallah <atallah@csl.sri.com>
On September 11, David Martin writes: > Why is UniqueProperty a subclass of > > rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property > > whereas UnambiguousProperty is a subclass of > > #ObjectProperty? > > This seems especially odd in view of this statement (from the language > reference doc): Note that the inverse property of a UniqueProperty is > always an UnambigousProperty and vice versa. > > I sort of thought a design decision had been made that each DAML > property should be either Object or Datatype, and that this distinction > was supposed to be made clear in its declaration (someone please correct > me if I'm wrong). But, if that's right, UniqueProperty allows one to > get around that design decision. UniqueProperty is just an idiom for a cardinality constraint, and can be applied to any property. So, while it is true that each DAML property should be either Object or Datatype, instances of both Object and Datatype properties can also be instances of UniqueProperty. This is why UniqueProperty is a subClass of the more general rdf:Property class. UnambiguousProperty, on the other hand, is basically an idiom for a cardinality constraint on the inverse property applied to all objects at the "value end" of the property. As only daml objects can be instances of such restrictions (i.e., can be instances of daml classes), UnambiguousProperty is a subClassOf ObjectProperty. It is easy to see that these characterisations are consistent with the fact that the inverse property of a UniqueProperty is always an UnambigousProperty and vice versa. Regards, Ian > > - David
Received on Tuesday, 11 September 2001 18:02:44 UTC