- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Mon, 5 Nov 2007 14:37:31 +0000
- To: "Web Ontology Language (OWL) Working Group WG" <public-owl-wg@w3.org>
OWL 1.0 only supported unary data predicates (aka, datatypes). So you could, in principle, define a datatype "an integer <5" which would be true only of those integers less than 5. You could use these types in restrictions, e.g., (using Manchester syntax: hasAge only integer[< 18] Functional syntax: DataAllValuesFrom(DataProperty(hasAge) DatatypeRestriction(xsd:integer maxExclusive "18"^^xsd:int) (RDF/XML...see the attached file.) This could be used to define a "legal child". (I attach an example of an ontology using this and bijan hasAge 19 (yes, I *can* pass for 19!) which Pellet finds inconsistent.) Obviously, the unary restriction is pretty severe, we might want to say things like: "his IQ is larger than his shoe size" or "the length is the same as the width" To this end, OWL 1.1 supports n-ary datatype predicates, at least in principle: DataAllValuesFrom(DataProperty(hasIQ) DataProperty(hasShoeSize) maxExclusiveInteger) (I just made up maxExclusiveInteger. think of it as < over integers; it is a relative uri). MAJOR RESTRICTION ================== The data predicate facility only allows relations between values of properties with the *same root individual* (i.e., subject). So, while I can define the set of individuals whose (own) height is greater than their (own) girth, but not the set of individuals whose own height is greater than their spouses girth (which is most of us!). It is possible to extend this support to comparisons between property values rooted in different individuals (i.e., full concrete domain support --- Calling Carsten), though one must take more care to remain decidable. I think this would be a reasonable thing to support, but it's a definite extension on OWL 1.1. PROBLEM 1 ========== There are no predefined more-than-unary datatype predicates. I think it's imperative that we define some, esp. as it's not clear how to allow user defined ones and make those accessible to the reasoner. In principle, comparisons, plus, and some other operations should all be doable. I appeal to Uli for a fuller discussion. PROBLEM 2 ========== ISSUE-5 points to a brief paper by Jeremy and David Turner: < http://lists.w3.org/Archives/Public/www-archive/2007Mar/0002.html> Which critiques the approach in OWL 1.1. (Note that we don't actually use datatype *groups* per se, but that doesn't affect any points.) Basically, the problem is that it's possible to have non-conforming datatypes when you mix things together, and this leads to undecidability. While true, I am unmoved. You can combine two OWL ontologies now and end up violating a decidability restriction (e.g., a role might be non-simple in one and used in a cardinality restriction in another) (thanks to Uli for this example). So nothing new there. Similarly, I agree that there is room for more "procedural" calculation support. Indeed, I think this would be extremely valuable. But the right context for that seems to be a rule extension. This is similar to how the EasyKeys proposal is developing: <http://code.google.com/p/owl1-1/wiki/EasyKeyProposal> <http://lists.w3.org/Archives/Public/public-owl-dev/2007JulSep/ 0211.html> So, I don't see that the current n-ary support (or future extensions to full concrete domain support) interferes with providing the more procedural, data manipulation style support as well. Thus, I don't think that the objections raised are sufficient to require removal of the feature. I hope I've not misrepresented any critical aspects of the complaint. I encourage people to read the paper. Cheers, Bijan.
Received on Monday, 5 November 2007 14:36:02 UTC