- From: Ziv Hellman <ziv@unicorn.com>
- Date: Thu, 2 May 2002 20:46:18 +0300
- To: <www-webont-wg@w3.org>
I was recently looking through some DAML+OIL documentation and I noticed that in order to, for example, constrain the property 'age' of a class Adult to being 17 or over, one needs the following syntax. <daml:Class rdf:ID="Adult"> <daml:intersectionOf rdf:parseType="daml:collection"> <daml:Class rdf:about="#Person"/> <daml:Restriction> <daml:onProperty rdf:resource="#age"/> <daml:hasClass rdf:resource="http://www.daml.org/2001/03/daml+oil-ex-dt#over17"/> </daml:Restriction> </daml:intersectionOf> </daml:Class> <xsd:simpleType name="over17"> <!-- over17 is an XMLS datatype based on decimal --> <!-- with the added restriction that values must be >= 17 --> <xsd:restriction base="xsd:decimal"> <xsd:minInclusive value="17"/> </xsd:restriction> </xsd:simpleType> In other words, limiting the range of a property to being greater than N requires referencing a URI -- and indeed, for each N this involves referencing a separate URI. Some of the fellow members of the working group explained to me that this is a consequence of the following: 1. we use XML Schema datatypes only 2. in order to mention a datatype, it must have a URI (ie no complex XML Schema constructions allowed nested in DAML+OIL expressions) XML Schema simply doesn't contain a URI for "integers over 17", so we must first define this, so that it has a URL, so that we can use the URL in a DAML+OIL expression. It's the cost of interfacing with XML Schema... Now, I happen to work at a commercially-oriented company that amongst other activities is involved in building tools for using ontologies in large enterprise settings. I explained the above regarding how DAML+OIL handles this issue to some of my co-workers, and they found it bizarre -- especially the product managers, who said that if this were suggested within any company in which they work they would reject it out of hand due to frightening usability and scalability problems. If stating of a property that it has values between 3 and 25, or 3.14159 and 24.996436, requires each time referencing a separate URI -- so in full generality there might be an uncountable(!) cardinality of URIs -- and every time a user wishes to edit a range restriction this again requires locating the correct URI or creating one, it seems positively mind boggling. And this is only with reference to the simplest of value restrictions with respect to ranges -- how extensible would this be to more complicated constraints and business-rules? Will OWL inherit this type of behaviout from DAML+OIL?
Received on Thursday, 2 May 2002 13:46:55 UTC