- From: Alan Rector <rector@cs.man.ac.uk>
- Date: Mon, 25 Oct 2004 09:00:19 +0100
- To: "Deborah L. McGuinness" <dlm@ksl.stanford.edu>, best-practice <public-swbp-wg@w3.org>, "';"@cs.man.ac.uk
- Message-ID: <417CB293.FEDFB1BD@cs.man.ac.uk>

Deborah Unfortunately - this is exactly what does NOT happen! Which is why I refer to it as 'asymmetrical'. This is the behaviour for domain constraints but NOT for range constraints. You probably mis-spoke, but... "Deborah L. McGuinness" wrote: > i agree with chris in not considering this an asymmetry. > > I think a main point that we would point out with range is that after a range (either global with a range restriction or local with an all values from restriction) is used, that description logic reasoners will enforce the restriction. Thus, one could view this that anything that is a value of a property with a range restriction will end up being "coerced" into being an instance of the range restriction. NO. If it is a range restriction, there is no coercion. Only if it is a domain restriction. A range restriction (whether local or global) on P says within its scope that All y. Exists x . invP(y,x) --> RangeClass(y) If we then say for some subclass All x . C(x) AND P(x,y) --> AnotherClass(y) If AnotherClass and RangeClass are disjoint, then the restriction is unsatisfiable and hence C is unsatisfiable. However, if AnotherClass and RangeClass are not disjoint, there is no error. We have simply shown that exists x. C(x) --> exists y . AnotherClass(y) & RangeClass(y) >From this we can infer nothing about all y . AnotherClass(y), i.e. about the classification of AnotherClass On the other hand. If we use a domain constraint, then we have said: all x . exists y. P(x,y) --> DomainClass(x) Therefore if we say for AnotherClass all x . AnotherClass(x) --> exists y . P(x,y) we can infer DomainClass(x), and since the x is universally quantified, we can infer all x. AntherClass(x) --> DomainClass(x) i.e that DomainClass subsumes AnotherClass, or that AnotherClass should be 'coerced' to DomainClass. If DomainClass and AnotherClass are elsewhere declared disjoint, then this produces a contradiction. Otherwise it is just a (possibly unexpected) inference. I don't' care what we call this issue, and I don't think it is actually as high a priority as other things, but it is an item for the "problems and pitfalls" section because there is clash between the intuitions of those coming from different backgrounds. Regards Alan > > > we would also want to point out the related issue that if a value restriction becomes overconstrained (and thus incoherent), then the maximum cardinality restriction ends up getting set to 0 since it is impossible for there to be any values of the property. > this does not cause in inconsistency . > > deborah > > Alan Rector wrote: > >> Pat, All >> >> Sorry for not giving a clear explanation last night. There are slides (as soon as our server comes back) >> at www.cs.man.ac.uk/~rector/papers/common-errors-ekaw.html. The slides (available in both pdf and .ppt) have the clearest explanation of the point - towards the end. >> >> I summarise in N3 notation below.. >> >> Supposed I have a property >> >> :has_topping >> a owl:ObjectProperty ; >> rdfs:domain :Pizza ; >> rdfs:range :Pizza_topping . >> >> >> And classes >> :Pizza >> a owl:Class . >> :Pizza_topping >> a owl:Class . >> :Ice_cream >> a owl:Class . >> :Ice_cream_cone >> a owl:Class ; >> >> >> And I add an existential restriction that 'violates' both the domain and range restrictions, say >> >> :Ice_cream_cone >> rdfs:subClassOf >> [ a owl:Restriction ; >> owl:onProperty :has_topping ; >> owl:someValuesFrom :Ice_cream >> ] . >> >> If there are no disjoint axioms, then what happens is that Ice_cream_cone is classified as a kind of Pizza, and is satisfiable. The 'violation' of the range restriction is ignored. >> >> If there are disjoint axioms, then Ice_cream_cone is unsatisfiable if either the domain or range constraint is violated, but there is no effect on Ice_cream, because the statement is about 'some Ice_cream' rather than 'All Ice_cream'. >> >> New users find confusing the fact that 'violation' of domain constraints can cause things to be reclassified (programmers tend to call it 'coerced') but range constraints cannot. (except if the inverse property is used, in which the domain and range swap roles) >> >> I put 'violation' in scare quotes because, of course. without the disjoint axioms, it isn't really a violation according to OWL semantics, but it is almost certainly an error in the sense of not being what the user intended. >> >> Regards >> >> Alan >> >> >> >> >> >> >> -- >> Alan L Rector >> Professor of Medical Informatics >> Department of Computer Science >> University of Manchester >> Manchester M13 9PL, UK >> TEL: +44-161-275-6188/6149/7183 >> FAX: +44-161-275-6236/6204 >> Room: 2.88a, Kilburn Building >> email: rector@cs.man.ac.uk >> web: www.cs.man.ac.uk/mig >> www.opengalen.org >> www.clinical-escience.org >> www.co-ode.org >> > > -- > Deborah L. McGuinness > Knowledge Systems Laboratory > 353 Serra Mall > Gates Computer Science Building, 2A Room 241 > Stanford University, Stanford, CA 94305-9020 > email: dlm@ksl.stanford.edu > URL: http://ksl.stanford.edu/people/dlm/index.html > (voice) 650 723 9770 (stanford fax) 650 725 5850 (computer fax) > 801 705 0941 > -- Alan L Rector Professor of Medical Informatics Department of Computer Science University of Manchester Manchester M13 9PL, UK TEL: +44-161-275-6188/6149/7183 FAX: +44-161-275-6236/6204 Room: 2.88a, Kilburn Building email: rector@cs.man.ac.uk web: www.cs.man.ac.uk/mig www.opengalen.org www.clinical-escience.org www.co-ode.org

Received on Monday, 25 October 2004 10:01:44 UTC