- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 23 Jan 2008 06:06:49 -0500 (EST)
- To: public-owl-wg@w3.org
From: OWL Working Group Issue Tracker <sysbot+tracker@w3.org> Subject: ISSUE-95 (Datatype-facet compatibility in DatatypeRestriction): No compatibility restrictions between the datatype being restricted and the facets in the DatatypeRestriction construct Date: Sun, 20 Jan 2008 12:55:23 +0000 (GMT) [...] > Hello, > > I believe that we have a slight problem with the DatatypeRestriction. > > 1. Problem > ---------- > > Currently, the DatatypeRestriction construct takes one dataRange and > several facet-value pairs. Note two important points here: > > - The data range can be complex. * a complex construction, not the proposed complex datatype > - There are no compatibility restrictions between the data range and > the facets. > > The first point makes it possible to write DatatypeRestriction( > DataComplementOf(xsd:nonnegativeInteger) fractionDigits > "2"^^xsd:integer). It is unclear how to interpret this datatype. The > complement of xsd:nonnegativeInteger contains all data values that are > not nonnegative integers, which includes, say, real numbers, but also > includes all strings. It is unclear what restricting such a datatype > to 2 precision digits means. Originally, a dataRange was used because > this allowed one to specify, say, minInclusice and maxIncludive via > nesting; with mutliple facets per DatatypeRestriction this is not > necessary any more. Yes, but one might still want to say something like DatatypeRestriction( DatatypeRestriction(xsd:nonnegativeInteger minInclusive 5...) maxInclusive 10)) Why? Well, perhaps to repeat the DatatypeRestriction(xsd:nonnegativeInteger minInclusive 5...) from elsewhere (for emphasis, for example), or because the DatatypeRestriction(xsd:nonnegativeInteger minInclusive 5...) came from an external source (although there are currently no facilities for this). > The second point makes it possible to write > DatatypeRestriction(xsd:string fractionDigits > "2"^^xsd:integer). Again, it is unclear whether this is a syntax error > or, if not, how to interpret this datatype. Agreed. > 2. Possible solution > -------------------- > > A possible solution would be to change the definition of > DatatypeRestriction in the following way: > > - Rather than taking a dataRange as an argument, we should make > DatatypeRestriction take a Datatype as an argument. How about allow it to also take a DatatypeRestriction? > - We should specify compatibility between different datatypes and > factes. For example, we would say that fractionDigits could be applied > only to the xsd:float datatype. By reference to XML Schema, or by ourselves? > This solution seems to be in line with the XML Schema way of handling > things: if I am not mistaken, in XML Schema one cannot apply an > arbitrary facet to an arbitrary datatype. I believe that this is so. > Regards, > > Boris I concur that something should be done. peter
Received on Wednesday, 23 January 2008 11:36:37 UTC