- From: Enrico Motta <e.motta@open.ac.uk>
- Date: Thu, 24 Jan 2002 14:47:46 +0000
- To: www-webont-wg@w3.org
- Cc: e.motta@open.ac.uk
> >Hmm, very unlikely? Not by my metrics. My understanding is that > > Student => Person > Employee => Person > Student - employmentCategory -> notWorking > Employee - employmentCategory -> working > John -> Student > John -> Employee > >is a perfect tie by that heuristic, as is the Nixon diamond. One possible solution which avoids 'non-clean' tie-breaking and mantains much of the spirit of defaults is as follows. Assume we have a frame language with the following properties. 1) Slots can have multiple values 2) There is both a 'value' facet and a 'default-value' facet. 3) values are of course non-overridable (i.e., they are definitional) 4) default-values can be overridden Let's suppose frame f1 inherites default value d1 for slot s1 from superclass super1. We then say that the triple (f1 s1 d1) holds unless one or both of the following conditions apply: a) (f1 s1 v1) holds for some non-default value v1 b) (f1 s1 d2) holds for a default value d2, inherited from class super2, and super2 is a subclass of super1 The advantage of this solution is that it does not try to come up with random mechanisms to solve the kind of ties that occur in the Nixon diamond. It only requires a small change to the notion of default. A default is not seen any longer as something which applies unless something else applies. Now a default is something which holds unless something else rules it out. So, in teh nixon diamond you will simply have both defaults applying. If the slot in question has max-cardinality 1, then a constraint checking mechanism will signal a constraint violation and the knowledge engineer will have to fix the model. If no cardinality constraint applies, then it means that it is OK for multiple defaults to apply for this particular slot. Of course the two defaults may be mutually inconsistent, but this case will be no different from what could happen with ordinary values. If the language allows multiple values for a slot, then of course somebody may end up with x and the-opposite-of-x as values for the same slot of the same frame. This mechanism works fine for frame systems in which subclass-of chains cannot have circularities. Given that daml+oil admits circularities, condition (b) above would have to be modified, to avoid a default overriding itself. Enrico
Received on Thursday, 24 January 2002 09:58:32 UTC