RE: ISSUE-95 (Datatype-facet compatibility in DatatypeRestriction): No compatibility restrictions between the datatype being restricted and the facets in the DatatypeRestriction construct

Hello,

I've just added a table to the structural specification that lists the compatibility between datatypes and facets. Here is a diff
URL:

http://www.w3.org/2007/OWL/wiki/index.php?title=Syntax&diff=3312&oldid=3311


To close ISSUE-95, we need to sort out the problem of what the restriction is being applied on. Since we all basically agree that
nesting restrictions is either unclear from a semantic point of view (such as putting minInclusive on not(Integer)) or that nested
restrictions can be flattened (such as putting a datatype restriction on another datatype restriction), I propose to keep the
specification simple and to disallow nesting.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of OWL Working
> Group Issue Tracker
> Sent: 20 January 2008 12:55
> To: public-owl-wg@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
> 
> 
> 
> ISSUE-95 (Datatype-facet compatibility in DatatypeRestriction): No compatibility restrictions between
> the datatype being restricted and the facets in the DatatypeRestriction construct
> 
> http://www.w3.org/2007/OWL/tracker/issues/
> 
> Raised by: Boris Motik
> On product:
> 
> 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.
> - 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.
> 
> 
> 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.
> 
> 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.
> - 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.
> 
> 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.
> 
> Regards,
> 
> 	Boris
> 
> 
> 

Received on Sunday, 10 February 2008 20:11:50 UTC