- From: Boris Motik <boris.motik@comlab.ox.ac.uk>
- Date: Wed, 16 Jul 2008 17:52:31 +0100
- To: <public-owl-wg@w3.org>
Hello,
As a preparation for today's teleconf, I thought it would be good to summarize the current state of the discussion regarding
datatypes in OWL 2. (Of course, this is my understanding, so I apologize in advance if I haven't reflected someone's opinion
correctly.)
1. The list of supported datatypes
===================================
OWL 2 would support the following datatypes in class restrictions. For each datatype, I specify the space of values that it is
interpreted as.
1a. Numeric Datatypes
----------------------
Datatype: owl:numberPlus
Value space: The set of all real numbers plus NaN, +inf, -inf, and -0.
Facets: minInclusive, minExclusive, maxInclusive, and maxExclusive
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:number
Value space: The set of all real numbers (without NaN, +inf, -inf, and -0).
Note: The value space is a subset of owl:numberPlus.
Datatype: owl:rational
Value space: The set of all rational numbers (without NaN, +inf, -inf, and -0).
Note: The value space is a subset of owl:number.
Datatype: xsd:integer
Value space: The set of all integers. The value space is the subset of owl:number.
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 set of all real numbers between the minimum and the maximum float or double,
plus NaN, +inf, -inf, and -0.
Note 1: Thus, the value space is a subset of owl:numberPlus, but not of owl:number (because of
the special values). Note 2: The value space is NOT discrete.
Datatype: xsd:decimal
Value space: The subset of owl:number containing all decimal numbers.
1b. String datatypes
---------------------
Datatype: owl:internationalizedString
Value space: The set of pairs of the form (string,langTag), where langTag is allowed to be empty.
Facets: length, minLength, maxLength, and pattern
Note: All facets operate on the string portion of the pair.
Datatype: xsd:string
Value space: The set of pairs of the form (string,"") (hence, the langTag is the empty string).
Note 1: The value space of xsd:string is a subset of owl:internationalizedString.
Note 2: OWL 2 would support all string derivatives, which I won't list separately.
Note 3: xsd:anyURI is a subset of xsd:string.
1c. 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
1d. Time and date
------------------
I leave these open of the moment, as they might require another round of discussion.
2. The list of supported constants
===================================
OWL would support the following constants.
* xsd:integer and all its derivatives
- A normative implementation would be required only to support constants that fit into 64 bits.
* xsd:decimal
- A normative implementation would be required only to support constants with 18 decimal digits.
This is exactly the same as in XML Schema.
* xsd:float and xsd:double
- These would allow for NaN, +inf, -inf, and -0.
* owl:rational
- As per http://www.w3.org/2007/OWL/wiki/OWL_Rational
* xsd:string
- In RDF and functional-style syntax, constants of the form "string"^^xsd:string can be abbreviated
as "string".
* owl:internationalizedString
- The lexical value of these constants is "string@langTag". The language tag is whatever is behind
the last @ sign.
- In RDF and functional-style syntax, constants of the form
"string@langTag"^^owl:internationalizedString can be abbreviated as "string"@langTag.
* xsd:boolean as in XML Schema
* xsd:hexBinary as in XML Schema
Regards,
Boris
Received on Wednesday, 16 July 2008 16:54:11 UTC