- From: Ora Lassila <daml@lassila.org>
- Date: Tue, 20 Aug 2002 21:14:24 -0400
- To: www-rdf-logic@w3.org
Folks, let me apologize in advance if this has recently been discussed (I am not fully caught up on the mailing list traffic): I'd like to define a property (preferably in DAML+OIL) whose values are restricted to be a certain set of classes. One way of doing this would be to define a metaclass and assign this as the rdfs:range of the property. So far so good, but anyone can instantiate new classes from the metaclass, so I would now like to restrict the membership of the metaclass: <daml:Class rdf:ID="MyMetaClass"> <daml:oneOf rdf:parseType="daml:collection"> <MyMetaClass rdf:ID="A"/> <MyMetaClass rdf:ID="B"/> ... <daml:oneOf> <daml:Class> This works. Now for my question: What if I wanted to restrict the property values to my class A and any of its subclasses? Again, I could define a metaclass, make A be an instance of this metaclass, but how to restrict the membership of the metaclass? If I say <daml:Class rdf:ID="MyFunkyMetaClass"> <daml:oneOf rdf:parseType="daml:collection"> <MyMetaClass rdf:ID="A"/> <daml:oneOf> <daml:Class> and then make AA be a subclass of A, weird things happen: Because of the above definition AA is not a member of MyFunkyMetaClass, yet this somehow goes against what I have always thought of the subclass relation... Or am I just confused? Any ideas? - Ora -- Ora Lassila mailto:daml@lassila.org http://www.lassila.org/ Research Fellow, Nokia Research Center
Received on Tuesday, 20 August 2002 21:14:54 UTC