Hello,
This is the proposal for the datatype system of OWL 2 worked out at 3F2F.
Regards,
Boris
1. Numeric Datatypes
----------------------
Datatype: owl:realPlus
Value space: The set of all real numbers plus NaN, +inf, -inf, and -0.
Facets: minInclusive, minExclusive, maxInclusive, and maxExclusive
Constants: None
Note 1: The value +0 is already available in the set of all real numbers.
Note 2: This is the base datatype for all other numeric datatypes.
Note 3: The facets are inherited by all numeric datatypes and I don't list them separately.
Datatype: owl:real
Value space: The set of all real numbers (without NaN, +inf, -inf, and -0).
Constants: None
Note: The value space is a subset of owl:realPlus.
Datatype: xsd:integer
Value space: The set of all integers. The value space is the subset of owl:number.
Constants: The same as in XML Schema. The normative requirement would be to support all two's complement 64 bit integers.
Note: We would also support all the derivatives of xsd:integer, which I won't list separately.
Datatype: xsd:float and xsd:double
Value space: The discrete set of all floats (resp. doubles) representable using the XML Schema spec (including NaN, +inf, -inf, and
-0).
Constants: The same as in XML Schema.
Note: Thus, the value space is a finite subset of owl:realPlus, but not of owl:number (because of the special values).
Datatype: xsd:decimal
Value space: The subset of owl:real containing all decimal numbers.
Constants: The same as in XML Schema. The normative requirement for implementations would be to support constants as in XML Schema
(which is, I think, all constants with 18 digits).
2. Additional datatypes
-------------------------
The value space would be disjoint from all other datatypes.
Datatype: xsd:boolean
Value space: The set { true, false }.
Facets: none
Datatype: xsd:hexBinary
Value space: The set of all finite string of octets (= bytes).
Facets: length, minLength, maxLength
Datatype: xsd:base64Binary
Value space: Exactly the same set as in the case of xsd:hexBinary
Facets: length, minLength, maxLength
Note: This datatype exists only to allow for BASE64-encoded constants.
3. Time and date
------------------
Datatype: xsd:dateTime
Value space: The time line as in the XML Schema 1.1. It is domain-zone independent; that is, it represents the global (i.e.,
"universe") time.
Constants: Only constants containing the time zone are allowed. Applications may repair missing time zones in some nonstandard
way.
Facets: minInclusive, minExclusive, maxInclusive, and maxExclusive
Note: We deferred the issue whether this is going to be called owl:dateTime instead of xsd:dateTime.
4. String datatypes
---------------------
Deferred to a separate subgroup.