RE: ACTION-172: Develop list of possible conflicts between XML Schema datatypes and OWL datatypes

Hello Achille,

Thanks for this analysis -- I think it was really useful!

I'd just like to point out that the first two differences were deliberate as well. Namely, the datatype system of OWL 2 is based on
the 1.1 version of XML Schema datatypes ( In this version, NaN is identical but not equal to
itself; furthermore, years are allowed to have the zero value.

It has been my understanding that a decision was made at the last F2F that we should base the datatype system of OWL 2 on the new
spec. Anyway, it would be weird to have things like -0 from the new spec, and the equality of NaN from the old spec.

To make the first point clear, I've just added the sentence "The special value NaN is identical but not equal to itself." to the
paragraph summarizing the differences. In fact, I've moved the whole discussion about the relationship with the numeric datatypes in
XML Schema to the end of Section 4.1 and have introduced an appropriate subheading. I believe this was necessary because now we
don't really talk about the value spaces only, but about the entire definition of the datatype.

Regarding the second point, we currently don't have a subheading about the relationship with XML Schema. If this is deemed
necessary, I can introduce one.

Thanks again!


From: [] On Behalf Of Achille Fokoue
Sent: 17 September 2008 15:20
To: public-owl-wg Group WG
Subject: ACTION-172: Develop list of possible conflicts between XML Schema datatypes and OWL datatypes 

Hi all, 

The current version of OWL Syntax Spec already explicitly identifies the main differences and conflicts between OWL datatypes and
XML Schema datatypes [1].  However, the following two minor differences are not explicitly mentioned: 
1.        In OWL 2, NaN is not equal to itself; whereas xsd:double(NaN) (resp. xsd:float(NaN)) is equal to itself according to XML
Schema Spec [1].  XML Schema Spec states, in the definition of double in section 3.2.5, that "NaN equals itself but is incomparable
with (neither greater than nor less than) any other value in the value space". 
2.        In OWL 2, the lexical representation of owl:dateTime does not rule out year 0 (i.e. '0000-12-31T23:59:59-05:00' is a valid
owl:dateTime). XML Schema Spec [1] explicitly disallows year 0. This is more likely an omission in OWL 2 than a legitimate departure
from XML Schema. 

The other differences already identified in the current Syntax Spec are as follows: 
1.        owl:realPlus and owl:real are two new datatypes. They are abstract in the sense that  they only define a value space: no
literals of the form 'xxx'^^^owl:realPlus or 'xxx'^^^owl:real are allowed. 
2.        The value spaces of xsd:float, xsd:double and xsd:decimal are mutually disjoint in XML Schema, but they are not in OWL 2.
 In OWL 2, the value space of these three types are subset of the value space of owl:realPlus 
3.        The special value '-0' does not belong to the value space of xsd:double and xsd:float defined in XML Schema. 
4.        In XML Schema,  the lexical values  of the xsd:double (resp. xsd:float) literals '-0' and '0' are both mapped to the same
value '0' in the double (resp. float)  value space; whereas, in OWL 2, they are mapped to two distinct values '-0' and '0' 

Best regards, 

[1] XML Schema Spec Part 2:

Received on Wednesday, 17 September 2008 14:45:03 UTC