- 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