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

Hello,

So here is a proposal for resolving this issue.

1. We exclude xsd:time, xsd:date, xsd:gYearMonth, xsd:gYear, xsd:gMonthDay, xsd:gDay, xsd:gMonth, and xsd:base64Binary from the list
of supported datatypes. Note that this doesn't preclude people from implementing them (if they can figure out how to do this).

2. We define xsd:anyURI to be a subset of xsd:string.

3. We allow the "pattern" facet only on the following datatypes: xsd:string, xsd:anyURI, xsd:normalizedString, xsd:token,
xsd:language, xsd:NMTOKEN, xsd:Name, and xsd:NCName.

4. We introduce a new owl:real datatype. This datatype would allow for the following types of constants:

- rational numbers written according to http://www.w3.org/2007/OWL/wiki/OWL_Rational
- floating point numbers written in the format as specified in the definition of xsd:float and xsd:double in the XML Schema
- decimal numbers as written in the format as specified in the definition of xsd:decimal
- integer numbers as written in the format as specified in the definition of xsd:integer and related datatypes

Furthermore, we would make xsd:float and xsd:double (and possibly xsd:decimal as well) synonyms for xsd:real. This would be the only
definition from the XML Schema datatype system: there, some very large numbers are not members of xsd:float. I believe, though, that
this would bother people in practice.

Finally, we can include xsd:nonPositiveInteger, xsd:negativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte, xsd:nonNegativeInteger,
xsd:unsignedLong, xsd:unsignedInt, xsd:unsignedShort, xsd:unsignedByte, and xsd:positiveInteger with the existing semantics as
usual.

Regards,

	Boris

Received on Wednesday, 18 June 2008 19:24:46 UTC