ISSUE-126 (Revisit Datatypes): The list of normative datatypes should be revisited

ISSUE-126 (Revisit Datatypes): The list of normative datatypes should be revisited

http://www.w3.org/2007/OWL/tracker/issues/

Raised by: Boris Motik
On product: 

Hello,

I believe that the list of supported datatypes and facets requires revision. Ian and I have recently written a paper (currently under submission) in which we have analyzed the currently supported set of datatypes w.r.t. their suitability and implementability. The paper is available from my Web page:

http://www.comlab.ox.ac.uk/people/boris.motik/publications/mh08datatypes.pdf

Here is a summary of our discussion (please refer to the paper for more details):

- xsd:decimal is inappropriate for future extensions of OWL 2 because it is not closed under division.
- xsd:double and xsd:float and essentially large nominals and might be very hard to implement efficiently. (An efficient implementation might need to answer questions such as “how many floats are there between 1.0 and 2.0?” Implementing this might be really hard.)
- As Jeremy Carroll and Dave Turner have observed, arithmetic operations with xsd:double and xsd:float are not commutative, which is bad for a declarative language such as OWL 2.
- The date-time datatypes, such as xsd:gYear, might be really difficult to implement because they require representation of infinite sets of irregular intervals. Currently, it is not clear to us whether/how this can be done.
- Allowing the “pattern” facet on nonstring datatypes might be really difficult to implement. (Currently, one might need to answer questions such as “How many decimals are larger than 2.0 and match a particular regular expression?” It is unclear to us whether this can be implemented at all.)

In our paper, we have suggested possible remedies. Here is a summary:

- We should replace xsd:decimal, xsd:double, and xsd:float with a new datatype called owl:real. Clearly, we cannot represent all real numbers using constants (which are finite strings); however, we might devise a constant representation for all rationals.
- The only normative date-time datatype should be xsd:dateTime; all other datatypes should not be mentioned in the specification.
- Some other clarifications are necessary, such as whether xsd:anyURI is a subset of xsd:string or not.

Regards,

 Boris 

Received on Wednesday, 21 May 2008 15:13:47 UTC