- From: Alan Rector <rector@cs.man.ac.uk>
- Date: Wed, 5 Dec 2007 09:52:18 +0000
- To: public-owl-wg@w3.org
- Cc: Bijan Parsia <bparsia@cs.man.ac.uk>, Ulrike Sattler <sattler@cs.man.ac.uk>, Ian Horrocks <ian.horrocks@comlab.ox.ac.uk>, Alan Ruttenberg <alanruttenberg@gmail.com>
- Message-Id: <31B8DA75-D565-44DA-B9A6-14EEC6A4868E@cs.man.ac.uk>
Issue: OWL semantics for "Optional" and queries for fillers for existential restrictions. Here is an issue that is not currently issue list and a major barrier to acceptance and practical use of OWL. ( I'll give it here quickly in Manchester syntax because there isn't time before the face-to-face to put it in a standard XML/RDF syntax. ) In my experience this is the amongst the top two problems for those coming to OWL from a UMLand database environment and a reason for several groups rejecting OWL as an option. For us, it has been and remains a constant issue in building practical systems, and solved differently every time. We have implemented various work-arounds for clients in tools, but none is standard or satisfactory This is also an important area in which OWL does not capture the semantics of UML properly, at least as UML used in practice and taught. It is very important that there be a standard solution integrated with the semantics of OWL DL. Otherwise, we have a standard that will be used in different ways. It is not sufficient to leave these as "tools issues". If we want a standard, they need to be in the standard. These changes require no changes to reasoners, only to the interpretation of the language. (They require only testing of existential expressions and the formalisation of a minimal query mechanism.) USE CASE 1: Returning fillers for existential restrictions (also critical for Part-explosions) It is true (at least normatively) that All cars have wheels, but it is not true that all wheels are parts of cars. However, to get back an answer in the obvious ways to inv(has_part) car, we have to kluge in false axioms of the form "Wheel is_part_of SOME Car" so that "is_part_of SOME Car" subsumes Wheel. Alternatively we have to enumerate and name all the parts "Wheel that is part of Car", etc. Neither is satisfactory. My current preference is to have a standard query which would return the corresponding defined class if there were an axiom either. If the ontology contains: Car has_part SOME Wheel then I need a standard query Query inv(has_part) SOME Car that returns Wheel THAT inv(has_part) SOME Car This use case is essential to get the behaviour expected of "part explosions" without kluging the axioms or clogging the ontology by explicitly defining and naming all of the implied classes. Query inv(has_part) SOME Car Wheel THAT inv(has_part) SOME Car Tyre THAT inv(has_part) SOME (Wheel THAT inv(has_part) SOME Car) ... Clever tools could substitute named classes where they had been defined (e.g. if "Car Tyre" had been defined, it could be returned instead of the third expression above), but the query mechanism should generate the implied classes and then look for equivalent classes in the ontology. USE CASE 2: Optional Statements Users need to be able to say that "Dogs may have owners" and "People may own dogs" in a standard way and get back the answer to possible queries to "Owned things" to include ("Owned Dogs") and "Owners of things" to be "People who own dogs". One might either overloadr minCadinality(0) or create a new keyword minCardinality(Optional) or similar, in which case minCardinality 0 would be redundant. If the ontology contains whichever of the following syntaxes is agreed. Dog has_owner min 0 Person Dog has_owner optional Person I need the two there to be two effects. Queries Query has_owner some Person to return Dog THAT has_owner SOME Person and Query owns SOME Dog to return Person THAT inv(has_owner) SOME Dog Satisfiability of optional axioms It makes no sense to say that something is "optional" if it is impossible. The restriction Dog --> has_owner min 0 Person should, therefore, be treated unsatisfiable or in some other way marked as an error if the corresponding existential restriction, "Dog THAT has_owner SOME Person" is unsatisfiable]. USE CASE 3: UML and related formalisms multiplicity [0..n], [0..*] and related. These statements are key to many UML models. In using OWL for model checking, or even just trying to produce a transformation of a UML model into OWL, translating [0..*] as minCardinaltiy( 0 ) without checking whether the corresponding existential restriction is unsatisfiable does not capture faithfully the intention and usage of the UML. The came considerations as for USE CASE 2. Note 1: MIN 0 / Optional expressions should not appear in equivalentClass statements (complete definitions) Note 2: MIN 0 / Optional restrictions are not "inherited" unless the corresponding existential restriction is satisfiable. The combination of C --> p Optional V SubC --> NOT (p SOME V) should not make SubC unsatisfiable. It is probably best to leave how such information should be displayed to the tools. Regards Alan ----------------------- Alan Rector Professor of Medical Informatics School of Computer Science University of Manchester Manchester M13 9PL, UK TEL +44 (0) 161 275 6149/6188 FAX +44 (0) 161 275 6204 www.cs.man.ac.uk/mig www.clinical-esciences.org www.co-ode.org ----------------------- Alan Rector Professor of Medical Informatics School of Computer Science University of Manchester Manchester M13 9PL, UK TEL +44 (0) 161 275 6149/6188 FAX +44 (0) 161 275 6204 www.cs.man.ac.uk/mig www.clinical-esciences.org www.co-ode.org
Received on Wednesday, 5 December 2007 09:52:46 UTC