<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-11633</id>
	<title>Nabble - w3.org - public-webont-comments</title>
	<updated>2008-08-27T13:44:02Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/w3.org---public-webont-comments-f11633.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/w3.org---public-webont-comments-f11633.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-19207632</id>
	<title>[OWL-Guide] error in use of &quot;varietals&quot; Sec 3.1.3.</title>
	<published>2008-08-27T13:44:02Z</published>
	<updated>2008-08-27T13:44:02Z</updated>
	<author>
		<name>rex.dwyer</name>
	</author>
	<content type="html">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;META http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=us-ascii&quot;&gt;


&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;MS Exchange Server version 6.5.7653.38&quot;&gt;
&lt;TITLE&gt;[OWL-Guide] error in use of &amp;quot;varietals&amp;quot; Sec 3.1.3.&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;DIV&gt;
&lt;!-- Converted from text/rtf format --&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Palatino Linotype&quot;&gt;In my opinion, the use of the phrase &amp;quot;grape varietals&amp;quot; is erroneous.&amp;nbsp; The correct term in botanical taxonomy is &amp;quot;variety&amp;quot; (or &amp;quot;cultivar&amp;quot;).&amp;nbsp; &amp;quot;Varietal&amp;quot; is an adjective applicable only to wines; thus, &amp;quot;varietals&amp;quot; in the plural is an elliptic reference to &amp;quot;varietal wines&amp;quot;.&amp;nbsp; Cabernet Sauvignon (wine) is a &amp;quot;varietal wine&amp;quot; - made from grapes grown on Cabernet Sauvignon grapevines, not ablend.&amp;nbsp; Chianti is a non-varietal wine made from a flexible blend of grape varieties in a particular region of Italy. &lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT SIZE=2 FACE=&quot;Palatino Linotype&quot;&gt;I hate to be pedantic, but there's a certain irony in seeing taxonomic terms abused when the whole focus is about the precise construction of a taxonomy.&lt;/FONT&gt;&lt;/P&gt;
&lt;BR&gt;

 &lt;/DIV&gt;
&lt;DIV&gt;
&lt;HR&gt;
&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P CLASS=&quot;MsoNormal&quot; STYLE=&quot;MARGIN: 0in 0in 0pt&quot;&gt;&lt;I&gt;&lt;SPAN STYLE=&quot;FONT-SIZE: 7.5pt; FONT-FAMILY: Arial&quot;&gt;&lt;FONT SIZE=&quot;1&quot;&gt;This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-OWL-Guide--error-in-use-of-%22varietals%22-Sec-3.1.3.-tp19207632p19207632.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18758432</id>
	<title>Newbie question about OWL test cases</title>
	<published>2008-07-31T09:26:13Z</published>
	<updated>2008-07-31T09:26:13Z</updated>
	<author>
		<name>Wei Tai</name>
	</author>
	<content type="html">&lt;br&gt;Hi All,
&lt;br&gt;&lt;br&gt;The language levels of both the premises and conclusions of the test 
&lt;br&gt;case AnnotationProperty002 are Lite, but why the languge level of the 
&lt;br&gt;whole test case is Full?
&lt;br&gt;&lt;br&gt;Thanks in advance
&lt;br&gt;Wei
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Wei Tai
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Newbie-question-about-OWL-test-cases-tp18758432p18758432.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18735317</id>
	<title>SKOS and OWL</title>
	<published>2008-07-30T07:59:09Z</published>
	<updated>2008-07-30T07:59:09Z</updated>
	<author>
		<name>Sean Bechhofer-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Dear OWL WG members,
&lt;br&gt;&lt;br&gt;The SKOS vocabulary is intended for the representation of simple
&lt;br&gt;knowledge organisation schemes such as thesauri, term lists and
&lt;br&gt;controlled vocabularies. SKOS is designed to fit into existing
&lt;br&gt;Semantic Web standards, and to achieve this, an RDF Schema which
&lt;br&gt;defines the SKOS vocabulary has been produced.
&lt;br&gt;&lt;br&gt;The development of this schema has highlighted issues relating to OWL
&lt;br&gt;species which are relevant to current work on OWL 2. In particular,
&lt;br&gt;the current schema is in OWL Full. It would be desirable if the SKOS
&lt;br&gt;vocabulary could be represented in OWL DL (or the equivalent of OWL DL
&lt;br&gt;in the OWL 2 space).
&lt;br&gt;&lt;br&gt;Concepts in a SKOS vocabulary are defined as instances of the
&lt;br&gt;owl:Class skos:Concept. They may be related to other skos:Concepts
&lt;br&gt;using object properties such as skos:broader, skos:narrower and
&lt;br&gt;skos:related -- known as SKOS semantic relations. SKOS also provides a
&lt;br&gt;set of lexical labelling properties, such as skos:prefLabel and
&lt;br&gt;skos:altLabel. These are datatype properties, with RDF plain literals
&lt;br&gt;as values. Documentation properties including skos:note,
&lt;br&gt;skos:changeNote, skos:definition are also provided, allowing the
&lt;br&gt;decoration of concepts with additional information. In some
&lt;br&gt;circumstances, the expected value of a documentation property is a
&lt;br&gt;literal value (e.g. a simple textual note). In other circumstances,
&lt;br&gt;the value may be an object, for example the value of skos:changeNote
&lt;br&gt;may be a structured object containing information about a change along
&lt;br&gt;with provenance or date information. Documentation properties are
&lt;br&gt;defined as subproperties of skos:note.
&lt;br&gt;&lt;br&gt;An additional use case for SKOS is as an annotation vocabulary for OWL
&lt;br&gt;ontologies. For example the SKOS vocabulary itself uses
&lt;br&gt;skos:changeNote and skos:definition to attach provenance and
&lt;br&gt;documentation information to the SKOS vocabulary terms. This then
&lt;br&gt;pushes the ontology out of OWL DL as object properties are being
&lt;br&gt;applied to classes. We envisage that SKOS properties will also be used
&lt;br&gt;to attach lexical information to OWL ontologies (for example,
&lt;br&gt;providing alternate names or labels for classes). Again, with the
&lt;br&gt;current situation, this results in OWL Full ontologies.
&lt;br&gt;&lt;br&gt;One solution to this would be the provision of rich annotations. The
&lt;br&gt;SKOS documentation properties are essentially annotations and would
&lt;br&gt;ideally be represented as such, but with the addition of subproperty
&lt;br&gt;relationships between the properties (i.e, skos:note as a
&lt;br&gt;superproperty). The lexical labelling properties could also be
&lt;br&gt;considered as annotation properties. SKOS is intended to be
&lt;br&gt;extensible, however, so again allowing the possibility of providing
&lt;br&gt;subproperties of the lexical labelling properties is desirable.
&lt;br&gt;&lt;br&gt;Support for punning, both in terms of class/instance and data/object
&lt;br&gt;property would also provide solutions to some of these issues. Rich
&lt;br&gt;annotations would, however, be our preference.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Sean
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Sean Bechhofer
&lt;br&gt;School of Computer Science
&lt;br&gt;University of Manchester
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18735317&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;sean.bechhofer@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://www.cs.manchester.ac.uk/people/bechhofer&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.manchester.ac.uk/people/bechhofer&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SKOS-and-OWL-tp18735317p18735317.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18379288</id>
	<title>Re: I18N issues an OWL2</title>
	<published>2008-07-10T02:39:50Z</published>
	<updated>2008-07-10T02:39:50Z</updated>
	<author>
		<name>Axel Polleres-2</name>
	</author>
	<content type="html">&lt;br&gt;Bijan Parsia wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; (too many lists! :))
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'd like to raise a point that Dan Brickley (cced) often champions. If 
&lt;br&gt;&amp;gt; it's more appropriate in a narrower scope, please narrow it for me!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In some applications, like FOAF, it's common to compare as equal two 
&lt;br&gt;&amp;gt; strings with different language tags (esp. for such purposes as being a 
&lt;br&gt;&amp;gt; database key like identifier). I can think of several ways to do this 
&lt;br&gt;&amp;gt; (e.g., always comparing the strings and opting in to distinguishing the 
&lt;br&gt;&amp;gt; languages), but I thought I'd raise the issue.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; Bijan.
&lt;/div&gt;&lt;br&gt;Well, with the built-in functions in DTB [1]... you should be able to do 
&lt;br&gt;so, there are functions for extracting the string: by casting rif:text 
&lt;br&gt;to xs:string [2]) as well as extracting the lang-tag (by adopting 
&lt;br&gt;SPARQL's lang function [3]. Note that the former would be even easier 
&lt;br&gt;with the langtag-as-dataype proposal, and for the latter, we'd need a 
&lt;br&gt;function which returns the datatype of a literal... we have to discuss 
&lt;br&gt;this, since sparql's datatype function [4] is not straightforwardly 
&lt;br&gt;applicable to RIF semantically... at least there are some implications 
&lt;br&gt;in defining it, I guess.
&lt;br&gt;&lt;br&gt;Axel
&lt;br&gt;&lt;br&gt;1.&lt;a href=&quot;http://www.w3.org/2005/rules/wiki/DTB&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2005/rules/wiki/DTB&lt;/a&gt;&lt;br&gt;2.&lt;a href=&quot;http://www.w3.org/2005/rules/wiki/DTB#xs:string&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2005/rules/wiki/DTB#xs:string&lt;/a&gt;&lt;br&gt;3.&lt;a href=&quot;http://www.w3.org/2005/rules/wiki/DTB#func:lang_.28adapted_from_SPARQL.27s_lang_function.29&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2005/rules/wiki/DTB#func:lang_.28adapted_from_SPARQL.27s_lang_function.29&lt;/a&gt;&lt;br&gt;4.&lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/#func-datatype&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/rdf-sparql-query/#func-datatype&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Dr. Axel Polleres, Digital Enterprise Research Institute (DERI)
&lt;br&gt;email: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18379288&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;axel.polleres@...&lt;/a&gt; &amp;nbsp;url: &lt;a href=&quot;http://www.polleres.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.polleres.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Everything is possible:
&lt;br&gt;rdfs:subClassOf rdfs:subPropertyOf rdfs:Resource.
&lt;br&gt;rdfs:subClassOf rdfs:subPropertyOf rdfs:subPropertyOf.
&lt;br&gt;rdf:type rdfs:subPropertyOf rdfs:subClassOf.
&lt;br&gt;rdfs:subClassOf rdf:type owl:SymmetricProperty.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-I18N-issues-an-OWL2-tp18378155p18379288.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18378155</id>
	<title>Re: I18N issues an OWL2</title>
	<published>2008-07-10T01:18:54Z</published>
	<updated>2008-07-10T01:18:54Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;(too many lists! :))
&lt;br&gt;&lt;br&gt;I'd like to raise a point that Dan Brickley (cced) often champions. &amp;nbsp;
&lt;br&gt;If it's more appropriate in a narrower scope, please narrow it for me!
&lt;br&gt;&lt;br&gt;In some applications, like FOAF, it's common to compare as equal two &amp;nbsp;
&lt;br&gt;strings with different language tags (esp. for such purposes as being &amp;nbsp;
&lt;br&gt;a database key like identifier). I can think of several ways to do &amp;nbsp;
&lt;br&gt;this (e.g., always comparing the strings and opting in to &amp;nbsp;
&lt;br&gt;distinguishing the languages), but I thought I'd raise the issue.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-I18N-issues-an-OWL2-tp18378155p18378155.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18357429</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt;   float &lt;-&gt; double conundrum</title>
	<published>2008-07-09T02:12:41Z</published>
	<updated>2008-07-09T02:12:41Z</updated>
	<author>
		<name>Pete Cordell-5</name>
	</author>
	<content type="html">&lt;br&gt;- Original Message From: &amp;quot;Michael Kay&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;gt; At the same time it's true that most modern languages do the same as
&lt;br&gt;&amp;gt; Schema+QT: they treat integer, double and float as separate primitive
&lt;br&gt;&amp;gt; types
&lt;br&gt;&amp;gt; with no hierarchic relationship, and then define operators such as &amp;quot;=&amp;quot; and
&lt;br&gt;&amp;gt; &amp;quot;+&amp;quot; to operate across a value space that is effectively the union of these
&lt;br&gt;&amp;gt; types.
&lt;br&gt;&lt;br&gt;I'll admit that most of this is going over my head, but... don't most
&lt;br&gt;programming languages promote one type into another to do cross-type
&lt;br&gt;comparisons? &amp;nbsp;For example int -&amp;gt; float (probably double in C) in order to
&lt;br&gt;compare an int with a float, and float to double to compare floats and
&lt;br&gt;doubles.
&lt;br&gt;&lt;br&gt;Is there any mileage in XML schema defining how the value of one type can be
&lt;br&gt;promoted into a value of another in order to do the comparisons looked for?
&lt;br&gt;That way the types can remain largely disjoint, but the various operations
&lt;br&gt;can be provided.
&lt;br&gt;&lt;br&gt;Apologies if this is out of place. &amp;nbsp;I'll get back to my grease gun now!
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Pete Cordell
&lt;br&gt;Codalogic
&lt;br&gt;For XML C++ data binding visit &lt;a href=&quot;http://www.codalogic.com/lmx/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.codalogic.com/lmx/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18357429.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18355586</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T23:55:51Z</published>
	<updated>2008-07-08T23:55:51Z</updated>
	<author>
		<name>Michael Kay</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; It's also violated within XML 
&lt;br&gt;&amp;gt; Schema itself - &amp;quot; xx &amp;quot; as an instance of xs:token maps to a different
&lt;br&gt;value from &amp;quot; 
&lt;br&gt;&amp;gt; xx &amp;quot; as an xs:string.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Not so. &amp;nbsp;' xx ' is not in the lexical space of token. 
&lt;br&gt;&lt;br&gt;Well, yes, but isn't that just a fig-leaf to hide the fact that the
&lt;br&gt;principle has been violated in spirit?
&lt;br&gt;&lt;br&gt;What exactly is the practical benefit / intent of the principle, and is this
&lt;br&gt;benefit still achieved if it applies to the intermediate lexical form rather
&lt;br&gt;than the raw lexical form?
&lt;br&gt;&lt;br&gt;Michael Kay
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18355586.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18353593</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T19:02:14Z</published>
	<updated>2008-07-08T19:02:14Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;At 7:54 PM +0100 2008-07-08, Michael Kay wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;(b) it claims the existence of a &amp;quot;principle that if a string
&lt;br&gt;&amp;gt;maps to a given value in a particular type then it should map to the same
&lt;br&gt;&amp;gt;value
&lt;br&gt;&amp;gt;in all supertypes&amp;quot;. I don't see that principle as being in any way
&lt;br&gt;&amp;gt;fundamental, and I certainly don't see it as &amp;quot;fundamental to subtyping in
&lt;br&gt;&amp;gt;programming languages&amp;quot;. It's also violated within XML Schema itself - &amp;quot; xx &amp;quot;
&lt;br&gt;&amp;gt;as an instance of xs:token maps to a different value from &amp;quot; xx &amp;quot; as an
&lt;br&gt;&amp;gt;xs:string.
&lt;br&gt;&lt;br&gt;Not so. &amp;nbsp;' xx ' is not in the lexical space of token. &amp;nbsp;The literal that
&lt;br&gt;is considered for lexical space membership is the one that is obtained
&lt;br&gt;by whitespace processing.
&lt;br&gt;&lt;br&gt;Whether this is good or bad is a matter of opinion, I suppose. &amp;nbsp;But that's
&lt;br&gt;the way whitespace works. &amp;nbsp;(Took me a few years to really internalize
&lt;br&gt;this, myself.)
&lt;br&gt;&lt;br&gt;Whether the primciples themselves are good is a matter of opinion.
&lt;br&gt;But I hope we don't change things from one version of the spec to the
&lt;br&gt;next without serious thought. &amp;nbsp;(E.g., there was serious thought given
&lt;br&gt;to the decision to allow equality to differ from identity, to have
&lt;br&gt;two zeros in float and double, and to retain timezone information in
&lt;br&gt;the date/time datatypes.)
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;SGMLWorks!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18353593&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18353593.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18348770</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T13:47:41Z</published>
	<updated>2008-07-08T13:47:41Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&amp;gt; Boris has a new proposal that's interesting:
&lt;br&gt;&amp;gt; 	&amp;lt;&lt;a href=&quot;http://www.w3.org/mid/002501c8e115$ef500220$7212a8c0@wolf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/mid/002501c8e115$ef500220$7212a8c0@wolf&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; It seems usefully influenced by some of your points. I'm not sure &amp;nbsp;
&lt;br&gt;&amp;gt; what I think about it yet.
&lt;br&gt;&lt;br&gt;We had a little pow-wow here in Oxford on the topic. I fully endorse &amp;nbsp;
&lt;br&gt;that proposal.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18348770/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18348770.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18346497</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt;   float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T11:54:03Z</published>
	<updated>2008-07-08T11:54:03Z</updated>
	<author>
		<name>Michael Kay</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The best explanation that I know of was written by Mark 
&lt;br&gt;&amp;gt; Reinhold, a member of the original schema WG (...and, if 
&lt;br&gt;&amp;gt; memory serves me, was a member of the team that wrote the 
&lt;br&gt;&amp;gt; Java floating-point spec).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; During the development of the Schema 1.0 (i.e., a few years 
&lt;br&gt;&amp;gt; before we went to Rec) we had MANY discussions about the 
&lt;br&gt;&amp;gt; numeric types, and especially about float and double. &amp;nbsp;As 
&lt;br&gt;&amp;gt; part of that discussion, Mark wrote a note entitled 
&lt;br&gt;&amp;gt; &amp;quot;Floating-point datatypes are not real datatypes&amp;quot; 
&lt;br&gt;&amp;gt; [1] that goes into great detail on this point. &amp;nbsp;It also 
&lt;br&gt;&amp;gt; serves as a good entry point to the archives for the 
&lt;br&gt;&amp;gt; discussions the WG had on these issues.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Thanks for the pointer, Paul. I confirms much of what people have said about
&lt;br&gt;the original rationale.
&lt;br&gt;&lt;br&gt;In my view the note makes two basic assumptions that are open to question:
&lt;br&gt;&lt;br&gt;(a) it takes the view that all restriction must be facet-based; I can't see
&lt;br&gt;any particular necessity in the theory that if a type is magic then it has
&lt;br&gt;to be primitive.
&lt;br&gt;&lt;br&gt;(b) it claims the existence of a &amp;quot;principle that if a string
&lt;br&gt;maps to a given value in a particular type then it should map to the same
&lt;br&gt;value
&lt;br&gt;in all supertypes&amp;quot;. I don't see that principle as being in any way
&lt;br&gt;fundamental, and I certainly don't see it as &amp;quot;fundamental to subtyping in
&lt;br&gt;programming languages&amp;quot;. It's also violated within XML Schema itself - &amp;quot; xx &amp;quot;
&lt;br&gt;as an instance of xs:token maps to a different value from &amp;quot; xx &amp;quot; as an
&lt;br&gt;xs:string.
&lt;br&gt;&lt;br&gt;At the same time it's true that most modern languages do the same as
&lt;br&gt;Schema+QT: they treat integer, double and float as separate primitive types
&lt;br&gt;with no hierarchic relationship, and then define operators such as &amp;quot;=&amp;quot; and
&lt;br&gt;&amp;quot;+&amp;quot; to operate across a value space that is effectively the union of these
&lt;br&gt;types.
&lt;br&gt;&lt;br&gt;Michael Kay
&lt;br&gt;&lt;a href=&quot;http://www.saxonica.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.saxonica.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18346497.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18345731</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T11:11:51Z</published>
	<updated>2008-07-08T11:11:51Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;On 8 Jul 2008, at 18:42, Rob Shearer wrote:
&lt;br&gt;[snip]
&lt;br&gt;&lt;br&gt;&amp;gt; Hmmm...I think your interpretation might actually be the intent: &amp;nbsp;
&lt;br&gt;&amp;gt; [the ·value space·s of all ·primitive· datatypes are disjoint (they &amp;nbsp;
&lt;br&gt;&amp;gt; do not share any values)](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#equal&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#equal&lt;/a&gt;). &amp;nbsp;
&lt;br&gt;&amp;gt; I'm not crazy about their definitions (a claim about disjointness &amp;nbsp;
&lt;br&gt;&amp;gt; isn't the same as defining multiple colors of numbers), but they &amp;nbsp;
&lt;br&gt;&amp;gt; did seem to intend disjoint spaces.
&lt;br&gt;&lt;br&gt;Yep. Again, this isn't dispositive, but I do hope it makes it clear &amp;nbsp;
&lt;br&gt;where I was coming from.
&lt;br&gt;&lt;br&gt;One reason for this, of course, is to make typing of certain &amp;nbsp;
&lt;br&gt;operations easier. I.e., if you have actual floating point &amp;nbsp;
&lt;br&gt;arithmetic, it can help to make it a type error to use decimals with &amp;nbsp;
&lt;br&gt;it. (And vice versa, if you want to reserve binary floats for &amp;nbsp;
&lt;br&gt;situations where people are aware of the issues with floating point &amp;nbsp;
&lt;br&gt;arithmetic).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The new version of the XSchema spec is much [clearer](http:// 
&lt;br&gt;&amp;gt; www.w3.org/TR/xmlschema11-2/#order), and explicitly endorses &amp;quot;other &amp;nbsp;
&lt;br&gt;&amp;gt; applications&amp;quot; which join the value spaces:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For purposes of this specification, the value spaces of primitive &amp;nbsp;
&lt;br&gt;&amp;gt; datatypes are disjoint, even in cases where the abstractions they &amp;nbsp;
&lt;br&gt;&amp;gt; represent might be thought of as having values in common. &amp;nbsp;In the &amp;nbsp;
&lt;br&gt;&amp;gt; order relations defined in this specification, values from &amp;nbsp;
&lt;br&gt;&amp;gt; different value spaces are ·incomparable·. &amp;nbsp;For example, the &amp;nbsp;
&lt;br&gt;&amp;gt; numbers two and three are values in both the decimal datatype and &amp;nbsp;
&lt;br&gt;&amp;gt; the float datatype. &amp;nbsp;In the order relation defined here, the two in &amp;nbsp;
&lt;br&gt;&amp;gt; the decimal datatype is not less than the three in the float &amp;nbsp;
&lt;br&gt;&amp;gt; datatype; the two values are incomparable. &amp;nbsp;Other applications &amp;nbsp;
&lt;br&gt;&amp;gt; making use of these datatypes may choose to consider values such as &amp;nbsp;
&lt;br&gt;&amp;gt; these comparable.
&lt;/div&gt;&lt;br&gt;Yep.
&lt;br&gt;&lt;br&gt;&amp;gt; Regardless, my experience is that users both want and expect a &amp;nbsp;
&lt;br&gt;&amp;gt; single number line (modulo NaN and +-inf). I feel that the last &amp;nbsp;
&lt;br&gt;&amp;gt; sentence of the above section of the new XSchema spec blesses these &amp;nbsp;
&lt;br&gt;&amp;gt; semantics with xsd constants.
&lt;br&gt;&lt;br&gt;We have to be careful since that's just a working draft. But it does &amp;nbsp;
&lt;br&gt;seem to be the way they're going.
&lt;br&gt;&lt;br&gt;&amp;gt; And current tools are inconsistent in their interpretation, so any &amp;nbsp;
&lt;br&gt;&amp;gt; choice we make is going to force *some* implementation(s) to change.
&lt;br&gt;&lt;br&gt;Yep. For sure.
&lt;br&gt;&lt;br&gt;&amp;gt; Is anyone really still pushing for multiple number lines, one of &amp;nbsp;
&lt;br&gt;&amp;gt; which includes Integers and one of which includes (for example) &amp;nbsp;
&lt;br&gt;&amp;gt; floats?
&lt;br&gt;&lt;br&gt;It's still open. I'm still unsure where I stand. My last position was &amp;nbsp;
&lt;br&gt;to drop floats and doubles entirely so as to avoid this issue :) (and &amp;nbsp;
&lt;br&gt;others).
&lt;br&gt;&lt;br&gt;(Some of these are user issues. I think encouraging people to use &amp;nbsp;
&lt;br&gt;one, owl type might be overall better. Also, there are lots of other &amp;nbsp;
&lt;br&gt;issues with floats (bounds, NaN, discreteness). Boris has a new &amp;nbsp;
&lt;br&gt;proposal that's interesting:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;a href=&quot;http://www.w3.org/mid/002501c8e115$ef500220$7212a8c0@wolf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/mid/002501c8e115$ef500220$7212a8c0@wolf&lt;/a&gt;&amp;gt;
&lt;br&gt;It seems usefully influenced by some of your points. I'm not sure &amp;nbsp;
&lt;br&gt;what I think about it yet.
&lt;br&gt;&lt;br&gt;I've not talked with other Pellet people about it yet, nor asked on &amp;nbsp;
&lt;br&gt;the Pellet list. I need to think some more on it.
&lt;br&gt;&lt;br&gt;We also need to figure out some stuff about conformance. E.g., if we &amp;nbsp;
&lt;br&gt;spec minimum sizes on integers, how should implementations handle &amp;nbsp;
&lt;br&gt;larger integers in the data? How do we label stuff, etc.)
&lt;br&gt;&lt;br&gt;I think we, as a group, have a better understanding (I certainly do). &amp;nbsp;
&lt;br&gt;But I'm not sure if we've got consensus yet. I hope you'll be willing &amp;nbsp;
&lt;br&gt;to review the detailed work when it's further along.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18345731.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18344999</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-08T10:42:16Z</published>
	<updated>2008-07-08T10:42:16Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt;&amp;gt;&amp;gt; I understand the misreading. I'm happy that you tested, it's good &amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; information to have. But Pellet has that behavior because I read &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the XML Schema specs and interpreted them in what I think is the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; obvious way. Thus, I think Pellet's behavior is spec compliant.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I read the spec differently: both values spaces are defined &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; mathematically in terms of &amp;quot;numbers&amp;quot;. The mathematical value 1 is &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; in the [float](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#float&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#float&lt;/a&gt;) value space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; because it is the value 1x2^0, is in the [decimal](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#integer&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#integer&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; ) value space because it is the value 1x10^{-0}, and it is in the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; [integer](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#integer&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#integer&lt;/a&gt;) value space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; because it is in the set \{...-2,-1,0,1,2,...\}. As these are all &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; mathematical and not lexical definitions it appears that the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; Integer and float value spaces overlap.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This would be true if XML Schema had a purely structural type &amp;nbsp;
&lt;br&gt;&amp;gt; system. But it also includes nominal types:
&lt;br&gt;&amp;gt; 	&lt;a href=&quot;http://www.w3.org/mid/D245D6CC-4F7B-41CC-BCF4-FAE7CD7CFFC9@cs.man.ac.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/mid/D245D6CC-4F7B-41CC-BCF4-FAE7CD7CFFC9@...&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My reading of the spec:
&lt;br&gt;&amp;gt; 	&lt;a href=&quot;http://www.w3.org/mid/6572A0FC-B943-4ACE-9E42-6D914E2C383C@cs.man.ac.uk&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/mid/6572A0FC-B943-4ACE-9E42-6D914E2C383C@...&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Since all primitive datatypes are disjoint, double and decimal and &amp;nbsp;
&lt;br&gt;&amp;gt; float are all disjoint.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (Interestingly, McQueen (mis)read it the same way! &amp;lt;&lt;a href=&quot;http://www.w3.org/mid/8E57FB57-80B1-4016-A7F0-46DE8CEB8289@acm.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/mid/8E57FB57-80B1-4016-A7F0-46DE8CEB8289@...&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt;. That does suggest that the de facto understanding is strongly &amp;nbsp;
&lt;br&gt;&amp;gt; against mine, but I think mine was honestly come by.)
&lt;/div&gt;&lt;/div&gt;Hmmm...I think your interpretation might actually be the intent: [the &amp;nbsp;
&lt;br&gt;·value space·s of all ·primitive· datatypes are disjoint (they do not &amp;nbsp;
&lt;br&gt;share any values)](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#equal&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#equal&lt;/a&gt;). I'm not &amp;nbsp;
&lt;br&gt;crazy about their definitions (a claim about disjointness isn't the &amp;nbsp;
&lt;br&gt;same as defining multiple colors of numbers), but they did seem to &amp;nbsp;
&lt;br&gt;intend disjoint spaces.
&lt;br&gt;&lt;br&gt;The new version of the XSchema spec is much [clearer](&lt;a href=&quot;http://www.w3.org/TR/xmlschema11-2/#order&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema11-2/#order&lt;/a&gt;&amp;nbsp;
&lt;br&gt;), and explicitly endorses &amp;quot;other applications&amp;quot; which join the value &amp;nbsp;
&lt;br&gt;spaces:
&lt;br&gt;&lt;br&gt;For purposes of this specification, the value spaces of primitive &amp;nbsp;
&lt;br&gt;datatypes are disjoint, even in cases where the abstractions they &amp;nbsp;
&lt;br&gt;represent might be thought of as having values in common. &amp;nbsp;In the &amp;nbsp;
&lt;br&gt;order relations defined in this specification, values from different &amp;nbsp;
&lt;br&gt;value spaces are ·incomparable·. &amp;nbsp;For example, the numbers two and &amp;nbsp;
&lt;br&gt;three are values in both the decimal datatype and the float datatype. &amp;nbsp; 
&lt;br&gt;In the order relation defined here, the two in the decimal datatype is &amp;nbsp;
&lt;br&gt;not less than the three in the float datatype; the two values are &amp;nbsp;
&lt;br&gt;incomparable. &amp;nbsp;Other applications making use of these datatypes may &amp;nbsp;
&lt;br&gt;choose to consider values such as these comparable.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Regardless, my experience is that users both want and expect a single &amp;nbsp;
&lt;br&gt;number line (modulo NaN and +-inf). I feel that the last sentence of &amp;nbsp;
&lt;br&gt;the above section of the new XSchema spec blesses these semantics with &amp;nbsp;
&lt;br&gt;xsd constants. And current tools are inconsistent in their &amp;nbsp;
&lt;br&gt;interpretation, so any choice we make is going to force *some* &amp;nbsp;
&lt;br&gt;implementation(s) to change. Is anyone really still pushing for &amp;nbsp;
&lt;br&gt;multiple number lines, one of which includes Integers and one of which &amp;nbsp;
&lt;br&gt;includes (for example) floats?
&lt;br&gt;&lt;br&gt;-rob&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18344999/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18344999.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18330653</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real   &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T19:16:57Z</published>
	<updated>2008-07-07T19:16:57Z</updated>
	<author>
		<name>Richard H. McCullough-3</name>
	</author>
	<content type="html">&lt;br&gt;I'm suggesting two things.
&lt;br&gt;1. epsilon-delta arguments are applicable to determining how many numbers 
&lt;br&gt;you can distinguish.
&lt;br&gt;2. once that number gets sufficiently large, there's no point in considering 
&lt;br&gt;the larger
&lt;br&gt;number of &amp;quot;theoretical&amp;quot; answers, because you can't measure them, so they 
&lt;br&gt;just don't matter.
&lt;br&gt;&lt;br&gt;Dick
&lt;br&gt;&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Dave Peterson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;Richard H. McCullough&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rhm@...&lt;/a&gt;&amp;gt;; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;quot;Alan Ruttenberg&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alanruttenberg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &amp;quot;Rob Shearer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rob.shearer@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-webont-comments@...&lt;/a&gt;&amp;gt;; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-owl-wg@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www-xml-schema-comments@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Monday, July 07, 2008 6:38 PM
&lt;br&gt;Subject: Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &amp;lt;-&amp;gt; 
&lt;br&gt;float &amp;lt;-&amp;gt; double conundrum
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Let me put one thing to bed once and for all: &amp;nbsp;No one that I'm aware of
&lt;br&gt;&amp;gt; believes that (*absent artificial &amp;quot;coloring&amp;quot; for distinction*) the value
&lt;br&gt;&amp;gt; space of float is not a subset of the value space of double, or that
&lt;br&gt;&amp;gt; the value space of double is not a subset of the value space of decimal.
&lt;br&gt;&amp;gt; The problem is in the details of all the additional baggage a datatype
&lt;br&gt;&amp;gt; carries, over and above its value space.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At 4:38 PM -0700 2008-07-07, Richard H. McCullough wrote:
&lt;br&gt;&amp;gt;&amp;gt;I suggest that you consider following the example of classical 
&lt;br&gt;&amp;gt;&amp;gt;mathematical analysis -- the delta-epsilon arguments -- or the example of 
&lt;br&gt;&amp;gt;&amp;gt;engineering approximations.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm very interested in knowing how Leibnizian epsilon-delta arguments
&lt;br&gt;&amp;gt; impact the question of how one can or should derive double, and then
&lt;br&gt;&amp;gt; float, from decimal.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;Domains may be disjoint in theory, but when you make real measurements,
&lt;br&gt;&amp;gt;&amp;gt;and consider measurement precision/errors, they're not really disjoint.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; True. &amp;nbsp;But there's a lot of difference between saying you have &amp;quot;numbers&amp;quot;
&lt;br&gt;&amp;gt; whose exact value you don't know (a la precisionDecimal) and saying that
&lt;br&gt;&amp;gt; you have a fixed finite set of numbers into which you must jam all your
&lt;br&gt;&amp;gt; values. &amp;nbsp;Some of the Schema WG members won't even talk to me about
&lt;br&gt;&amp;gt; precision any more because I get into too much detail as to just what
&lt;br&gt;&amp;gt; precision is in engineering measurement contexts. &amp;nbsp;Best don't get me
&lt;br&gt;&amp;gt; started. &amp;nbsp;;-)
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Dave Peterson
&lt;br&gt;&amp;gt; SGMLWorks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330653&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;Dick McCullough
&lt;br&gt;&lt;a href=&quot;http://mKRmKE.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mKRmKE.org/&lt;/a&gt;&lt;br&gt;Ayn Rand do speak od mKR done;
&lt;br&gt;knowledge := man do identify od existent done;
&lt;br&gt;knowledge haspart proposition list;
&lt;br&gt;mKE do enhance od &amp;quot;Real Intelligence&amp;quot; done;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18330653.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18330304</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real   &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T18:38:21Z</published>
	<updated>2008-07-07T18:38:21Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;Let me put one thing to bed once and for all: &amp;nbsp;No one that I'm aware of
&lt;br&gt;believes that (*absent artificial &amp;quot;coloring&amp;quot; for distinction*) the value
&lt;br&gt;space of float is not a subset of the value space of double, or that
&lt;br&gt;the value space of double is not a subset of the value space of decimal.
&lt;br&gt;The problem is in the details of all the additional baggage a datatype
&lt;br&gt;carries, over and above its value space.
&lt;br&gt;&lt;br&gt;At 4:38 PM -0700 2008-07-07, Richard H. McCullough wrote:
&lt;br&gt;&amp;gt;I suggest that you consider following the example of classical 
&lt;br&gt;&amp;gt;mathematical analysis -- the delta-epsilon arguments -- or the 
&lt;br&gt;&amp;gt;example of engineering approximations.
&lt;br&gt;&lt;br&gt;I'm very interested in knowing how Leibnizian epsilon-delta arguments
&lt;br&gt;impact the question of how one can or should derive double, and then
&lt;br&gt;float, from decimal.
&lt;br&gt;&lt;br&gt;&amp;gt;Domains may be disjoint in theory, but when you make real measurements,
&lt;br&gt;&amp;gt;and consider measurement precision/errors, they're not really disjoint.
&lt;br&gt;&lt;br&gt;True. &amp;nbsp;But there's a lot of difference between saying you have &amp;quot;numbers&amp;quot;
&lt;br&gt;whose exact value you don't know (a la precisionDecimal) and saying that
&lt;br&gt;you have a fixed finite set of numbers into which you must jam all your
&lt;br&gt;values. &amp;nbsp;Some of the Schema WG members won't even talk to me about
&lt;br&gt;precision any more because I get into too much detail as to just what
&lt;br&gt;precision is in engineering measurement contexts. &amp;nbsp;Best don't get me
&lt;br&gt;started. &amp;nbsp;;-)
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;SGMLWorks!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18330304&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18330304.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18329179</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T16:38:57Z</published>
	<updated>2008-07-07T16:38:57Z</updated>
	<author>
		<name>Richard H. McCullough-3</name>
	</author>
	<content type="html">&lt;br&gt;I suggest that you consider following the example of classical mathematical 
&lt;br&gt;analysis -- the delta-epsilon arguments -- or the example of engineering 
&lt;br&gt;approximations.
&lt;br&gt;Domains may be disjoint in theory, but when you make real measurements,
&lt;br&gt;and consider measurement precision/errors, they're not really disjoint.
&lt;br&gt;&lt;br&gt;Dick
&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Dave Peterson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;paul@...&lt;/a&gt;&amp;gt;; &amp;quot;Alan Ruttenberg&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alanruttenberg@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &amp;quot;Rob Shearer&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rob.shearer@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-webont-comments@...&lt;/a&gt;&amp;gt;; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-owl-wg@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www-xml-schema-comments@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Monday, July 07, 2008 1:21 PM
&lt;br&gt;Subject: Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &amp;lt;-&amp;gt; 
&lt;br&gt;float &amp;lt;-&amp;gt; double conundrum
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At 10:38 AM -0600 2008-07-07, Paul &amp;quot;Sparrow Hawk&amp;quot; Biron wrote:
&lt;br&gt;&amp;gt;&amp;gt;Alan Ruttenberg wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;I'm sorry for the overgeneralization and didn't mean to insult. It's just 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;that as much as I think about it, I can't understand the idea that the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;value space of floats and the value space of decimal are disjoint. 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;Fundamentally these represent some of the same real numbers and this 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;isn't reflected in the spec. In addition, many numbers that can be 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;finitely expressed and be calculated with find no place in *any* of the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;value spaces, e.g. 1/3. It is this sense of &amp;quot;mathematical&amp;quot; that I was 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;referring to.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;The best explanation that I know of was written by Mark Reinhold, a member 
&lt;br&gt;&amp;gt;&amp;gt;of the original schema WG (...and, if memory serves me, was a member of 
&lt;br&gt;&amp;gt;&amp;gt;the team that wrote the Java floating-point spec).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;During the development of the Schema 1.0 (i.e., a few years before we went 
&lt;br&gt;&amp;gt;&amp;gt;to Rec) we had MANY discussions about the numeric types, and especially 
&lt;br&gt;&amp;gt;&amp;gt;about float and double. &amp;nbsp;As part of that discussion, Mark wrote a note 
&lt;br&gt;&amp;gt;&amp;gt;entitled &amp;quot;Floating-point datatypes are not real datatypes&amp;quot; [1] that goes 
&lt;br&gt;&amp;gt;&amp;gt;into great detail on this point. &amp;nbsp;It also serves as a good entry point to 
&lt;br&gt;&amp;gt;&amp;gt;the archives for the discussions the WG had on these issues.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks, Paul, for the history. &amp;nbsp;That discussion happened during a 9-month
&lt;br&gt;&amp;gt; period when I had to be away from Schema, so I wasn't really aware of it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Interesting to note that the whole discussion of a parent for decimal,
&lt;br&gt;&amp;gt; float, and double (and even precisionDecimal) was reopened and discussed
&lt;br&gt;&amp;gt; during the early XSD 1.1 development, and again rejected (with and without
&lt;br&gt;&amp;gt; including precisionDecimal). &amp;nbsp;Apparently for much the same reasons.
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Dave Peterson
&lt;br&gt;&amp;gt; SGMLWorks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18329179&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;Dick McCullough
&lt;br&gt;&lt;a href=&quot;http://mKRmKE.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mKRmKE.org/&lt;/a&gt;&lt;br&gt;Ayn Rand do speak od mKR done;
&lt;br&gt;knowledge := man do identify od existent done;
&lt;br&gt;knowledge haspart proposition list;
&lt;br&gt;mKE do enhance od &amp;quot;Real Intelligence&amp;quot; done;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18329179.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18327966</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T13:21:32Z</published>
	<updated>2008-07-07T13:21:32Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;At 10:38 AM -0600 2008-07-07, Paul &amp;quot;Sparrow Hawk&amp;quot; Biron wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Alan Ruttenberg wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;I'm sorry for the overgeneralization and didn't mean to insult. 
&lt;br&gt;&amp;gt;&amp;gt;It's just that as much as I think about it, I can't understand the 
&lt;br&gt;&amp;gt;&amp;gt;idea that the value space of floats and the value space of decimal 
&lt;br&gt;&amp;gt;&amp;gt;are disjoint. Fundamentally these represent some of the same real 
&lt;br&gt;&amp;gt;&amp;gt;numbers and this isn't reflected in the spec. In addition, many 
&lt;br&gt;&amp;gt;&amp;gt;numbers that can be finitely expressed and be calculated with find 
&lt;br&gt;&amp;gt;&amp;gt;no place in *any* of the value spaces, e.g. 1/3. It is this sense 
&lt;br&gt;&amp;gt;&amp;gt;of &amp;quot;mathematical&amp;quot; that I was referring to.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;The best explanation that I know of was written by Mark Reinhold, a 
&lt;br&gt;&amp;gt;member of the original schema WG (...and, if memory serves me, was a 
&lt;br&gt;&amp;gt;member of the team that wrote the Java floating-point spec).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;During the development of the Schema 1.0 (i.e., a few years before 
&lt;br&gt;&amp;gt;we went to Rec) we had MANY discussions about the numeric types, and 
&lt;br&gt;&amp;gt;especially about float and double. &amp;nbsp;As part of that discussion, Mark 
&lt;br&gt;&amp;gt;wrote a note entitled &amp;quot;Floating-point datatypes are not real 
&lt;br&gt;&amp;gt;datatypes&amp;quot; [1] that goes into great detail on this point. &amp;nbsp;It also 
&lt;br&gt;&amp;gt;serves as a good entry point to the archives for the discussions the 
&lt;br&gt;&amp;gt;WG had on these issues.
&lt;/div&gt;&lt;br&gt;Thanks, Paul, for the history. &amp;nbsp;That discussion happened during a 9-month
&lt;br&gt;period when I had to be away from Schema, so I wasn't really aware of it.
&lt;br&gt;&lt;br&gt;Interesting to note that the whole discussion of a parent for decimal,
&lt;br&gt;float, and double (and even precisionDecimal) was reopened and discussed
&lt;br&gt;during the early XSD 1.1 development, and again rejected (with and without
&lt;br&gt;including precisionDecimal). &amp;nbsp;Apparently for much the same reasons.
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;SGMLWorks!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18327966&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18327966.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18345860</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt;   float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T09:38:36Z</published>
	<updated>2008-07-07T09:38:36Z</updated>
	<author>
		<name>Paul &quot;Sparrow Hawk&quot; Biron</name>
	</author>
	<content type="html">&lt;br&gt;Alan Ruttenberg wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm sorry for the overgeneralization and didn't mean to insult. It's 
&lt;br&gt;&amp;gt; just that as much as I think about it, I can't understand the idea that 
&lt;br&gt;&amp;gt; the value space of floats and the value space of decimal are disjoint. 
&lt;br&gt;&amp;gt; Fundamentally these represent some of the same real numbers and this 
&lt;br&gt;&amp;gt; isn't reflected in the spec. In addition, many numbers that can be 
&lt;br&gt;&amp;gt; finitely expressed and be calculated with find no place in *any* of the 
&lt;br&gt;&amp;gt; value spaces, e.g. 1/3. It is this sense of &amp;quot;mathematical&amp;quot; that I was 
&lt;br&gt;&amp;gt; referring to.
&lt;br&gt;&lt;br&gt;The best explanation that I know of was written by Mark Reinhold, a 
&lt;br&gt;member of the original schema WG (...and, if memory serves me, was a 
&lt;br&gt;member of the team that wrote the Java floating-point spec).
&lt;br&gt;&lt;br&gt;During the development of the Schema 1.0 (i.e., a few years before we 
&lt;br&gt;went to Rec) we had MANY discussions about the numeric types, and 
&lt;br&gt;especially about float and double. &amp;nbsp;As part of that discussion, Mark 
&lt;br&gt;wrote a note entitled &amp;quot;Floating-point datatypes are not real datatypes&amp;quot; 
&lt;br&gt;[1] that goes into great detail on this point. &amp;nbsp;It also serves as a good 
&lt;br&gt;entry point to the archives for the discussions the WG had on these issues.
&lt;br&gt;&lt;br&gt;pvb
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/1999Oct/0025.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/1999Oct/0025.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18345860.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18317418</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T06:59:28Z</published>
	<updated>2008-07-07T06:59:28Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; The integer data domain is a subset of the number data domain. &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; There is absolutely no need for a float data domain. OWL &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; implementations should support particular values encoded using the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:int` and `xsd:float` lexical representations. These values are &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; all in the number domain.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This goes against existing implementation and use, wherein xsd:float &amp;nbsp;
&lt;br&gt;&amp;gt; is disjoint from xsd:int.
&lt;br&gt;&lt;br&gt;Cerebra did not make them disjoint. Neither does KAON2. And testing &amp;nbsp;
&lt;br&gt;reveals that neither does FaCT++. The only reasoner I can find that &amp;nbsp;
&lt;br&gt;makes them disjoint is Pellet. This sheds a lot of light on your &amp;nbsp;
&lt;br&gt;definition of &amp;quot;existing implementation and use&amp;quot;.
&lt;br&gt;&lt;br&gt;If you intend to attempt to enshrine bugs in Clark &amp; Parsia products &amp;nbsp;
&lt;br&gt;in the OWL standard, I suggest that you do it as a representative of &amp;nbsp;
&lt;br&gt;Clark &amp; Parsia and not as a representative of Manchester, which has an &amp;nbsp;
&lt;br&gt;interest in FaCT++.
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18317418/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18317418.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18314946</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-07T04:46:57Z</published>
	<updated>2008-07-07T04:46:57Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; The XSchema guys have already done that, and people have &amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; implemented parsers for their spec. If there's going to be a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; syntax for rationals or algebraics, then that seems to be right &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; up their alley.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; They don't seem interested, alas.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; And I very much hope the OWL WG takes that as a sign that they &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; should be even less interested.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The reason (one memeber) gave (privately) is that they didn't think &amp;nbsp;
&lt;br&gt;&amp;gt; that reals beyond decimals were necessary for a schema language. I &amp;nbsp;
&lt;br&gt;&amp;gt; think we agree that they are for an ontology language. So, my &amp;nbsp;
&lt;br&gt;&amp;gt; conclusion is the opposite of your hope.
&lt;/div&gt;&lt;/div&gt;Rational numbers, and linear equations, and n-ary data predicates, all &amp;nbsp;
&lt;br&gt;seem *much* more relevant to data representation and model checking &amp;nbsp;
&lt;br&gt;than satisfiability reasoning; these are systems people want to use to &amp;nbsp;
&lt;br&gt;store and compute particular values based on input, not to check &amp;nbsp;
&lt;br&gt;satisfiability. (The n-ary datatype use cases, for example, don't &amp;nbsp;
&lt;br&gt;offer much insight into how such a feature could be used to draw &amp;nbsp;
&lt;br&gt;valuable new inferences.) And yet the XSchema group---the data &amp;nbsp;
&lt;br&gt;representation and model-checking crowd---decided that such notions &amp;nbsp;
&lt;br&gt;were far too ambitious for even them.
&lt;br&gt;&lt;br&gt;Again, I urge the OWL working group to follow that example and focus &amp;nbsp;
&lt;br&gt;on the small set of features which will actually benefit users, and &amp;nbsp;
&lt;br&gt;make sure that they get those features right.
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18314946/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18314946.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18310649</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T23:15:12Z</published>
	<updated>2008-07-06T23:15:12Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;On Jul 7, 2008, at 1:02 AM, Rob Shearer wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; XSD offers a lexical syntax for points that happen to lie on &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the real number line
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It offers several and we're free to define one for owl:real. If &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; we use any decimal notation, we have exactness problems (e.g., &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1/3), but decimal is very user friendly. So, I was thinking that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the valid syntax for a real would be decimal floating points and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ratios of integers. We could include scientific notation as well.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Why on earth would the OWL group come up with their own syntax &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for encoding numbers?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm presuming we're sticking with the basic xsd framework. So &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; types have a lexical space and a values space.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; NO. There is no lexical space to represent all of the reals.
&lt;/div&gt;&lt;br&gt;I didn't say or imply there was. There's, afaict, no requirement that &amp;nbsp;
&lt;br&gt;the lexical space cover the entire mapping space. Indeed, in the &amp;nbsp;
&lt;br&gt;current owl:real, where we are talking about a value space over the &amp;nbsp;
&lt;br&gt;algebraic reals (which *are* denumerable), we only allow rational &amp;nbsp;
&lt;br&gt;constants. (We need the additional reals as possible solutions to &amp;nbsp;
&lt;br&gt;equations with rational constants.)
&lt;br&gt;&lt;br&gt;&amp;gt; That's the whole point---the reals include lots and lots of values &amp;nbsp;
&lt;br&gt;&amp;gt; that cannot necessarily be represented lexically.
&lt;br&gt;&lt;br&gt;I'm skeptical that than's the whole point, as it doesn't seem relevant.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; So, owl:real has a value space of the reals. But what should the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; lexical space be? I'd propose that at least the union of the xsd &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; numeric types lexical spaces be the lexical space for our new &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; type. I would add additional syntax for exact rationals (such as &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; 1/3). The first part is isomorphic to your proposal about xsd &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; syntax, I believe.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Again, I have no intention of implementing rationals.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And if you want to come up with some syntax for encoding rational &amp;nbsp;
&lt;br&gt;&amp;gt; numbers in XML I suggest you join the XSchema working group, &amp;nbsp;
&lt;br&gt;&amp;gt; because that's way beyond the OWL charter.
&lt;/div&gt;&lt;br&gt;I'm not sure why you say that. Designing an OWL type seems well &amp;nbsp;
&lt;br&gt;within our purview. Consider rdf:Literal.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The XSchema guys have already done that, and people have &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; implemented parsers for their spec. If there's going to be a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; syntax for rationals or algebraics, then that seems to be right &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; up their alley.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; They don't seem interested, alas.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And I very much hope the OWL WG takes that as a sign that they &amp;nbsp;
&lt;br&gt;&amp;gt; should be even less interested.
&lt;br&gt;&lt;br&gt;The reason (one memeber) gave (privately) is that they didn't think &amp;nbsp;
&lt;br&gt;that reals beyond decimals were necessary for a schema language. I &amp;nbsp;
&lt;br&gt;think we agree that they are for an ontology language. So, my &amp;nbsp;
&lt;br&gt;conclusion is the opposite of your hope.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; XSD datatypes have a lexical space (e.g., the syntax) and a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; value space. You are suggesting, I thought, that we adopt a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; value space that is the reals and something about using xsd &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; syntax (i.e., lexical spaces) for the syntax.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For the syntax of particular values. I keep trying to stress that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; values spaces should be kept separate from the syntax used for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; particular values.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sure. But that's true in XSD as well.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No it's [not](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#value-space):&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#value-space):&lt;/a&gt;&amp;nbsp;&amp;quot;Each &amp;nbsp;
&lt;br&gt;&amp;gt; value in the value space of a datatype is denoted by one or more &amp;nbsp;
&lt;br&gt;&amp;gt; literals in its ·lexical space·.&amp;quot;
&lt;/div&gt;&lt;br&gt;Oh, ick. I had interpreted that as contingent for the set defined, &amp;nbsp;
&lt;br&gt;not as a general principle for all types in an extended system. Ick.
&lt;br&gt;&lt;br&gt;Yes, well, as the current design for owl:real shows, we are already &amp;nbsp;
&lt;br&gt;ignoring this constraint :(
&lt;br&gt;&lt;br&gt;&amp;gt; In XSD the lexical and value spaces and very tightly bound &amp;nbsp;
&lt;br&gt;&amp;gt; together. This should *not* be true for OWL.
&lt;br&gt;&lt;br&gt;Well, not exactly, but certainly moreso than I thought.
&lt;br&gt;&lt;br&gt;They seem to be loosening this in Schema 1.1:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://www.w3.org/TR/xmlschema11-2/#value-space&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema11-2/#value-space&lt;/a&gt;&lt;br&gt;&amp;quot;&amp;quot;&amp;quot;Each value in the value space of a ·primitive· or ·ordinary· &amp;nbsp;
&lt;br&gt;datatype is denoted by one or more character strings in its ·lexical &amp;nbsp;
&lt;br&gt;space·, according to ·the lexical mapping·; ·special· datatypes, by &amp;nbsp;
&lt;br&gt;contrast, may include &amp;quot;ineffable&amp;quot; values not mapped to by any lexical &amp;nbsp;
&lt;br&gt;representation. &amp;quot;&amp;quot;&amp;quot;
&lt;br&gt;[snip]
&lt;br&gt;&amp;gt;&amp;gt; I'd be surprised if we could get consensus on abandoning the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; lexical space/value space language and understanding. It's pretty &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; deeply embedded into RDF.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It's impossible to have a real number line and have lexical &amp;nbsp;
&lt;br&gt;&amp;gt; representations for all values.
&lt;br&gt;&lt;br&gt;Yes, so we have to at least relax the Schema 1.0 constraint that &amp;nbsp;
&lt;br&gt;every value have a corresponding literal. Thanks for pointing that out.
&lt;br&gt;&lt;br&gt;[snip]
&lt;br&gt;&lt;br&gt;&amp;gt; To make this clearer, perhaps we should abandon the &amp;quot;value space&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; terminology altogether and instead talk about OWL &amp;quot;data domains&amp;quot;. I &amp;nbsp;
&lt;br&gt;&amp;gt; suggest that OWL have a string data domain and a number data &amp;nbsp;
&lt;br&gt;&amp;gt; domain. The integer data domain is a subset of the number data &amp;nbsp;
&lt;br&gt;&amp;gt; domain. There is absolutely no need for a float data domain. OWL &amp;nbsp;
&lt;br&gt;&amp;gt; implementations should support particular values encoded using the &amp;nbsp;
&lt;br&gt;&amp;gt; `xsd:int` and `xsd:float` lexical representations. These values are &amp;nbsp;
&lt;br&gt;&amp;gt; all in the number domain.
&lt;br&gt;&lt;br&gt;This goes against existing implementation and use, wherein xsd:float &amp;nbsp;
&lt;br&gt;is disjoint from xsd:int. (The non-real values of float are a problem &amp;nbsp;
&lt;br&gt;as well.)
&lt;br&gt;&lt;br&gt;[snip]
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; There is such a thing as &amp;quot;the space of lexical representations &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; which a conformant implementation must support for particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; values in the real value space&amp;quot;, but this space is much smaller &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; than the real value space.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Our initial proposal for owl:real is to support for syntax, pairs &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; of integers with the second being non-zero (i.e., standard &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; fraction syntax for rationals) and (at least) the algebraic reals &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for the value space. If you don't have equations or special &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; constants, you can't address the irrationals or transcendentals &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; anyway. We are aiming to support some classes of equation, but &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; only with rational constants.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But why on earth would you cut down the value space at *all*?
&lt;/div&gt;&lt;br&gt;Once you let the value space vary from the lexical space, there's &amp;nbsp;
&lt;br&gt;less need. I think it helps to have the concept if that's what you &amp;nbsp;
&lt;br&gt;are actually using. At the time, we were motivated in part by not &amp;nbsp;
&lt;br&gt;wanting to spook people.
&lt;br&gt;&lt;br&gt;(If our principle is the most broad relevant type, then complex seems &amp;nbsp;
&lt;br&gt;to be the right supertype. The algebraic reals have a lot of nice &amp;nbsp;
&lt;br&gt;properties which make them pretty suitable for our purposes.)
&lt;br&gt;&lt;br&gt;&amp;gt; That just cuts off any possibility of future extension!
&lt;br&gt;[snip]
&lt;br&gt;&lt;br&gt;I'm not sure why. We're free to introduce new types or extend old types.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; For the restriction &amp;quot;forall R `xsd:float`&amp;quot; I simply bounded the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; real number line at the min and max values of floats. Still a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; dense, infinite number line, but with bounds. I hated this usage, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; however, and would prefer if it became illegal.&amp;quot;&amp;quot;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So you did bound...but you &amp;quot;hate it&amp;quot;? Which, the bounds? the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; universal quantifier?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I hated that the user was saying `float` and I was interpreting it &amp;nbsp;
&lt;br&gt;&amp;gt; as &amp;quot;real between `FLT_MIN` and `FLT_MAX`&amp;quot;. I hope OWL 2.0 allows &amp;nbsp;
&lt;br&gt;&amp;gt; only OWL data domains in such a context.
&lt;/div&gt;&lt;br&gt;So you do want arbitrarily sized floats. Ok.
&lt;br&gt;&lt;br&gt;&amp;gt; (But of course an individual value is a valid data domain, and &amp;nbsp;
&lt;br&gt;&amp;gt; complex data domains could be built using facets with individual &amp;nbsp;
&lt;br&gt;&amp;gt; values.)
&lt;br&gt;&lt;br&gt;We may be reaching diminishing returns on the public debate. We can &amp;nbsp;
&lt;br&gt;continue in private if you like, and then summarize back.
&lt;br&gt;&lt;br&gt;Thanks for the discussion.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18310649.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18308124</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T17:02:14Z</published>
	<updated>2008-07-06T17:02:14Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; XSD offers a lexical syntax for points that happen to lie on the &amp;nbsp;
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; real number line
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It offers several and we're free to define one for owl:real. If we &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; use any decimal notation, we have exactness problems (e.g., 1/3), &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but decimal is very user friendly. So, I was thinking that the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; valid syntax for a real would be decimal floating points and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ratios of integers. We could include scientific notation as well.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Why on earth would the OWL group come up with their own syntax for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; encoding numbers?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm presuming we're sticking with the basic xsd framework. So types &amp;nbsp;
&lt;br&gt;&amp;gt; have a lexical space and a values space.
&lt;/div&gt;&lt;/div&gt;NO. There is no lexical space to represent all of the reals. That's &amp;nbsp;
&lt;br&gt;the whole point---the reals include lots and lots of values that &amp;nbsp;
&lt;br&gt;cannot necessarily be represented lexically.
&lt;br&gt;&lt;br&gt;&amp;gt; So, owl:real has a value space of the reals. But what should the &amp;nbsp;
&lt;br&gt;&amp;gt; lexical space be? I'd propose that at least the union of the xsd &amp;nbsp;
&lt;br&gt;&amp;gt; numeric types lexical spaces be the lexical space for our new type. &amp;nbsp;
&lt;br&gt;&amp;gt; I would add additional syntax for exact rationals (such as 1/3). The &amp;nbsp;
&lt;br&gt;&amp;gt; first part is isomorphic to your proposal about xsd syntax, I believe.
&lt;br&gt;&lt;br&gt;Again, I have no intention of implementing rationals.
&lt;br&gt;&lt;br&gt;And if you want to come up with some syntax for encoding rational &amp;nbsp;
&lt;br&gt;numbers in XML I suggest you join the XSchema working group, because &amp;nbsp;
&lt;br&gt;that's way beyond the OWL charter.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; The XSchema guys have already done that, and people have &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; implemented parsers for their spec. If there's going to be a syntax &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for rationals or algebraics, then that seems to be right up their &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; alley.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; They don't seem interested, alas.
&lt;br&gt;&lt;br&gt;And I very much hope the OWL WG takes that as a sign that they should &amp;nbsp;
&lt;br&gt;be even less interested.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; XSD datatypes have a lexical space (e.g., the syntax) and a value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; space. You are suggesting, I thought, that we adopt a value space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; that is the reals and something about using xsd syntax (i.e., &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; lexical spaces) for the syntax.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; For the syntax of particular values. I keep trying to stress that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; values spaces should be kept separate from the syntax used for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; particular values.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Sure. But that's true in XSD as well.
&lt;/div&gt;&lt;/div&gt;No it's [not](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#value-space):&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#value-space):&lt;/a&gt;&amp;nbsp;&amp;quot;Each &amp;nbsp;
&lt;br&gt;value in the value space of a datatype is denoted by one or more &amp;nbsp;
&lt;br&gt;literals in its ·lexical space·.&amp;quot; In XSD the lexical and value spaces &amp;nbsp;
&lt;br&gt;and very tightly bound together. This should *not* be true for OWL.
&lt;br&gt;&lt;br&gt;&amp;gt; From what I can tell, you want all the literals that have &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;quot;xsd:float&amp;quot; (to pick an example) to map to (a subset) of the reals &amp;nbsp;
&lt;br&gt;&amp;gt; (as the value space) and constrain/enable certain syntax. So &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;quot;1.0&amp;quot;^^xsd:float would be a syntax error.
&lt;br&gt;&lt;br&gt;That looks like a valid [float][&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;#float] to me. But `&amp;quot;rob&amp;quot;^^xsd:float` looks like a syntax error. &amp;nbsp;
&lt;br&gt;Again, all these syntax issues should be deferred to the XSD spec.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; . I want `real` to be a value space with no lexical connotations.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd be surprised if we could get consensus on abandoning the lexical &amp;nbsp;
&lt;br&gt;&amp;gt; space/value space language and understanding. It's pretty deeply &amp;nbsp;
&lt;br&gt;&amp;gt; embedded into RDF.
&lt;br&gt;&lt;br&gt;It's impossible to have a real number line and have lexical &amp;nbsp;
&lt;br&gt;representations for all values.
&lt;br&gt;&lt;br&gt;The &amp;quot;value spaces&amp;quot; in OWL serve a fundamentally different purpose than &amp;nbsp;
&lt;br&gt;the &amp;quot;value spaces&amp;quot; defined in XSD. See my first message. XSD is &amp;nbsp;
&lt;br&gt;concerned with representing values. Future incarnations can add more &amp;nbsp;
&lt;br&gt;representations for more values, and existing data sets can be &amp;nbsp;
&lt;br&gt;seamlessly extended with these new values.
&lt;br&gt;&lt;br&gt;OWL is concerned with spaces of values. If the OWL 2.0 value space for &amp;nbsp;
&lt;br&gt;numbers does not include, for example, the rationals, then the system &amp;nbsp;
&lt;br&gt;can *not* be seamlessly extended to include the rationals, because &amp;nbsp;
&lt;br&gt;they've already been excluded. The value spaces from XSD are &amp;nbsp;
&lt;br&gt;inappropriate for OWL because they fail in exactly the wrong way. OWL &amp;nbsp;
&lt;br&gt;extensions trim down value spaces. XSD extensions build up value spaces.
&lt;br&gt;&lt;br&gt;To make this clearer, perhaps we should abandon the &amp;quot;value space&amp;quot; &amp;nbsp;
&lt;br&gt;terminology altogether and instead talk about OWL &amp;quot;data domains&amp;quot;. I &amp;nbsp;
&lt;br&gt;suggest that OWL have a string data domain and a number data domain. &amp;nbsp;
&lt;br&gt;The integer data domain is a subset of the number data domain. There &amp;nbsp;
&lt;br&gt;is absolutely no need for a float data domain. OWL implementations &amp;nbsp;
&lt;br&gt;should support particular values encoded using the `xsd:int` and &amp;nbsp;
&lt;br&gt;`xsd:float` lexical representations. These values are all in the &amp;nbsp;
&lt;br&gt;number domain.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I want to be able to specify a particular point in this value space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; using a string such as &amp;quot;1.0e0^^xsd:float&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yeah, I'm kinda against that. But I would support &amp;quot;1.0e0^^owl:real&amp;quot;.
&lt;br&gt;&lt;br&gt;That's craziness. You're crazy. Stop being crazy.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; The XSD lexical forms are not &amp;quot;the lexical space for reals&amp;quot;. There &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; is no such thing as &amp;quot;the lexical space for reals&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Bravo! ;)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; There is such a thing as &amp;quot;the space of lexical representations &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; which a conformant implementation must support for particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; values in the real value space&amp;quot;, but this space is much smaller &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; than the real value space.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Our initial proposal for owl:real is to support for syntax, pairs of &amp;nbsp;
&lt;br&gt;&amp;gt; integers with the second being non-zero (i.e., standard fraction &amp;nbsp;
&lt;br&gt;&amp;gt; syntax for rationals) and (at least) the algebraic reals for the &amp;nbsp;
&lt;br&gt;&amp;gt; value space. If you don't have equations or special constants, you &amp;nbsp;
&lt;br&gt;&amp;gt; can't address the irrationals or transcendentals anyway. We are &amp;nbsp;
&lt;br&gt;&amp;gt; aiming to support some classes of equation, but only with rational &amp;nbsp;
&lt;br&gt;&amp;gt; constants.
&lt;/div&gt;&lt;/div&gt;But why on earth would you cut down the value space at *all*? That &amp;nbsp;
&lt;br&gt;just cuts off any possibility of future extension!
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; If we want exactness for the rationals, we need either to allow &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; repeating (e.g., 0.333repeating) (usually done with a macron) or &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; fraction syntax (e.g., 1/3).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I don't intend to support exactness for rationals. A conformant &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; implementation should only be required to provide exact support for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:int` and `xsd:float` values.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't think that would fly.
&lt;br&gt;&lt;br&gt;Who is the vast army of users in need of support for exact rationals? &amp;nbsp;
&lt;br&gt;I strongly strongly suspect that if they really existed they would &amp;nbsp;
&lt;br&gt;have pushed on the XSchema folks to give them a lexical &amp;nbsp;
&lt;br&gt;representation---XML is kind of big as a data representation language, &amp;nbsp;
&lt;br&gt;you know.
&lt;br&gt;&lt;br&gt;&amp;gt; Also, perhaps I misrecall, but don't you want arbitrarily sized &amp;nbsp;
&lt;br&gt;&amp;gt; floats?
&lt;br&gt;&lt;br&gt;An `xsd:float` has a limited size, by definition.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;quot;&amp;quot;&amp;quot;For the restriction &amp;quot;forall R `xsd:float`&amp;quot; I simply bounded the &amp;nbsp;
&lt;br&gt;&amp;gt; real number line at the min and max values of floats. Still a dense, &amp;nbsp;
&lt;br&gt;&amp;gt; infinite number line, but with bounds. I hated this usage, however, &amp;nbsp;
&lt;br&gt;&amp;gt; and would prefer if it became illegal.&amp;quot;&amp;quot;&amp;quot;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So you did bound...but you &amp;quot;hate it&amp;quot;? Which, the bounds? the &amp;nbsp;
&lt;br&gt;&amp;gt; universal quantifier?
&lt;br&gt;&lt;br&gt;I hated that the user was saying `float` and I was interpreting it as &amp;nbsp;
&lt;br&gt;&amp;quot;real between `FLT_MIN` and `FLT_MAX`&amp;quot;. I hope OWL 2.0 allows only OWL &amp;nbsp;
&lt;br&gt;data domains in such a context. (But of course an individual value is &amp;nbsp;
&lt;br&gt;a valid data domain, and complex data domains could be built using &amp;nbsp;
&lt;br&gt;facets with individual values.)
&lt;br&gt;&lt;br&gt;-rob&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18308124/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18308124.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18307691</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T16:02:35Z</published>
	<updated>2008-07-06T16:02:35Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;On Jul 6, 2008, at 10:55 PM, Rob Shearer wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; XSD offers a lexical syntax for points that happen to lie on the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; real number line
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It offers several and we're free to define one for owl:real. If we &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; use any decimal notation, we have exactness problems (e.g., 1/3), &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; but decimal is very user friendly. So, I was thinking that the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; valid syntax for a real would be decimal floating points and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; ratios of integers. We could include scientific notation as well.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Why on earth would the OWL group come up with their own syntax for &amp;nbsp;
&lt;br&gt;&amp;gt; encoding numbers?
&lt;/div&gt;&lt;br&gt;I'm presuming we're sticking with the basic xsd framework. So types &amp;nbsp;
&lt;br&gt;have a lexical space and a values space. So, owl:real has a value &amp;nbsp;
&lt;br&gt;space of the reals. But what should the lexical space be? I'd propose &amp;nbsp;
&lt;br&gt;that at least the union of the xsd numeric types lexical spaces be &amp;nbsp;
&lt;br&gt;the lexical space for our new type. I would add additional syntax for &amp;nbsp;
&lt;br&gt;exact rationals (such as 1/3). The first part is isomorphic to your &amp;nbsp;
&lt;br&gt;proposal about xsd syntax, I believe.
&lt;br&gt;&lt;br&gt;&amp;gt; The XSchema guys have already done that, and people have &amp;nbsp;
&lt;br&gt;&amp;gt; implemented parsers for their spec. If there's going to be a syntax &amp;nbsp;
&lt;br&gt;&amp;gt; for rationals or algebraics, then that seems to be right up their &amp;nbsp;
&lt;br&gt;&amp;gt; alley.
&lt;br&gt;&lt;br&gt;They don't seem interested, alas.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; But my main point is that users have no interest in the &amp;quot;holes&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; introduced by the xsd:float value space: providing them access to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; a value space of numbers representable in float representation is &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; not useful, and could lead to lots of confusion, particularly if &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; users could easily use such a space &amp;quot;by accident&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Well, you'll get exactness holes with binary or decimal notation, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; regardless of density issues.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I thought I had made my proposal clear on this: the value space &amp;nbsp;
&lt;br&gt;&amp;gt; does not have holes.
&lt;/div&gt;&lt;br&gt;Sure.
&lt;br&gt;&lt;br&gt;&amp;gt; The representations supported for particular values are not &amp;nbsp;
&lt;br&gt;&amp;gt; sufficient to address all the points in that space, but the space &amp;nbsp;
&lt;br&gt;&amp;gt; itself does *not* have holes.
&lt;br&gt;&lt;br&gt;I just meant things that you can't write down 1/3 in decimal. That's &amp;nbsp;
&lt;br&gt;all.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I don't know what you mean by &amp;quot;lexical space of the reals&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; XSD datatypes have a lexical space (e.g., the syntax) and a value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; space. You are suggesting, I thought, that we adopt a value space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; that is the reals and something about using xsd syntax (i.e., &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; lexical spaces) for the syntax.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For the syntax of particular values. I keep trying to stress that &amp;nbsp;
&lt;br&gt;&amp;gt; values spaces should be kept separate from the syntax used for &amp;nbsp;
&lt;br&gt;&amp;gt; particular values.
&lt;/div&gt;&lt;br&gt;Sure. But that's true in XSD as well. From what I can tell, you want &amp;nbsp;
&lt;br&gt;all the literals that have &amp;quot;xsd:float&amp;quot; (to pick an example) to map to &amp;nbsp;
&lt;br&gt;(a subset) of the reals (as the value space) and constrain/enable &amp;nbsp;
&lt;br&gt;certain syntax. So &amp;quot;1.0&amp;quot;^^xsd:float would be a syntax error.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; XSD offers exact syntax only for binary and decimals (I believe &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; it's exact for binary). I was wondering what sort of lexical space &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; you want.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; XSD offers a well-defined mapping from lexical representation to &amp;nbsp;
&lt;br&gt;&amp;gt; IEEE floats.
&lt;br&gt;&lt;br&gt;Yes. I just hadn't checked the spec, hence my hesitation.
&lt;br&gt;&lt;br&gt;&amp;gt; XSD defines an *exact* value for each valid lexical representaion. &amp;nbsp;
&lt;br&gt;&amp;gt; You may not like the way the mapping is defined (because the value &amp;nbsp;
&lt;br&gt;&amp;gt; of &amp;quot;1.1e0^^xsd:float&amp;quot; on the real number line is not equal to the &amp;nbsp;
&lt;br&gt;&amp;gt; value of &amp;quot;1.1^^xsd:decimal&amp;quot;),
&lt;br&gt;&lt;br&gt;No that's fine.
&lt;br&gt;&lt;br&gt;&amp;gt; but there is no imprecision whatsoever about what each string &amp;nbsp;
&lt;br&gt;&amp;gt; represents.
&lt;br&gt;&lt;br&gt;You've got the wrong string. I only hedged because I hadn't looked &amp;nbsp;
&lt;br&gt;and I don't like to speak with certainy without looking. My point was &amp;nbsp;
&lt;br&gt;only that there are numbers which can not be exactly represented in &amp;nbsp;
&lt;br&gt;binary or in decimal.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I am satisfied with the work the XSchema group did on floating- 
&lt;br&gt;&amp;gt; point lexical representations.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; But implementations should allow users to specify particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; points in that value space using the lexical representations for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; `xsd:float` and `xsd:int` values.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So you want a very broad lexical space for our real type, i.e., &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;1&amp;quot;, &amp;quot;1.0&amp;quot;, &amp;nbsp;and &amp;quot;12.78e-2&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No. I want `real` to be a value space with no lexical connotations.
&lt;/div&gt;&lt;br&gt;I'd be surprised if we could get consensus on abandoning the lexical &amp;nbsp;
&lt;br&gt;space/value space language and understanding. It's pretty deeply &amp;nbsp;
&lt;br&gt;embedded into RDF.
&lt;br&gt;&lt;br&gt;&amp;gt; I want to be able to specify a particular point in this value space &amp;nbsp;
&lt;br&gt;&amp;gt; using a string such as &amp;quot;1.0e0^^xsd:float&amp;quot;.
&lt;br&gt;&lt;br&gt;Yeah, I'm kinda against that. But I would support &amp;quot;1.0e0^^owl:real&amp;quot;.
&lt;br&gt;&lt;br&gt;&amp;gt; The XSD lexical forms are not &amp;quot;the lexical space for reals&amp;quot;. There &amp;nbsp;
&lt;br&gt;&amp;gt; is no such thing as &amp;quot;the lexical space for reals&amp;quot;.
&lt;br&gt;&lt;br&gt;Bravo! ;)
&lt;br&gt;&lt;br&gt;&amp;gt; There is such a thing as &amp;quot;the space of lexical representations &amp;nbsp;
&lt;br&gt;&amp;gt; which a conformant implementation must support for particular &amp;nbsp;
&lt;br&gt;&amp;gt; values in the real value space&amp;quot;, but this space is much smaller &amp;nbsp;
&lt;br&gt;&amp;gt; than the real value space.
&lt;br&gt;&lt;br&gt;Our initial proposal for owl:real is to support for syntax, pairs of &amp;nbsp;
&lt;br&gt;integers with the second being non-zero (i.e., standard fraction &amp;nbsp;
&lt;br&gt;syntax for rationals) and (at least) the algebraic reals for the &amp;nbsp;
&lt;br&gt;value space. If you don't have equations or special constants, you &amp;nbsp;
&lt;br&gt;can't address the irrationals or transcendentals anyway. We are &amp;nbsp;
&lt;br&gt;aiming to support some classes of equation, but only with rational &amp;nbsp;
&lt;br&gt;constants.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; If we want exactness for the rationals, we need either to allow &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; repeating (e.g., 0.333repeating) (usually done with a macron) or &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; fraction syntax (e.g., 1/3).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't intend to support exactness for rationals. A conformant &amp;nbsp;
&lt;br&gt;&amp;gt; implementation should only be required to provide exact support for &amp;nbsp;
&lt;br&gt;&amp;gt; `xsd:int` and `xsd:float` values.
&lt;br&gt;&lt;br&gt;I don't think that would fly.
&lt;br&gt;&lt;br&gt;[snip]
&lt;br&gt;&amp;gt;&amp;gt; Given that more and more languages (e.g., Java) now bundle a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; decimal type with their core libraries, I'm not so clear on the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; first.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm not sure Java is an example of &amp;quot;more and more languages&amp;quot;. In &amp;nbsp;
&lt;br&gt;&amp;gt; fact it is the flagship &amp;quot;you only ever need one language&amp;quot; proposal.
&lt;br&gt;&lt;br&gt;I picked java because it didn't have it for a long time and now it &amp;nbsp;
&lt;br&gt;does. To pick another example, Python now has a bundled decimal &amp;nbsp;
&lt;br&gt;class. Both of these are quite recent additions to popular languages. &amp;nbsp;
&lt;br&gt;SQL supports it. &amp;nbsp;Visual Basic seems to.
&lt;br&gt;&lt;br&gt;&amp;gt; And even in super-OO Java you have to program differently if you're &amp;nbsp;
&lt;br&gt;&amp;gt; going to play with polymorphic numbers than you would if you stuck &amp;nbsp;
&lt;br&gt;&amp;gt; to ints and floats.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd like to write a distributed OWL reasoner in Erlang. But &amp;nbsp;
&lt;br&gt;&amp;gt; Javascript and C are perhaps more persuasive counterexamples to &amp;nbsp;
&lt;br&gt;&amp;gt; your argument.
&lt;br&gt;&lt;br&gt;Javascript is a bit odd in not supporting integers either :) There &amp;nbsp;
&lt;br&gt;are high quality decimal libraries for C++ (e.g., from IBM) and the &amp;nbsp;
&lt;br&gt;committee is considering decimal support (&amp;lt;&lt;a href=&quot;http://open-std.org/JTC1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://open-std.org/JTC1/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;SC22/WG21/&amp;gt;)
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I'd like to hear more about the second.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The most efficient bignum and decimal libraries are an order of &amp;nbsp;
&lt;br&gt;&amp;gt; magnitude slower than corresponding int and float calculations. &amp;nbsp;
&lt;br&gt;&amp;gt; Hardware is good with ints and floats.
&lt;br&gt;&lt;br&gt;Sure, but I wouldn't have thought that this would be a significant &amp;nbsp;
&lt;br&gt;factor. Obviously, if the user writes really big or really small &amp;nbsp;
&lt;br&gt;numbers, you have to deal with them anyway. If you only have user- 
&lt;br&gt;defined types (no equations), then the operation (and number there &amp;nbsp;
&lt;br&gt;of) is pretty limited (inclusion and cardinality testing). I'm a bit &amp;nbsp;
&lt;br&gt;skeptical that it makes a huge practical difference. Perhaps because &amp;nbsp;
&lt;br&gt;it doesn't come up too much.
&lt;br&gt;&lt;br&gt;Also, perhaps I misrecall, but don't you want arbitrarily sized floats?
&lt;br&gt;&lt;br&gt;&amp;quot;&amp;quot;&amp;quot;For the restriction &amp;quot;forall R `xsd:float`&amp;quot; I simply bounded the &amp;nbsp;
&lt;br&gt;real number line at the min and max values of floats. Still a dense, &amp;nbsp;
&lt;br&gt;infinite number line, but with bounds. I hated this usage, however, &amp;nbsp;
&lt;br&gt;and would prefer if it became illegal.&amp;quot;&amp;quot;&amp;quot;
&lt;br&gt;&lt;br&gt;So you did bound...but you &amp;quot;hate it&amp;quot;? Which, the bounds? the &amp;nbsp;
&lt;br&gt;universal quantifier?
&lt;br&gt;&lt;br&gt;Implementations could always throw a warning or error if they hit a &amp;nbsp;
&lt;br&gt;too large number.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---thus a vocabulary for what it means to &amp;quot;support&amp;quot; a numeric xsd &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type for particular values would be useful.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This is what we're after. Anything we spec will be tightly &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; specced. At the moment, we only have required and optional as &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; modalities of support. I think supporting various levels of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; precision &amp;nbsp;(or variant mapping) would be quite hard to understand.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But presumably you're making clear that implementations which &amp;nbsp;
&lt;br&gt;&amp;gt; implement some &amp;quot;optional&amp;quot; functionality, but do so in a way which &amp;nbsp;
&lt;br&gt;&amp;gt; contradicts the optional semantics, are non-compliant.
&lt;/div&gt;&lt;br&gt;That's always a problem with optional :(
&lt;br&gt;&lt;br&gt;&amp;gt; If so, then specifying what support for additional lexical &amp;nbsp;
&lt;br&gt;&amp;gt; representations means (i.e. exact) would make clear that a product &amp;nbsp;
&lt;br&gt;&amp;gt; which parsed `xsd:decimal` but internally converted to floating &amp;nbsp;
&lt;br&gt;&amp;gt; point would not &amp;quot;support `xsd:decimal`&amp;quot; by the terms of the OWL 2.0 &amp;nbsp;
&lt;br&gt;&amp;gt; spec.
&lt;br&gt;&lt;br&gt;They can convert as long as the observable behavior is the same.
&lt;br&gt;&lt;br&gt;&amp;gt; The implementors could always claim &amp;quot;partial support&amp;quot;, however.
&lt;br&gt;&lt;br&gt;If they are going to vary in observable ways, I would prefer that &amp;nbsp;
&lt;br&gt;they would make that clear in documentation and by giving warnings. A &amp;nbsp;
&lt;br&gt;&amp;quot;strict&amp;quot; mode would also be quite welcome to me as a user.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; One this model, users would just have to decide between integers &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; and reals. We could have quite a wide lexical space for reals (and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; even for integers, i.e., allow 1.0 to mean the integer 1).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm getting really confused what you're talking about---constants &amp;nbsp;
&lt;br&gt;&amp;gt; appearing in XML and RDF OWL 2.0 files should be typed; there's no &amp;nbsp;
&lt;br&gt;&amp;gt; need at all to guess the type based on syntax.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And of course &amp;quot;1.0e0^^xsd:float&amp;quot; and &amp;quot;1^^xsd:integer&amp;quot; are exactly &amp;nbsp;
&lt;br&gt;&amp;gt; the same point on the real number line.
&lt;/div&gt;&lt;br&gt;Sure.
&lt;br&gt;&lt;br&gt;But I was talking about owl:real. It seems reasonable to allow &amp;nbsp;
&lt;br&gt;&amp;quot;1.0e0^^owl:real:&amp;quot; and &amp;quot;1^^owl:real&amp;quot;. (xsd:integer could be a subtype &amp;nbsp;
&lt;br&gt;of owl:real as well).
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; But &amp;quot;0.1&amp;quot;^^xsd:float would not be required, but also we wouldn't &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; change the meaning along the lines you suggest (we'd just be &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; silent about it). It's fairly simple to migrate old ontologies to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the new one with a simple converter. If enough implementations did &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; it silently, that would be information for a future group.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No idea what this means. But I'm guessing I disagree with it.
&lt;br&gt;&lt;br&gt;Me too :)
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18307691.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18307115</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T14:55:36Z</published>
	<updated>2008-07-06T14:55:36Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; XSD offers a lexical syntax for points that happen to lie on the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; real number line
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It offers several and we're free to define one for owl:real. If we &amp;nbsp;
&lt;br&gt;&amp;gt; use any decimal notation, we have exactness problems (e.g., 1/3), &amp;nbsp;
&lt;br&gt;&amp;gt; but decimal is very user friendly. So, I was thinking that the valid &amp;nbsp;
&lt;br&gt;&amp;gt; syntax for a real would be decimal floating points and ratios of &amp;nbsp;
&lt;br&gt;&amp;gt; integers. We could include scientific notation as well.
&lt;br&gt;&lt;br&gt;Why on earth would the OWL group come up with their own syntax for &amp;nbsp;
&lt;br&gt;encoding numbers? The XSchema guys have already done that, and people &amp;nbsp;
&lt;br&gt;have implemented parsers for their spec. If there's going to be a &amp;nbsp;
&lt;br&gt;syntax for rationals or algebraics, then that seems to be right up &amp;nbsp;
&lt;br&gt;their alley.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; But my main point is that users have no interest in the &amp;quot;holes&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; introduced by the xsd:float value space: providing them access to a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; value space of numbers representable in float representation is not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; useful, and could lead to lots of confusion, particularly if users &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; could easily use such a space &amp;quot;by accident&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, you'll get exactness holes with binary or decimal notation, &amp;nbsp;
&lt;br&gt;&amp;gt; regardless of density issues.
&lt;br&gt;&lt;br&gt;I thought I had made my proposal clear on this: the value space does &amp;nbsp;
&lt;br&gt;not have holes. The representations supported for particular values &amp;nbsp;
&lt;br&gt;are not sufficient to address all the points in that space, but the &amp;nbsp;
&lt;br&gt;space itself does *not* have holes.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I don't know what you mean by &amp;quot;lexical space of the reals&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; XSD datatypes have a lexical space (e.g., the syntax) and a value &amp;nbsp;
&lt;br&gt;&amp;gt; space. You are suggesting, I thought, that we adopt a value space &amp;nbsp;
&lt;br&gt;&amp;gt; that is the reals and something about using xsd syntax (i.e., &amp;nbsp;
&lt;br&gt;&amp;gt; lexical spaces) for the syntax.
&lt;br&gt;&lt;br&gt;For the syntax of particular values. I keep trying to stress that &amp;nbsp;
&lt;br&gt;values spaces should be kept separate from the syntax used for &amp;nbsp;
&lt;br&gt;particular values.
&lt;br&gt;&lt;br&gt;&amp;gt; XSD offers exact syntax only for binary and decimals (I believe it's &amp;nbsp;
&lt;br&gt;&amp;gt; exact for binary). I was wondering what sort of lexical space you &amp;nbsp;
&lt;br&gt;&amp;gt; want.
&lt;br&gt;&lt;br&gt;XSD offers a well-defined mapping from lexical representation to IEEE &amp;nbsp;
&lt;br&gt;floats. XSD defines an *exact* value for each valid lexical &amp;nbsp;
&lt;br&gt;representaion. You may not like the way the mapping is defined &amp;nbsp;
&lt;br&gt;(because the value of &amp;quot;1.1e0^^xsd:float&amp;quot; on the real number line is &amp;nbsp;
&lt;br&gt;not equal to the value of &amp;quot;1.1^^xsd:decimal&amp;quot;), but there is no &amp;nbsp;
&lt;br&gt;imprecision whatsoever about what each string represents. I am &amp;nbsp;
&lt;br&gt;satisfied with the work the XSchema group did on floating-point &amp;nbsp;
&lt;br&gt;lexical representations.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; But implementations should allow users to specify particular points &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; in that value space using the lexical representations for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:float` and `xsd:int` values.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So you want a very broad lexical space for our real type, i.e., &amp;quot;1&amp;quot;, &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;quot;1.0&amp;quot;, &amp;nbsp;and &amp;quot;12.78e-2&amp;quot;.
&lt;br&gt;&lt;br&gt;No. I want `real` to be a value space with no lexical connotations.
&lt;br&gt;I want to be able to specify a particular point in this value space &amp;nbsp;
&lt;br&gt;using a string such as &amp;quot;1.0e0^^xsd:float&amp;quot;.
&lt;br&gt;The XSD lexical forms are not &amp;quot;the lexical space for reals&amp;quot;. There is &amp;nbsp;
&lt;br&gt;no such thing as &amp;quot;the lexical space for reals&amp;quot;. There is such a thing &amp;nbsp;
&lt;br&gt;as &amp;quot;the space of lexical representations which a conformant &amp;nbsp;
&lt;br&gt;implementation must support for particular values in the real value &amp;nbsp;
&lt;br&gt;space&amp;quot;, but this space is much smaller than the real value space.
&lt;br&gt;&lt;br&gt;&amp;gt; If we want exactness for the rationals, we need either to allow &amp;nbsp;
&lt;br&gt;&amp;gt; repeating (e.g., 0.333repeating) (usually done with a macron) or &amp;nbsp;
&lt;br&gt;&amp;gt; fraction syntax (e.g., 1/3).
&lt;br&gt;&lt;br&gt;I don't intend to support exactness for rationals. A conformant &amp;nbsp;
&lt;br&gt;implementation should only be required to provide exact support for &amp;nbsp;
&lt;br&gt;`xsd:int` and `xsd:float` values.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I expect most implementations will also support points represented &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; as `xsd:double` and `xsd:long` as well.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You mean their syntax, i.e., their lexical space.
&lt;br&gt;&lt;br&gt;Supporting these syntaxes means that reasoners must also support &amp;nbsp;
&lt;br&gt;reasoning with the particular values representable in those syntaxes. &amp;nbsp;
&lt;br&gt;Support for additional syntaxes does not change the underlying &amp;nbsp;
&lt;br&gt;semantics of the real number line, but it might make implementation of &amp;nbsp;
&lt;br&gt;those semantics a bit harder.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; (Sorry for using the XSD terminology, but I think it's a bit clearer &amp;nbsp;
&lt;br&gt;&amp;gt; if we stick to it for the moment.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I
&lt;br&gt;&amp;gt;&amp;gt; do *not* think a conformant implementations should have to deal &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; with arbitrary points represented as `xsd:decimal` (since the vast &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; majority of users don't need the extra representational power, and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; there is substantial implementation burden and performance penalty &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for dealing with such values correctly).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Given that more and more languages (e.g., Java) now bundle a decimal &amp;nbsp;
&lt;br&gt;&amp;gt; type with their core libraries, I'm not so clear on the first.
&lt;/div&gt;&lt;/div&gt;I'm not sure Java is an example of &amp;quot;more and more languages&amp;quot;. In fact &amp;nbsp;
&lt;br&gt;it is the flagship &amp;quot;you only ever need one language&amp;quot; proposal. And &amp;nbsp;
&lt;br&gt;even in super-OO Java you have to program differently if you're going &amp;nbsp;
&lt;br&gt;to play with polymorphic numbers than you would if you stuck to ints &amp;nbsp;
&lt;br&gt;and floats.
&lt;br&gt;&lt;br&gt;I'd like to write a distributed OWL reasoner in Erlang. But Javascript &amp;nbsp;
&lt;br&gt;and C are perhaps more persuasive counterexamples to your argument.
&lt;br&gt;&lt;br&gt;&amp;gt; I'd like to hear more about the second.
&lt;br&gt;&lt;br&gt;The most efficient bignum and decimal libraries are an order of &amp;nbsp;
&lt;br&gt;magnitude slower than corresponding int and float calculations. &amp;nbsp;
&lt;br&gt;Hardware is good with ints and floats.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; ---thus a vocabulary for what it means to &amp;quot;support&amp;quot; a numeric xsd &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; type for particular values would be useful.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is what we're after. Anything we spec will be tightly specced. &amp;nbsp;
&lt;br&gt;&amp;gt; At the moment, we only have required and optional as modalities of &amp;nbsp;
&lt;br&gt;&amp;gt; support. I think supporting various levels of precision &amp;nbsp;(or variant &amp;nbsp;
&lt;br&gt;&amp;gt; mapping) would be quite hard to understand.
&lt;br&gt;&lt;br&gt;But presumably you're making clear that implementations which &amp;nbsp;
&lt;br&gt;implement some &amp;quot;optional&amp;quot; functionality, but do so in a way which &amp;nbsp;
&lt;br&gt;contradicts the optional semantics, are non-compliant. If so, then &amp;nbsp;
&lt;br&gt;specifying what support for additional lexical representations means &amp;nbsp;
&lt;br&gt;(i.e. exact) would make clear that a product which parsed &amp;nbsp;
&lt;br&gt;`xsd:decimal` but internally converted to floating point would not &amp;nbsp;
&lt;br&gt;&amp;quot;support `xsd:decimal`&amp;quot; by the terms of the OWL 2.0 spec. The &amp;nbsp;
&lt;br&gt;implementors could always claim &amp;quot;partial support&amp;quot;, however.
&lt;br&gt;&lt;br&gt;&amp;gt; One this model, users would just have to decide between integers and &amp;nbsp;
&lt;br&gt;&amp;gt; reals. We could have quite a wide lexical space for reals (and even &amp;nbsp;
&lt;br&gt;&amp;gt; for integers, i.e., allow 1.0 to mean the integer 1).
&lt;br&gt;&lt;br&gt;I'm getting really confused what you're talking about---constants &amp;nbsp;
&lt;br&gt;appearing in XML and RDF OWL 2.0 files should be typed; there's no &amp;nbsp;
&lt;br&gt;need at all to guess the type based on syntax.
&lt;br&gt;&lt;br&gt;And of course &amp;quot;1.0e0^^xsd:float&amp;quot; and &amp;quot;1^^xsd:integer&amp;quot; are exactly the &amp;nbsp;
&lt;br&gt;same point on the real number line.
&lt;br&gt;&lt;br&gt;&amp;gt; But &amp;quot;0.1&amp;quot;^^xsd:float would not be required, but also we wouldn't &amp;nbsp;
&lt;br&gt;&amp;gt; change the meaning along the lines you suggest (we'd just be silent &amp;nbsp;
&lt;br&gt;&amp;gt; about it). It's fairly simple to migrate old ontologies to the new &amp;nbsp;
&lt;br&gt;&amp;gt; one with a simple converter. If enough implementations did it &amp;nbsp;
&lt;br&gt;&amp;gt; silently, that would be information for a future group.
&lt;br&gt;&lt;br&gt;No idea what this means. But I'm guessing I disagree with it.
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18307115/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18307115.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18306432</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T13:54:02Z</published>
	<updated>2008-07-06T13:54:02Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;On Jul 6, 2008, at 8:07 PM, Rob Shearer wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Most importantly, I do not think there is necessarily a direct &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; correlation between the lexical representations used to represent &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; particular values and the value spaces in which those particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; values live. I.e. users want to be able to specify particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; values within the `real` value space using `xsd:float`,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; You mean the type name or the lexical syntax (e.g., &amp;quot;12.78e-2&amp;quot;)?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; XSD offers a lexical syntax for points that happen to lie on the &amp;nbsp;
&lt;br&gt;&amp;gt; real number line
&lt;/div&gt;&lt;br&gt;It offers several and we're free to define one for owl:real. If we &amp;nbsp;
&lt;br&gt;use any decimal notation, we have exactness problems (e.g., 1/3), but &amp;nbsp;
&lt;br&gt;decimal is very user friendly. So, I was thinking that the valid &amp;nbsp;
&lt;br&gt;syntax for a real would be decimal floating points and ratios of &amp;nbsp;
&lt;br&gt;integers. We could include scientific notation as well.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; ---that's what I suggest using it for. The easiest approach is that &amp;nbsp;
&lt;br&gt;&amp;gt; xsd names on their own are not valid &amp;quot;datatypes&amp;quot;; particular values &amp;nbsp;
&lt;br&gt;&amp;gt; encoded using xsd, however, are (because particular values are &amp;nbsp;
&lt;br&gt;&amp;gt; single-element value spaces).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm personally more comfortable with allowing the latter than &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; pushing &amp;quot;xsd:float&amp;quot; as a synonym for the real value space. Your &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; milage obviously varies.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but they do *not* have any interest in use of the `xsd:float` &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value space.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Some do at least to the extent of wanting NaN (and perhaps -0). &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; I'd personally prefer not to shove them into the real type &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; (certainly NaN; I suppose we could make our reals the affine reals &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; and handle +inf).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd endorse including only one zero, but I agree there's an issue &amp;nbsp;
&lt;br&gt;&amp;gt; with NaN.
&lt;/div&gt;&lt;br&gt;And the infinities, though we could always go for the affine real line.
&lt;br&gt;&lt;br&gt;&amp;gt; My principled stand is that it's inconsistent (a value space of &amp;nbsp;
&lt;br&gt;&amp;gt; size zero), but I'd definitely want to analyze the use cases to see &amp;nbsp;
&lt;br&gt;&amp;gt; who loses important functionality from that decision.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But my main point is that users have no interest in the &amp;quot;holes&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; introduced by the xsd:float value space: providing them access to a &amp;nbsp;
&lt;br&gt;&amp;gt; value space of numbers representable in float representation is not &amp;nbsp;
&lt;br&gt;&amp;gt; useful, and could lead to lots of confusion, particularly if users &amp;nbsp;
&lt;br&gt;&amp;gt; could easily use such a space &amp;quot;by accident&amp;quot;.
&lt;br&gt;&lt;br&gt;Well, you'll get exactness holes with binary or decimal notation, &amp;nbsp;
&lt;br&gt;regardless of density issues.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; That's the situation we've fallen into with floats in OWL 1.0.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thus we've got two orthogonal concepts which happen to coincide &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for strings and integers but not for real numbers.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; My proposed solution would be to use brand-new OWL names for all &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value spaces, but use xsd syntax to specify particular values.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Could you say what you think the lexical space of the reals should &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; include?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't know what you mean by &amp;quot;lexical space of the reals&amp;quot;.
&lt;/div&gt;&lt;br&gt;XSD datatypes have a lexical space (e.g., the syntax) and a value &amp;nbsp;
&lt;br&gt;space. You are suggesting, I thought, that we adopt a value space &amp;nbsp;
&lt;br&gt;that is the reals and something about using xsd syntax (i.e., lexical &amp;nbsp;
&lt;br&gt;spaces) for the syntax. XSD offers exact syntax only for binary and &amp;nbsp;
&lt;br&gt;decimals (I believe it's exact for binary). I was wondering what sort &amp;nbsp;
&lt;br&gt;of lexical space you want.
&lt;br&gt;&lt;br&gt;&amp;gt; I don't propose defining the reals lexically;
&lt;br&gt;&lt;br&gt;Sure.
&lt;br&gt;&lt;br&gt;&amp;gt; I propose defining the value space mathematically.
&lt;br&gt;&lt;br&gt;Well, of course. But that's what XSD does as well. The decimals are a &amp;nbsp;
&lt;br&gt;well defined mathematical set.
&lt;br&gt;&lt;br&gt;&amp;gt; But implementations should allow users to specify particular points &amp;nbsp;
&lt;br&gt;&amp;gt; in that value space using the lexical representations for &amp;nbsp;
&lt;br&gt;&amp;gt; `xsd:float` and `xsd:int` values.
&lt;br&gt;&lt;br&gt;So you want a very broad lexical space for our real type, i.e., &amp;quot;1&amp;quot;, &amp;nbsp;
&lt;br&gt;&amp;quot;1.0&amp;quot;, &amp;nbsp;and &amp;quot;12.78e-2&amp;quot;. If we want exactness for the rationals, we &amp;nbsp;
&lt;br&gt;need either to allow repeating (e.g., 0.333repeating) (usually done &amp;nbsp;
&lt;br&gt;with a macron) or fraction syntax (e.g., 1/3).
&lt;br&gt;&lt;br&gt;&amp;gt; I expect most implementations will also support points represented &amp;nbsp;
&lt;br&gt;&amp;gt; as `xsd:double` and `xsd:long` as well.
&lt;br&gt;&lt;br&gt;You mean their syntax, i.e., their lexical space.
&lt;br&gt;&lt;br&gt;(Sorry for using the XSD terminology, but I think it's a bit clearer &amp;nbsp;
&lt;br&gt;if we stick to it for the moment.)
&lt;br&gt;&lt;br&gt;&amp;gt; I
&lt;br&gt;&amp;gt; do *not* think a conformant implementations should have to deal &amp;nbsp;
&lt;br&gt;&amp;gt; with arbitrary points represented as `xsd:decimal` (since the vast &amp;nbsp;
&lt;br&gt;&amp;gt; majority of users don't need the extra representational power, and &amp;nbsp;
&lt;br&gt;&amp;gt; there is substantial implementation burden and performance penalty &amp;nbsp;
&lt;br&gt;&amp;gt; for dealing with such values correctly).
&lt;br&gt;&lt;br&gt;Given that more and more languages (e.g., Java) now bundle a decimal &amp;nbsp;
&lt;br&gt;type with their core libraries, I'm not so clear on the first. I'd &amp;nbsp;
&lt;br&gt;like to hear more about the second.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; At least, as a first cut? (It seems decimal, scientific, and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; rational notation would all be useful, the first two for common &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; ways of writing and the third for full coverage of the rationals.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The WG should consider that some implementations might allow lots &amp;nbsp;
&lt;br&gt;&amp;gt; of xsd syntaxes but lose precision on some of them (allow use of &amp;nbsp;
&lt;br&gt;&amp;gt; `xsd:decimal` in ontology files for user convenience, but convert &amp;nbsp;
&lt;br&gt;&amp;gt; them to floats during parsing)
&lt;br&gt;&lt;br&gt;Obviously, this can cause quite serious interoperability problems. &amp;nbsp;
&lt;br&gt;Some I'm inclined against it on first blush.
&lt;br&gt;&lt;br&gt;&amp;gt; ---thus a vocabulary for what it means to &amp;quot;support&amp;quot; a numeric xsd &amp;nbsp;
&lt;br&gt;&amp;gt; type for particular values would be useful.
&lt;br&gt;&lt;br&gt;This is what we're after. Anything we spec will be tightly specced. &amp;nbsp;
&lt;br&gt;At the moment, we only have required and optional as modalities of &amp;nbsp;
&lt;br&gt;support. I think supporting various levels of precision &amp;nbsp;(or variant &amp;nbsp;
&lt;br&gt;mapping) would be quite hard to understand.
&lt;br&gt;&lt;br&gt;&amp;gt; My big concern here is that an ontology will be developed and &amp;nbsp;
&lt;br&gt;&amp;gt; tested with a reasoner with &amp;quot;full&amp;quot; `xsd:decimal` support but then &amp;nbsp;
&lt;br&gt;&amp;gt; when it's used with an implementation with &amp;quot;imprecise&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; `xsd:decimal` support everything goes pear-shaped.
&lt;br&gt;&lt;br&gt;That would be bad :) There could be subtler problems if people mapped &amp;nbsp;
&lt;br&gt;decimal syntax to binary in variant ways (i.e., which float do you &amp;nbsp;
&lt;br&gt;take 0.1 to?)
&lt;br&gt;&lt;br&gt;&amp;gt; Spitting out warnings during parsing isn't a great solution...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And of course some implementations might offer additional value &amp;nbsp;
&lt;br&gt;&amp;gt; spaces as well, but I'd like the spec to make it very clear that &amp;nbsp;
&lt;br&gt;&amp;gt; this is a very different thing than the above. For one thing, I'd &amp;nbsp;
&lt;br&gt;&amp;gt; suggest outlawing any use of names within the xsd namespace for &amp;nbsp;
&lt;br&gt;&amp;gt; value spaces, even spaces implementors have added as extensions. &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;quot;Support for `xsd:decimal`&amp;quot; should mean `xsd:decimal` syntax for &amp;nbsp;
&lt;br&gt;&amp;gt; points on the real number line and nothing else.\
&lt;br&gt;&lt;br&gt;This doesn't seem likely. Existing implementations already do &amp;nbsp;
&lt;br&gt;different things with different xsd types. It'll be very hard to get &amp;nbsp;
&lt;br&gt;buy in from the RDF community. It seems like a more likely strategy &amp;nbsp;
&lt;br&gt;is to fix a (required) set of OWL types (or core types) which are &amp;nbsp;
&lt;br&gt;easy to understand and robust with respect to intuitive behavior, and &amp;nbsp;
&lt;br&gt;leave the more specialized types for future people to standardize.
&lt;br&gt;&lt;br&gt;One this model, users would just have to decide between integers and &amp;nbsp;
&lt;br&gt;reals. We could have quite a wide lexical space for reals (and even &amp;nbsp;
&lt;br&gt;for integers, i.e., allow 1.0 to mean the integer 1). But &amp;nbsp;
&lt;br&gt;&amp;quot;0.1&amp;quot;^^xsd:float would not be required, but also we wouldn't change &amp;nbsp;
&lt;br&gt;the meaning along the lines you suggest (we'd just be silent about &amp;nbsp;
&lt;br&gt;it). It's fairly simple to migrate old ontologies to the new one with &amp;nbsp;
&lt;br&gt;a simple converter. If enough implementations did it silently, that &amp;nbsp;
&lt;br&gt;would be information for a future group.
&lt;br&gt;&lt;br&gt;Thanks again.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18306432.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18305709</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real   &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T12:17:17Z</published>
	<updated>2008-07-06T12:17:17Z</updated>
	<author>
		<name>Richard H. McCullough-3</name>
	</author>
	<content type="html">&lt;br&gt;FYI
&lt;br&gt;When I designed the mKR language, I purposely avoided placing any 
&lt;br&gt;constraints
&lt;br&gt;on the space,time,view specification of context. &amp;nbsp;This permits the user to 
&lt;br&gt;choose
&lt;br&gt;whatever level of detail is appropriate in a given situation. &amp;nbsp;The resulting 
&lt;br&gt;descriptions
&lt;br&gt;are always useful, and sometimes just plain fun!
&lt;br&gt;&lt;br&gt;Some of my specifications:
&lt;br&gt;&amp;nbsp; &amp;nbsp; space, time = here, now
&lt;br&gt;&amp;nbsp; &amp;nbsp; time = past, present, future
&lt;br&gt;&amp;nbsp; &amp;nbsp; time = yesterday, today
&lt;br&gt;&amp;nbsp; &amp;nbsp; space = my house, the store
&lt;br&gt;&amp;nbsp; &amp;nbsp; view = Aristotle, feminist
&lt;br&gt;&amp;nbsp; &amp;nbsp; view = RDF, OWL, mKR, CycL, Amazon, Google
&lt;br&gt;&lt;br&gt;Dick
&lt;br&gt;----- Original Message ----- 
&lt;br&gt;From: &amp;quot;Dave Peterson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;&amp;gt;
&lt;br&gt;To: &amp;quot;Michael Kay&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mike@...&lt;/a&gt;&amp;gt;; &amp;quot;'Alan Ruttenberg'&amp;quot; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;alanruttenberg@...&lt;/a&gt;&amp;gt;; &amp;quot;'Rob Shearer'&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rob.shearer@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Cc: &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-webont-comments@...&lt;/a&gt;&amp;gt;; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;public-owl-wg@...&lt;/a&gt;&amp;gt;; 
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www-xml-schema-comments@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Sent: Sunday, July 06, 2008 6:51 AM
&lt;br&gt;Subject: RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real &amp;lt;-&amp;gt; 
&lt;br&gt;float &amp;lt;-&amp;gt; double conundrum
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; At 10:13 AM +0100 2008-07-06, Michael Kay wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;I don't see that moments in time, segments of time, and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;repeating intervals make up a sensible datatype. &amp;nbsp;That's my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;particular problem with the idea.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;Well, one can certainly conceive of a generalization of these types that 
&lt;br&gt;&amp;gt;&amp;gt;is
&lt;br&gt;&amp;gt;&amp;gt;a three-dimensional space whose axes are the start instant (perhaps
&lt;br&gt;&amp;gt;&amp;gt;unknown), the duration (perhaps zero), and the interval between repeats
&lt;br&gt;&amp;gt;&amp;gt;(perhaps infinite). Alternatively, and perhaps more conveniently, you can
&lt;br&gt;&amp;gt;&amp;gt;think of it as a seven-dimensional space containing year, month, day, 
&lt;br&gt;&amp;gt;&amp;gt;hour,
&lt;br&gt;&amp;gt;&amp;gt;minute, second, and timezone-offset, allowing components at either end to 
&lt;br&gt;&amp;gt;&amp;gt;be
&lt;br&gt;&amp;gt;&amp;gt;omitted, where the absence of a high-order component indicates a repeating
&lt;br&gt;&amp;gt;&amp;gt;interval and the absence of a low-order component indicates a time span.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;E.g., how does one define order? &amp;nbsp;Is 14:00:00 less than or equal to 1997?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;You could define an ordering (if you wanted to) by filling in the gaps,
&lt;br&gt;&amp;gt;&amp;gt;treating 14:00:00 as say 0000-01-01T14:00:00 and 1997 as
&lt;br&gt;&amp;gt;&amp;gt;1997-01-01T00:00:00. Or you could say that the new primitive type is
&lt;br&gt;&amp;gt;&amp;gt;unordered, only the subtypes are ordered, as we do with the two duration
&lt;br&gt;&amp;gt;&amp;gt;subtypes.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;I'm curious how the simplification would be effected for QT.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;Difficult to do retrospectively, but with such a type, instead of XSLT
&lt;br&gt;&amp;gt;&amp;gt;defining three functions format-date, format-time, and format-dateTime, it
&lt;br&gt;&amp;gt;&amp;gt;could have defined a single function which would work perfectly well on 
&lt;br&gt;&amp;gt;&amp;gt;all
&lt;br&gt;&amp;gt;&amp;gt;eight types, as well as on other logically-consistent subtypes like
&lt;br&gt;&amp;gt;&amp;gt;gHourMinute.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Good ideas all. &amp;nbsp;Fodder for Schema 2.0, I'd say. &amp;nbsp;It takes time to
&lt;br&gt;&amp;gt; think these things out; equality didn't diverge from identity in 1.0
&lt;br&gt;&amp;gt; because we didn't have time to think out the ramifications. &amp;nbsp;Sigh--
&lt;br&gt;&amp;gt; even standards creation is a publish-or-perish world, and if a version
&lt;br&gt;&amp;gt; of the standard doesn't get out the door in a reasonable time, even
&lt;br&gt;&amp;gt; if the possible improvements haven't been thought out yet, the
&lt;br&gt;&amp;gt; creating standards group finds its resources gone and no standard
&lt;br&gt;&amp;gt; at all gets out.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; One does the best one can, and hopes one hasn't closed off too many
&lt;br&gt;&amp;gt; useful possibilities for the next round--or left things totally
&lt;br&gt;&amp;gt; screwed up by not closing up some loopholes that leave the standard
&lt;br&gt;&amp;gt; useless. &amp;nbsp;A fine balancing act.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (This, of course, is preaching to the choir WRT Mike Kay himself;
&lt;br&gt;&amp;gt; he's been involved in the production of at least several standards.)
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Dave Peterson
&lt;br&gt;&amp;gt; SGMLWorks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18305709&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;Dick McCullough
&lt;br&gt;&lt;a href=&quot;http://mKRmKE.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mKRmKE.org/&lt;/a&gt;&lt;br&gt;Ayn Rand do speak od mKR done;
&lt;br&gt;knowledge := man do identify od existent done;
&lt;br&gt;knowledge haspart proposition list;
&lt;br&gt;mKE do enhance od &amp;quot;Real Intelligence&amp;quot; done;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18305709.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18305463</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T12:07:28Z</published>
	<updated>2008-07-06T12:07:28Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; Most importantly, I do not think there is necessarily a direct &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; correlation between the lexical representations used to represent &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; particular values and the value spaces in which those particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; values live. I.e. users want to be able to specify particular &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; values within the `real` value space using `xsd:float`,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You mean the type name or the lexical syntax (e.g., &amp;quot;12.78e-2&amp;quot;)?
&lt;br&gt;&lt;br&gt;XSD offers a lexical syntax for points that happen to lie on the real &amp;nbsp;
&lt;br&gt;number line---that's what I suggest using it for. The easiest approach &amp;nbsp;
&lt;br&gt;is that xsd names on their own are not valid &amp;quot;datatypes&amp;quot;; particular &amp;nbsp;
&lt;br&gt;values encoded using xsd, however, are (because particular values are &amp;nbsp;
&lt;br&gt;single-element value spaces).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm personally more comfortable with allowing the latter than &amp;nbsp;
&lt;br&gt;&amp;gt; pushing &amp;quot;xsd:float&amp;quot; as a synonym for the real value space. Your &amp;nbsp;
&lt;br&gt;&amp;gt; milage obviously varies.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; but they do *not* have any interest in use of the `xsd:float` value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; space.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Some do at least to the extent of wanting NaN (and perhaps -0). I'd &amp;nbsp;
&lt;br&gt;&amp;gt; personally prefer not to shove them into the real type (certainly &amp;nbsp;
&lt;br&gt;&amp;gt; NaN; I suppose we could make our reals the affine reals and handle &amp;nbsp;
&lt;br&gt;&amp;gt; +inf).
&lt;/div&gt;&lt;/div&gt;I'd endorse including only one zero, but I agree there's an issue with &amp;nbsp;
&lt;br&gt;NaN. My principled stand is that it's inconsistent (a value space of &amp;nbsp;
&lt;br&gt;size zero), but I'd definitely want to analyze the use cases to see &amp;nbsp;
&lt;br&gt;who loses important functionality from that decision.
&lt;br&gt;&lt;br&gt;But my main point is that users have no interest in the &amp;quot;holes&amp;quot; &amp;nbsp;
&lt;br&gt;introduced by the xsd:float value space: providing them access to a &amp;nbsp;
&lt;br&gt;value space of numbers representable in float representation is not &amp;nbsp;
&lt;br&gt;useful, and could lead to lots of confusion, particularly if users &amp;nbsp;
&lt;br&gt;could easily use such a space &amp;quot;by accident&amp;quot;. That's the situation &amp;nbsp;
&lt;br&gt;we've fallen into with floats in OWL 1.0.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Thus we've got two orthogonal concepts which happen to coincide for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; strings and integers but not for real numbers.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; My proposed solution would be to use brand-new OWL names for all &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; value spaces, but use xsd syntax to specify particular values.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Could you say what you think the lexical space of the reals should &amp;nbsp;
&lt;br&gt;&amp;gt; include?
&lt;br&gt;&lt;br&gt;I don't know what you mean by &amp;quot;lexical space of the reals&amp;quot;. I don't &amp;nbsp;
&lt;br&gt;propose defining the reals lexically; I propose defining the value &amp;nbsp;
&lt;br&gt;space mathematically. But implementations should allow users to &amp;nbsp;
&lt;br&gt;specify particular points in that value space using the lexical &amp;nbsp;
&lt;br&gt;representations for `xsd:float` and `xsd:int` values. I expect most &amp;nbsp;
&lt;br&gt;implementations will also support points represented as `xsd:double` &amp;nbsp;
&lt;br&gt;and `xsd:long` as well. I do *not* think a conformant implementations &amp;nbsp;
&lt;br&gt;should have to deal with arbitrary points represented as `xsd:decimal` &amp;nbsp;
&lt;br&gt;(since the vast majority of users don't need the extra &amp;nbsp;
&lt;br&gt;representational power, and there is substantial implementation burden &amp;nbsp;
&lt;br&gt;and performance penalty for dealing with such values correctly).
&lt;br&gt;&lt;br&gt;&amp;gt; At least, as a first cut? (It seems decimal, scientific, and &amp;nbsp;
&lt;br&gt;&amp;gt; rational notation would all be useful, the first two for common ways &amp;nbsp;
&lt;br&gt;&amp;gt; of writing and the third for full coverage of the rationals.)
&lt;br&gt;&lt;br&gt;The WG should consider that some implementations might allow lots of &amp;nbsp;
&lt;br&gt;xsd syntaxes but lose precision on some of them (allow use of &amp;nbsp;
&lt;br&gt;`xsd:decimal` in ontology files for user convenience, but convert them &amp;nbsp;
&lt;br&gt;to floats during parsing)---thus a vocabulary for what it means to &amp;nbsp;
&lt;br&gt;&amp;quot;support&amp;quot; a numeric xsd type for particular values would be useful. My &amp;nbsp;
&lt;br&gt;big concern here is that an ontology will be developed and tested with &amp;nbsp;
&lt;br&gt;a reasoner with &amp;quot;full&amp;quot; `xsd:decimal` support but then when it's used &amp;nbsp;
&lt;br&gt;with an implementation with &amp;quot;imprecise&amp;quot; `xsd:decimal` support &amp;nbsp;
&lt;br&gt;everything goes pear-shaped. Spitting out warnings during parsing &amp;nbsp;
&lt;br&gt;isn't a great solution...
&lt;br&gt;&lt;br&gt;And of course some implementations might offer additional value spaces &amp;nbsp;
&lt;br&gt;as well, but I'd like the spec to make it very clear that this is a &amp;nbsp;
&lt;br&gt;very different thing than the above. For one thing, I'd suggest &amp;nbsp;
&lt;br&gt;outlawing any use of names within the xsd namespace for value spaces, &amp;nbsp;
&lt;br&gt;even spaces implementors have added as extensions. &amp;quot;Support for &amp;nbsp;
&lt;br&gt;`xsd:decimal`&amp;quot; should mean `xsd:decimal` syntax for points on the real &amp;nbsp;
&lt;br&gt;number line and nothing else.
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18305463/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18305463.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18304850</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T11:06:30Z</published>
	<updated>2008-07-06T11:06:30Z</updated>
	<author>
		<name>Bijan Parsia-3</name>
	</author>
	<content type="html">&lt;br&gt;On Jul 5, 2008, at 1:04 PM, Rob Shearer wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'm providing you with my experience: every user I've ever spoken &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to about this topic has wanted the real number line.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; They are used to using the xsd datatypes `float` and `double` to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; represent number values, so they use these without values in OWL &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to mean &amp;quot;some number&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Do they mean bounded numbers? (i.e. with min and max sizes?) Do &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; they distinguish between double and float? Do they care about &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; NaNs? (Alan's users care about the latter.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Whether it's &amp;quot;forall R &amp;gt; 1.0^^xsd:float&amp;quot; or &amp;quot;forall R `xsd:float`&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; they seem to intend a dense number line.
&lt;/div&gt;&lt;br&gt;So you had user defined restrictions on floats, interesting.
&lt;br&gt;&lt;br&gt;&amp;gt; In the first case `float` is just the easiest way to specify the &amp;nbsp;
&lt;br&gt;&amp;gt; value; in the second you can certainly argue that they should have &amp;nbsp;
&lt;br&gt;&amp;gt; used `decimal`...but that's a pointless argument because my &amp;nbsp;
&lt;br&gt;&amp;gt; reasoner didn't really support decimal.
&lt;br&gt;&lt;br&gt;That's interesting. I think part of what we need to is select a set &amp;nbsp;
&lt;br&gt;of sane datatypes to require. String, Integer, reals seem reasonable.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; My experience is that the use of xsd datatypes as value spaces in &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; OWL 1.0 causes users to write what they don't mean.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; For me, this would suggest removing them or enforcing them more &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; clearly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd suggest removing them.
&lt;br&gt;&lt;br&gt;That's where I'm heading too.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; My experience is that *every* ontology using `xsd:float` and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; `xsd:double` without values would be better off using &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; `xsd:decimal`, but that the user intent was &amp;quot;some real &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; number&amp;quot; (and I should note that I'm against requiring support for &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; `xsd:decimal` values).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Values? Or the datatype? In OWL 1, all these types were optional &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; and poorly speced and had no documentation whatsoever. Part of the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; goal here is to spec well and document clearly any types we require.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would like to use doubles internally to represent points on the &amp;nbsp;
&lt;br&gt;&amp;gt; real number line.
&lt;/div&gt;&lt;br&gt;For what lexical syntax?
&lt;br&gt;&lt;br&gt;&amp;gt; Some homogeneous mix of internal representations is a pain. And I &amp;nbsp;
&lt;br&gt;&amp;gt; seriously doubt that many users really care about the extra &amp;nbsp;
&lt;br&gt;&amp;gt; representation power of `decimal`. It makes sense as an optional &amp;nbsp;
&lt;br&gt;&amp;gt; feature reasoners can support, but it seems completely unnecessary &amp;nbsp;
&lt;br&gt;&amp;gt; to require it in the spec---it's exactly the sort of thing I'd put &amp;nbsp;
&lt;br&gt;&amp;gt; off implementing indefinitely under users asked for it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The reason `decimal` keeps coming up is just that it's dense.
&lt;br&gt;&lt;br&gt;That's true. But &amp;nbsp;there are several issues floating about, including &amp;nbsp;
&lt;br&gt;the possibility of interaction between floats and cardinality. It &amp;nbsp;
&lt;br&gt;seems to me that for most users, that will be a rare occurrence, even &amp;nbsp;
&lt;br&gt;accidently. It certainly requires ranges of floats (since it's &amp;nbsp;
&lt;br&gt;unlikely that the cardinalities required to cause a problem would be &amp;nbsp;
&lt;br&gt;feasible anyway). E.g., if we had unbounded binary numbers then such &amp;nbsp;
&lt;br&gt;floats would be no harder than integers.
&lt;br&gt;&lt;br&gt;&amp;gt; So are we using the xsd spec as an excuse to conflate density with &amp;nbsp;
&lt;br&gt;&amp;gt; complex internal representations?
&lt;br&gt;&lt;br&gt;I don't think so.
&lt;br&gt;&lt;br&gt;[snip]
&lt;br&gt;&amp;gt; Referring any user over to that spec to understand value spaces is &amp;nbsp;
&lt;br&gt;&amp;gt; obnoxious and counter-productive:
&lt;br&gt;&lt;br&gt;We definitely don't intend to do that, I hope. Part of our current &amp;nbsp;
&lt;br&gt;effort is to make sure we carefully document the types we require and/ 
&lt;br&gt;or sanction.
&lt;br&gt;&lt;br&gt;&amp;gt; even WG members seem to be having trouble grokking it. (And bravo &amp;nbsp;
&lt;br&gt;&amp;gt; to anyone making the pedantic point that a particular value is a &amp;nbsp;
&lt;br&gt;&amp;gt; degenerate value space.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I contend that OWL users only want a tiny tiny number of different &amp;nbsp;
&lt;br&gt;&amp;gt; value spaces to play with: integers, strings, and reals.
&lt;br&gt;&lt;br&gt;I certainly agree that these are key. I think the group agrees too. &amp;nbsp;
&lt;br&gt;The other types are something of a legacy.
&lt;br&gt;&lt;br&gt;&amp;gt; It is possible, however, they they will want a larger number of &amp;nbsp;
&lt;br&gt;&amp;gt; ways to lexically represent particular values within these three &amp;nbsp;
&lt;br&gt;&amp;gt; spaces.
&lt;br&gt;&lt;br&gt;This wouldn't surprise me at all.
&lt;br&gt;&lt;br&gt;&amp;gt; Most importantly, I do not think there is necessarily a direct &amp;nbsp;
&lt;br&gt;&amp;gt; correlation between the lexical representations used to represent &amp;nbsp;
&lt;br&gt;&amp;gt; particular values and the value spaces in which those particular &amp;nbsp;
&lt;br&gt;&amp;gt; values live. I.e. users want to be able to specify particular &amp;nbsp;
&lt;br&gt;&amp;gt; values within the `real` value space using `xsd:float`,
&lt;br&gt;&lt;br&gt;You mean the type name or the lexical syntax (e.g., &amp;quot;12.78e-2&amp;quot;)? I'm &amp;nbsp;
&lt;br&gt;personally more comfortable with allowing the latter than pushing &amp;nbsp;
&lt;br&gt;&amp;quot;xsd:float&amp;quot; as a synonym for the real value space. Your milage &amp;nbsp;
&lt;br&gt;obviously varies.
&lt;br&gt;&lt;br&gt;&amp;gt; but they do *not* have any interest in use of the `xsd:float` value &amp;nbsp;
&lt;br&gt;&amp;gt; space.
&lt;br&gt;&lt;br&gt;Some do at least to the extent of wanting NaN (and perhaps -0). I'd &amp;nbsp;
&lt;br&gt;personally prefer not to shove them into the real type (certainly &amp;nbsp;
&lt;br&gt;NaN; I suppose we could make our reals the affine reals and handle &amp;nbsp;
&lt;br&gt;+inf).
&lt;br&gt;&lt;br&gt;&amp;gt; Thus we've got two orthogonal concepts which happen to coincide for &amp;nbsp;
&lt;br&gt;&amp;gt; strings and integers but not for real numbers.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My proposed solution would be to use brand-new OWL names for all &amp;nbsp;
&lt;br&gt;&amp;gt; value spaces, but use xsd syntax to specify particular values.
&lt;br&gt;&lt;br&gt;Could you say what you think the lexical space of the reals should &amp;nbsp;
&lt;br&gt;include? At least, as a first cut? (It seems decimal, scientific, and &amp;nbsp;
&lt;br&gt;rational notation would all be useful, the first two for common ways &amp;nbsp;
&lt;br&gt;of writing and the third for full coverage of the rationals.)
&lt;br&gt;&lt;br&gt;[snipped lots of useful details]
&lt;br&gt;&lt;br&gt;Thanks very much for those. I find them extremely helpful.
&lt;br&gt;&lt;br&gt;&amp;gt; Thanks for the feedback.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt;&amp;gt; Bijan.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; And if you're going to request further comment from a member of the &amp;nbsp;
&lt;br&gt;&amp;gt; public, could you please do it on a list to which the public can &amp;nbsp;
&lt;br&gt;&amp;gt; post? Shifting back to the WG list excludes me from comment.
&lt;br&gt;&lt;br&gt;D'oh! Sorry. That was an accident. My apologies.
&lt;br&gt;&lt;br&gt;&amp;gt; (Which is fine if you don't address questions directly to me.)
&lt;br&gt;&lt;br&gt;Thanks again for the discussion.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Bijan.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18304850.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18302353</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real   &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T06:51:57Z</published>
	<updated>2008-07-06T06:51:57Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;At 10:13 AM +0100 2008-07-06, Michael Kay wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;I don't see that moments in time, segments of time, and
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;repeating intervals make up a sensible datatype. &amp;nbsp;That's my
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;particular problem with the idea. 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Well, one can certainly conceive of a generalization of these types that is
&lt;br&gt;&amp;gt;a three-dimensional space whose axes are the start instant (perhaps
&lt;br&gt;&amp;gt;unknown), the duration (perhaps zero), and the interval between repeats
&lt;br&gt;&amp;gt;(perhaps infinite). Alternatively, and perhaps more conveniently, you can
&lt;br&gt;&amp;gt;think of it as a seven-dimensional space containing year, month, day, hour,
&lt;br&gt;&amp;gt;minute, second, and timezone-offset, allowing components at either end to be
&lt;br&gt;&amp;gt;omitted, where the absence of a high-order component indicates a repeating
&lt;br&gt;&amp;gt;interval and the absence of a low-order component indicates a time span.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;E.g., how does one define order? &amp;nbsp;Is 14:00:00 less than or equal to 1997?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;You could define an ordering (if you wanted to) by filling in the gaps,
&lt;br&gt;&amp;gt;treating 14:00:00 as say 0000-01-01T14:00:00 and 1997 as
&lt;br&gt;&amp;gt;1997-01-01T00:00:00. Or you could say that the new primitive type is
&lt;br&gt;&amp;gt;unordered, only the subtypes are ordered, as we do with the two duration
&lt;br&gt;&amp;gt;subtypes.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;I'm curious how the simplification would be effected for QT.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Difficult to do retrospectively, but with such a type, instead of XSLT
&lt;br&gt;&amp;gt;defining three functions format-date, format-time, and format-dateTime, it
&lt;br&gt;&amp;gt;could have defined a single function which would work perfectly well on all
&lt;br&gt;&amp;gt;eight types, as well as on other logically-consistent subtypes like
&lt;br&gt;&amp;gt;gHourMinute.
&lt;/div&gt;&lt;br&gt;Good ideas all. &amp;nbsp;Fodder for Schema 2.0, I'd say. &amp;nbsp;It takes time to
&lt;br&gt;think these things out; equality didn't diverge from identity in 1.0
&lt;br&gt;because we didn't have time to think out the ramifications. &amp;nbsp;Sigh--
&lt;br&gt;even standards creation is a publish-or-perish world, and if a version
&lt;br&gt;of the standard doesn't get out the door in a reasonable time, even
&lt;br&gt;if the possible improvements haven't been thought out yet, the
&lt;br&gt;creating standards group finds its resources gone and no standard
&lt;br&gt;at all gets out.
&lt;br&gt;&lt;br&gt;One does the best one can, and hopes one hasn't closed off too many
&lt;br&gt;useful possibilities for the next round--or left things totally
&lt;br&gt;screwed up by not closing up some loopholes that leave the standard
&lt;br&gt;useless. &amp;nbsp;A fine balancing act.
&lt;br&gt;&lt;br&gt;(This, of course, is preaching to the choir WRT Mike Kay himself;
&lt;br&gt;he's been involved in the production of at least several standards.)
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;SGMLWorks!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18302353&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18302353.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18300157</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-06T02:13:35Z</published>
	<updated>2008-07-06T02:13:35Z</updated>
	<author>
		<name>Michael Kay</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I don't see that moments in time, segments of time, and 
&lt;br&gt;&amp;gt; repeating intervals make up a sensible datatype. &amp;nbsp;That's my 
&lt;br&gt;&amp;gt; particular problem with the idea. &amp;nbsp;
&lt;br&gt;&lt;br&gt;Well, one can certainly conceive of a generalization of these types that is
&lt;br&gt;a three-dimensional space whose axes are the start instant (perhaps
&lt;br&gt;unknown), the duration (perhaps zero), and the interval between repeats
&lt;br&gt;(perhaps infinite). Alternatively, and perhaps more conveniently, you can
&lt;br&gt;think of it as a seven-dimensional space containing year, month, day, hour,
&lt;br&gt;minute, second, and timezone-offset, allowing components at either end to be
&lt;br&gt;omitted, where the absence of a high-order component indicates a repeating
&lt;br&gt;interval and the absence of a low-order component indicates a time span.
&lt;br&gt;&lt;br&gt;E.g., how does one define order? &amp;nbsp;Is 14:00:00 less than or equal to 1997?
&lt;br&gt;&lt;br&gt;You could define an ordering (if you wanted to) by filling in the gaps,
&lt;br&gt;treating 14:00:00 as say 0000-01-01T14:00:00 and 1997 as
&lt;br&gt;1997-01-01T00:00:00. Or you could say that the new primitive type is
&lt;br&gt;unordered, only the subtypes are ordered, as we do with the two duration
&lt;br&gt;subtypes.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'm curious how the simplification would be effected for QT.
&lt;br&gt;&lt;br&gt;Difficult to do retrospectively, but with such a type, instead of XSLT
&lt;br&gt;defining three functions format-date, format-time, and format-dateTime, it
&lt;br&gt;could have defined a single function which would work perfectly well on all
&lt;br&gt;eight types, as well as on other logically-consistent subtypes like
&lt;br&gt;gHourMinute.
&lt;br&gt;&lt;br&gt;Michael Kay
&lt;br&gt;&lt;a href=&quot;http://www.saxonica.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.saxonica.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18300157.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18298544</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real   &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-05T20:31:26Z</published>
	<updated>2008-07-05T20:31:26Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;At 12:41 PM +0100 2008-07-05, Michael Kay wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;Since the types date, time, dateTime, gYear, gYearMonth, gMonth, gMonthDay,
&lt;br&gt;&amp;gt;and gDay are disjoint in both their value spaces and lexical spaces, I would
&lt;br&gt;&amp;gt;have thought it quite easy to define a primitive type that is essentially
&lt;br&gt;&amp;gt;the union of all of these (it might or might not be abstract), and derive
&lt;br&gt;&amp;gt;these 8 types from this new type by restriction. Where exactly is the
&lt;br&gt;&amp;gt;difficulty?
&lt;br&gt;&lt;br&gt;I don't see that moments in time, segments of time, and repeating
&lt;br&gt;intervals make up a sensible datatype. &amp;nbsp;That's my particular problem
&lt;br&gt;with the idea. &amp;nbsp;E.g., how does one define order? &amp;nbsp;Is 14:00:00 less
&lt;br&gt;than or equal to 1997?
&lt;br&gt;&lt;br&gt;However, it could be done, even if the value space seemed to contain
&lt;br&gt;apples and oranges, so to speak. &amp;nbsp;Just as the anySimpleType and
&lt;br&gt;anyAtomicType are artificially constructed datatypes. &amp;nbsp;Why hasn't
&lt;br&gt;it been suggested before?
&lt;br&gt;&lt;br&gt;I'm curious how the simplification would be effected for QT.
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18298544&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18298544.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18291699</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-05T05:04:57Z</published>
	<updated>2008-07-05T05:04:57Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; I'm providing you with my experience: every user I've ever spoken &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; to about this topic has wanted the real number line.
&lt;br&gt;&amp;gt;&amp;gt; They are used to using the xsd datatypes `float` and `double` to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; represent number values, so they use these without values in OWL to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; mean &amp;quot;some number&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do they mean bounded numbers? (i.e. with min and max sizes?) Do they &amp;nbsp;
&lt;br&gt;&amp;gt; distinguish between double and float? Do they care about NaNs? &amp;nbsp;
&lt;br&gt;&amp;gt; (Alan's users care about the latter.)
&lt;br&gt;&lt;br&gt;Whether it's &amp;quot;forall R &amp;gt; 1.0^^xsd:float&amp;quot; or &amp;quot;forall R `xsd:float`&amp;quot; &amp;nbsp;
&lt;br&gt;they seem to intend a dense number line. In the first case `float` is &amp;nbsp;
&lt;br&gt;just the easiest way to specify the value; in the second you can &amp;nbsp;
&lt;br&gt;certainly argue that they should have used `decimal`...but that's a &amp;nbsp;
&lt;br&gt;pointless argument because my reasoner didn't really support decimal.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; My experience is that the use of xsd datatypes as value spaces in &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; OWL 1.0 causes users to write what they don't mean.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For me, this would suggest removing them or enforcing them more &amp;nbsp;
&lt;br&gt;&amp;gt; clearly.
&lt;br&gt;&lt;br&gt;I'd suggest removing them.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; My experience is that *every* ontology using `xsd:float` and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:double` without values would be better off using &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:decimal`, but that the user intent was &amp;quot;some real number&amp;quot; (and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; I should note that I'm against requiring support for `xsd:decimal` &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; values).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Values? Or the datatype? In OWL 1, all these types were optional and &amp;nbsp;
&lt;br&gt;&amp;gt; poorly speced and had no documentation whatsoever. Part of the goal &amp;nbsp;
&lt;br&gt;&amp;gt; here is to spec well and document clearly any types we require.
&lt;br&gt;&lt;br&gt;I would like to use doubles internally to represent points on the real &amp;nbsp;
&lt;br&gt;number line. Some homogeneous mix of internal representations is a &amp;nbsp;
&lt;br&gt;pain. And I seriously doubt that many users really care about the &amp;nbsp;
&lt;br&gt;extra representation power of `decimal`. It makes sense as an optional &amp;nbsp;
&lt;br&gt;feature reasoners can support, but it seems completely unnecessary to &amp;nbsp;
&lt;br&gt;require it in the spec---it's exactly the sort of thing I'd put off &amp;nbsp;
&lt;br&gt;implementing indefinitely under users asked for it.
&lt;br&gt;&lt;br&gt;The reason `decimal` keeps coming up is just that it's dense. So are &amp;nbsp;
&lt;br&gt;we using the xsd spec as an excuse to conflate density with complex &amp;nbsp;
&lt;br&gt;internal representations?
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; And my expectation is that users would be much less confused if &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; this distinction between the types used for specific values and the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; types used for value spaces were clear.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't understand this distinction. Every datatype are used for a &amp;nbsp;
&lt;br&gt;&amp;gt; value space. Some value spaces are finite and some are infinite. &amp;nbsp;
&lt;br&gt;&amp;gt; Some are dense and some are not. etc. So, please clarify what you &amp;nbsp;
&lt;br&gt;&amp;gt; mean by this distinction.
&lt;br&gt;&lt;br&gt;A particular value is a point on the number line. XSD offers plenty of &amp;nbsp;
&lt;br&gt;different lexical representations for such points. I support using XSD &amp;nbsp;
&lt;br&gt;types to specify such points.
&lt;br&gt;&lt;br&gt;A &amp;quot;value space&amp;quot; (for numerics, at least) is a (possibly infinite) set &amp;nbsp;
&lt;br&gt;of points on the number line. Although each xsd type is associated &amp;nbsp;
&lt;br&gt;with some value space, I think xsd is a really really crap spec for &amp;nbsp;
&lt;br&gt;value spaces. The entire spec is oriented in terms of lexical &amp;nbsp;
&lt;br&gt;representation, not value spaces: the type hierarchy, for example, is &amp;nbsp;
&lt;br&gt;a hierarchy of lexical representations, not a hierarchy of value &amp;nbsp;
&lt;br&gt;spaces. Referring any user over to that spec to understand value &amp;nbsp;
&lt;br&gt;spaces is obnoxious and counter-productive: even WG members seem to be &amp;nbsp;
&lt;br&gt;having trouble grokking it. (And bravo to anyone making the pedantic &amp;nbsp;
&lt;br&gt;point that a particular value is a degenerate value space.)
&lt;br&gt;&lt;br&gt;I contend that OWL users only want a tiny tiny number of different &amp;nbsp;
&lt;br&gt;value spaces to play with: integers, strings, and reals.
&lt;br&gt;It is possible, however, they they will want a larger number of ways &amp;nbsp;
&lt;br&gt;to lexically represent particular values within these three spaces.
&lt;br&gt;Most importantly, I do not think there is necessarily a direct &amp;nbsp;
&lt;br&gt;correlation between the lexical representations used to represent &amp;nbsp;
&lt;br&gt;particular values and the value spaces in which those particular &amp;nbsp;
&lt;br&gt;values live. I.e. users want to be able to specify particular values &amp;nbsp;
&lt;br&gt;within the `real` value space using `xsd:float`, but they do *not* &amp;nbsp;
&lt;br&gt;have any interest in use of the `xsd:float` value space.
&lt;br&gt;&lt;br&gt;Thus we've got two orthogonal concepts which happen to coincide for &amp;nbsp;
&lt;br&gt;strings and integers but not for real numbers.
&lt;br&gt;&lt;br&gt;My proposed solution would be to use brand-new OWL names for all value &amp;nbsp;
&lt;br&gt;spaces, but use xsd syntax to specify particular values.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; To repeat: as an implementor, I did willfully implement semantics &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; contradictory to the spec,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The spec made all the types except string and integer optional, and &amp;nbsp;
&lt;br&gt;&amp;gt; didn't say much about them.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It's true that they did defer to the XSD spec, so perhaps you meant &amp;nbsp;
&lt;br&gt;&amp;gt; you violated that? Could you be specific in how you violated it? For &amp;nbsp;
&lt;br&gt;&amp;gt; example:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If an integer typed value appeared as the object of a float ranged &amp;nbsp;
&lt;br&gt;&amp;gt; property, was the KB inconsistent?
&lt;/div&gt;&lt;/div&gt;No---I made the integer number line a subset of the real number line.
&lt;br&gt;&lt;br&gt;&amp;gt; If a float typed value was outside the range of xsd:float and used &amp;nbsp;
&lt;br&gt;&amp;gt; in an assertion, was the KB inconsistent?
&lt;br&gt;&lt;br&gt;For the restriction &amp;quot;forall R `xsd:float`&amp;quot; I simply bounded the real &amp;nbsp;
&lt;br&gt;number line at the min and max values of floats. Still a dense, &amp;nbsp;
&lt;br&gt;infinite number line, but with bounds. I hated this usage, however, &amp;nbsp;
&lt;br&gt;and would prefer if it became illegal.
&lt;br&gt;&lt;br&gt;&amp;gt; If a float typed value was NaN (i'm not sure what the constant is &amp;nbsp;
&lt;br&gt;&amp;gt; there), was the KB consistent?
&lt;br&gt;&lt;br&gt;I don't entirely recall; I think NaN become either &amp;quot;any real&amp;quot; or &amp;quot;no &amp;nbsp;
&lt;br&gt;real&amp;quot;. Despite asking around a bit, I couldn't find any users who had &amp;nbsp;
&lt;br&gt;strong opinions on the topic, however.
&lt;br&gt;&lt;br&gt;&amp;gt; I presume from what you said having a min cardinality which was &amp;nbsp;
&lt;br&gt;&amp;gt; larger than the size of the floats on a float ranged property was &amp;nbsp;
&lt;br&gt;&amp;gt; consistent. But I'm skeptical that this ever occurred in the wild &amp;nbsp;
&lt;br&gt;&amp;gt; (in this way :))
&lt;br&gt;&lt;br&gt;Other than a little internal test in our suite to remind me of the &amp;nbsp;
&lt;br&gt;issue I also doubt that my use of the real number line instead of the &amp;nbsp;
&lt;br&gt;float number line ever arose.
&lt;br&gt;&lt;br&gt;&amp;gt; 	Did you have a user defined type derived from float that was fairly &amp;nbsp;
&lt;br&gt;&amp;gt; small in range (e.g., -1.0 to 1.0) that interacted with a &amp;nbsp;
&lt;br&gt;&amp;gt; cardinality restriction? Did you support user defined types?
&lt;br&gt;&lt;br&gt;We supported ranges, but I doubt any users wrote a range so small (and &amp;nbsp;
&lt;br&gt;a cardinality restriction so big) that the issue ever arose. The hard &amp;nbsp;
&lt;br&gt;data is that I never got any bug reports on the topic; the soft data &amp;nbsp;
&lt;br&gt;is that when I interrogated users about their intent they were &amp;nbsp;
&lt;br&gt;surprised by the notion that the set of floats was finite. (They &amp;nbsp;
&lt;br&gt;understood this in principle but had no intention of deriving &amp;nbsp;
&lt;br&gt;inconsistency as a result.)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; and I will do so again for OWL 2.0 if the spec is &amp;quot;broken&amp;quot; in the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; same way.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think we can take this as read for the moment :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; When I am working as a user, I generally, both in programming &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; languages and in kbs, am very careful about computational types &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and numerical methods. Its easy to find extensive discussions in &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; programming language circles about the pitfalls of floats. All &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; things being equal, it doesn't seem to be that difficult to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; recommend that they use a more suitable type such as decimal. &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Indeed, that is what's been happening as more and more programming &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; languages bundled in decimal types.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am also a very careful programmer, and am familiar the details of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the IEEE spec.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; All the good programmers I've ever worked with are aware of the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; basic problems with floats but almost always use them when they &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; mean &amp;quot;any real number&amp;quot; anyway.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But the systems don't respect that.
&lt;/div&gt;&lt;/div&gt;The systems respect their own semantics, and as a programmer I &amp;nbsp;
&lt;br&gt;determined that the needs I had for reals were served sufficiently &amp;nbsp;
&lt;br&gt;well by the language semantics for floats. And occasionally a tiny bit &amp;nbsp;
&lt;br&gt;of extra code (i.e. turning a few equality tests into distance tests).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Ye old Pascal used the name &amp;quot;real&amp;quot; for binary floats, but nobody &amp;nbsp;
&lt;br&gt;&amp;gt; would go for that today. People certainly think there are bounds, at &amp;nbsp;
&lt;br&gt;&amp;gt; least, and they are aware of the exactness problems.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The mental model I use, and that I encouraged among junior &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; programmers, was that floats were &amp;quot;real numbers, but assume that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; they wiggle around a little all the time&amp;quot;. Not technically correct, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; but a safe and useful mental model for programming.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For some programming. For lots, not (since the error ranges can go &amp;nbsp;
&lt;br&gt;&amp;gt; *really* wide unexpectedly). For lots of things this does matter &amp;nbsp;
&lt;br&gt;&amp;gt; quite a bit. For other things it doesn't.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The point being that density of the number line is *not* an issue &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; programmers encounter as a matter of course, and one for which &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; their natural intuition might well be wrong.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's true. Bounds and inexactness are more obvious because of the &amp;nbsp;
&lt;br&gt;&amp;gt; standard rounding action of float operations. But we aren't doing &amp;nbsp;
&lt;br&gt;&amp;gt; rounding here, we are (potentially) doing counting. I agree that &amp;nbsp;
&lt;br&gt;&amp;gt; people's intuitions are bad about counting, but I don't think it's &amp;nbsp;
&lt;br&gt;&amp;gt; that hard to grasp that floats are more like an enumeration of &amp;nbsp;
&lt;br&gt;&amp;gt; integers. It has to be explained of course.
&lt;/div&gt;&lt;/div&gt;To what end do we want to explain this? Help me finish this &amp;nbsp;
&lt;br&gt;conversation:
&lt;br&gt;&lt;br&gt;user: Why is this KB inconsistent?
&lt;br&gt;me: You've said that this needs to be a float, and there's this &amp;nbsp;
&lt;br&gt;cardinality restriction, and there are only so many floats.
&lt;br&gt;user: When I wrote float I just meant a number. Isn't that obvious?
&lt;br&gt;me: Well, yes, it is obvious, but it's possible you meant something &amp;nbsp;
&lt;br&gt;else, and the spec says...
&lt;br&gt;user: But if it's completely obvious what I meant, then why didn't the &amp;nbsp;
&lt;br&gt;system just do what I meant?
&lt;br&gt;me: ...
&lt;br&gt;&lt;br&gt;In almost all cases we know that the user doesn't mean what he wrote. &amp;nbsp;
&lt;br&gt;So why would we pass it through, produce a bug, and then try to teach &amp;nbsp;
&lt;br&gt;the user the crazy semantics she never actually wanted to begin with?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; No user ever intended to restrict the semantic space to a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; nowhere-dense number line. If the OWL spec presupposes that most &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; of our users would a prefer a number line which does not include &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1/3, my choice as an implementor would be to once again ignore &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the spec and be intentionally non-compliant.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; An alternative choice is to signal that a repair is required and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; perhaps do it.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I hereby signal that a repair to the OWL spec is required.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I meant repair of the ontology :)
&lt;/div&gt;&lt;/div&gt;I didn't support `xsd:decimal`.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; (Are we really pretending that everybody thought datatypes in OWL &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; 1.0 were fine and dandy?)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Not at all. We're trying to do a much better job here. The design &amp;nbsp;
&lt;br&gt;&amp;gt; choice we're faced with is whether to include floats at all (as &amp;nbsp;
&lt;br&gt;&amp;gt; required), and if so, exactly what to spec them as. We'll include an &amp;nbsp;
&lt;br&gt;&amp;gt; owl:real type (I hope) which will *really* be the reals, and perhaps &amp;nbsp;
&lt;br&gt;&amp;gt; require decimal as well. A lot of the time, programmers use floats &amp;nbsp;
&lt;br&gt;&amp;gt; for reals because there is no other choice (or they think &amp;nbsp;
&lt;br&gt;&amp;gt; computation performances is critical). We're in a somewhat different &amp;nbsp;
&lt;br&gt;&amp;gt; situation.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Clear education material is definitely needed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Doing what all my users want and expect in this case turns out &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; to be way way easier than doing what a broken spec would &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; require. Any working group who would produce such a spec would &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; clearly be putting their own interests (ease of spec authoring &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; and political considerations) above their duty to their intended &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; users.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I think your rhetoric flew ahead of reality here. It's not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; actually easier to spec this (as the ongoing battle has shown :)). &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; As you well know, it's much easier to give in to Boris than not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to :) I don't believe I'm particularly motivated by political &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; considerations per se. I do think that departing from existing &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; behavior (disjointness) and normal meaning (in computer science) &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; needs to be done carefully.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Let me expand upon my rhetoric:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 1. Users want a (dense) real number line.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Agreed. (But we have decimal and are going to offer real.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2. Users expect a (dense) real number line when they write &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `xsd:float` in OWL 1.0 ontologies.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unclear to me. Further, it's unclear to me whether we should respect &amp;nbsp;
&lt;br&gt;&amp;gt; that or work against it.
&lt;/div&gt;&lt;/div&gt;This is an easy point for the WG to establish. Grab a whole load of &amp;nbsp;
&lt;br&gt;OWL 1.0 ontologies that use `xsd:float` without values, track down the &amp;nbsp;
&lt;br&gt;authors, and ask them. Absence cajoling from the interrogator, I'm &amp;nbsp;
&lt;br&gt;willing to bet big money on the results.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; 3. OWL 1.0 implementations reason as though the `xsd:float` value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; space is dense.
&lt;br&gt;&amp;gt;&amp;gt; 4. The OWL 1.0 specifications state that the `xsd:float` value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; space is nowhere-dense.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; By reference to xsd, yes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; If you disagree about the first two points then it's certainly &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; worth discussion: Alan's [investigation](&lt;a href=&quot;http://lists.w3.org/Archives/Public/public-owl-wg/2008Jul/0103.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.w3.org/Archives/Public/public-owl-wg/2008Jul/0103.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; ) seems to support my experience on point 1.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; See above.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I have yet to see a single counter-example to point 2---and I've &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; asked many users what they meant when they wrote their datatype &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; restrictions.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Let me stipulate that for a minute. I trust you would contend this &amp;nbsp;
&lt;br&gt;&amp;gt; for programming languages too.
&lt;/div&gt;&lt;/div&gt;I don't contend that for programming languages at all. Programmers &amp;nbsp;
&lt;br&gt;understand that their data types require concrete representation, and &amp;nbsp;
&lt;br&gt;there is no reasonable concrete representation for all reals.
&lt;br&gt;&lt;br&gt;OWL does *not* need concrete representations to reason about data types.
&lt;br&gt;&lt;br&gt;&amp;gt; But programming languages don't silently substitute a dense value &amp;nbsp;
&lt;br&gt;&amp;gt; space for floats. I would contend that most people expect exact &amp;nbsp;
&lt;br&gt;&amp;gt; computations from their reals too, but again, programming languages &amp;nbsp;
&lt;br&gt;&amp;gt; don't do that (though, amazingly to me, calculator do! I did some &amp;nbsp;
&lt;br&gt;&amp;gt; testing last year and many even simple online calulators use reals &amp;nbsp;
&lt;br&gt;&amp;gt; internally so you can go from 1/3 * 3 and get 1 again.)
&lt;br&gt;&lt;br&gt;Double or nothing on the last bet that they don't use reals &amp;nbsp;
&lt;br&gt;internally. Rationals, maybe. Be clear: OWL can handle the real value &amp;nbsp;
&lt;br&gt;space. Standard programming languages cannot manipulate arbitrary reals.
&lt;br&gt;&lt;br&gt;&amp;gt; There are lots of features of OWL that aren't obvious to many users &amp;nbsp;
&lt;br&gt;&amp;gt; (the open world assumption, the unique name assumption). This isn't &amp;nbsp;
&lt;br&gt;&amp;gt; a reason to blithely ignore user instincts, of course. Far from it! &amp;nbsp;
&lt;br&gt;&amp;gt; But it is not immediate.
&lt;br&gt;&lt;br&gt;OWL includes OWA and discards UNA because its authors assume that most &amp;nbsp;
&lt;br&gt;of its users will benefit from these choices. In those cases user &amp;nbsp;
&lt;br&gt;needs and user expectations seem to be at odds, so hard choices need &amp;nbsp;
&lt;br&gt;to be made. If users both want and expect real numbers you'd be crazy &amp;nbsp;
&lt;br&gt;to do anything else.
&lt;br&gt;&lt;br&gt;[snip]
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (Note that this will likely be the algebraic reals and only &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rational constants. So, no transcendentals. I'd be interested in &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; your view on that. I can imagine adding the trans. but would &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; prefer to defer it until a later iteration.)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This getting ridiculous---so you're saying you think there is a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; substantial user base who need to be able to specify that a value &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; is the solution to some algebraic equation?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes. Remember that we are (considering) adding linear and perhaps &amp;nbsp;
&lt;br&gt;&amp;gt; polynomial inequations. This has been requested by users (including &amp;nbsp;
&lt;br&gt;&amp;gt; those working on commerical projects, see:
&lt;br&gt;&amp;gt; 	&lt;a href=&quot;http://www.w3.org/2007/OWL/wiki/N-ary_Data_predicate_use_case&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2007/OWL/wiki/N-ary_Data_predicate_use_case&lt;/a&gt;&lt;br&gt;&amp;gt; for some examples)
&lt;/div&gt;&lt;/div&gt;It would be crazy to make that stuff a core part of OWL.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; If we rule out the irrationals, then we have intuitively solvable &amp;nbsp;
&lt;br&gt;&amp;gt; equations which are not solvable in the rationals.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For writing down values, it seems that the rationals are enough for &amp;nbsp;
&lt;br&gt;&amp;gt; a wide range of cases where you are looking for a dense line. Until &amp;nbsp;
&lt;br&gt;&amp;gt; you expand the range of constants (usually with equations of some &amp;nbsp;
&lt;br&gt;&amp;gt; form) it's hard to see the utility to users of additional reals &amp;nbsp;
&lt;br&gt;&amp;gt; (e.g., the square root of two isn't really a constant, but a radical).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I have absolutely no idea what perspective the working group is &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; taking here---what implementor
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; RacerPro already has some form of linear inequations over the &amp;nbsp;
&lt;br&gt;&amp;gt; algebraic reals (and, I believe, the algebraic complex numbers). FaCT 
&lt;br&gt;&amp;gt; ++ and Pellet developers have indicated that they have interest in &amp;nbsp;
&lt;br&gt;&amp;gt; implementation. We have several classes of users (some of which are &amp;nbsp;
&lt;br&gt;&amp;gt; represented on the page above.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The working group does not yet have consensus on these features. It &amp;nbsp;
&lt;br&gt;&amp;gt; also does not have a complete design.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; or user has expressed interest in anything other than the real &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; number line???
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The algebraic reals just are the above (i.e., the solutions to &amp;nbsp;
&lt;br&gt;&amp;gt; polynomials with rational coefficients). The transcendental reals &amp;nbsp;
&lt;br&gt;&amp;gt; are still more. Without transcendental coefficents or constants, you &amp;nbsp;
&lt;br&gt;&amp;gt; can't &amp;quot;get&amp;quot; to them. So, practically speaking, it makes no &amp;nbsp;
&lt;br&gt;&amp;gt; difference to the consistency of any knowledge base whether we spec &amp;nbsp;
&lt;br&gt;&amp;gt; the type as being all reals or being algebraic reals.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I personally would like to separate them to make augmenting the &amp;nbsp;
&lt;br&gt;&amp;gt; lexical space a bit easier in the future. That is, if we're not &amp;nbsp;
&lt;br&gt;&amp;gt; going to have transcendental constants, I think it makes sense to &amp;nbsp;
&lt;br&gt;&amp;gt; *call* the type we're introducing something like &amp;quot;algebraic &amp;nbsp;
&lt;br&gt;&amp;gt; reals&amp;quot; (and even restrict the value space). That leaves it open for &amp;nbsp;
&lt;br&gt;&amp;gt; a future group to introduce the reals as a super type (both in the &amp;nbsp;
&lt;br&gt;&amp;gt; lexical and in the value spaces).
&lt;/div&gt;&lt;/div&gt;But why on earth do we need special value spaces for *any* of these &amp;nbsp;
&lt;br&gt;sets? Once again, what percentage of users is going to want to say &amp;nbsp;
&lt;br&gt;&amp;quot;number that can be expressed as some rational&amp;quot;? Surely all these &amp;nbsp;
&lt;br&gt;wacky numerics just provide more evidence than unadorned OWL &amp;nbsp;
&lt;br&gt;ontologies should just be referencing the entire real number line &amp;nbsp;
&lt;br&gt;instead of &amp;quot;accidentally&amp;quot; restricting it to some counter-intuitive &amp;nbsp;
&lt;br&gt;subset!
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Can you guys please just come up with a version of the [`numeric`](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#rf-numeric&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#rf-numeric&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; ) notion? Pretty please?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That's interesting and potentially helpful for some things (like &amp;nbsp;
&lt;br&gt;&amp;gt; spliting off the strings from the numbers in general), but I don't &amp;nbsp;
&lt;br&gt;&amp;gt; see it helps with our current situation.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I don't particularly care what each of these three is called; as &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; long as OWL specifies the internal semantics of these three &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; types of spaces, then it's straightforward to &amp;quot;implement&amp;quot; the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; datatypes users will actually want in terms of them. But, of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; course, the ability to use XML Schema Datatypes to encode &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; specific values within each of these spaces would be quite &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; convenient
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Do you mean the lexical spaces?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I mean the only time I explicitly want XML Schema is when my &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; implementation is parsing specific values provided by the user. If &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; you happen to re-use the XML Schema spec for other things that is &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for your own convenience, not mine.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So what is your position on user defined types? We reuse that from &amp;nbsp;
&lt;br&gt;&amp;gt; XSD too.
&lt;/div&gt;&lt;/div&gt;No use of XSD to specify value spaces at all. Only particular values.
&lt;br&gt;&lt;br&gt;&amp;gt; The core types, and even things like float, seem coherent from an &amp;nbsp;
&lt;br&gt;&amp;gt; OWL point of view (excepting certain facets and corner issues). That &amp;nbsp;
&lt;br&gt;&amp;gt; is, you can coherently reason over them.
&lt;br&gt;&lt;br&gt;The fact that a system is internally coherent is a pretty low bar. The &amp;nbsp;
&lt;br&gt;goal should be a semantic model which matches user needs and &amp;nbsp;
&lt;br&gt;expectations. Not always possible, but `float` and `rational` value &amp;nbsp;
&lt;br&gt;spaces seem to be headed in exactly the opposite direction.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---and would use the XML Schema specification for *exactly* what &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it's good at.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The additional question is whether to require additional types &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that are not the above three. Among these are float and double. My &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; belief is that if we are going to add such datatypes as required, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and we are going to take them from xsd, then they should reflect &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the semantics of those types and our advice to users is to only &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; use them if they specifically intend those semantics.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'd guess that using xsd names for value spaces will just (continue &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; to) confuse users.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Seems so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; More importantly, and yet again, I have never ever encountered a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; user who would prefer to use the `float` or `double` value spaces &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; if a `real` value space were available.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; But that suggests (to me) we not provide the float or double types.
&lt;/div&gt;&lt;/div&gt;For value spaces, I agree.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; If there are users who feel the other way, then please produce &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; them---merely hypothesizing their theoretical existence does not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; seem useful. (I grant that the class is satisfiable. I contend that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; its size is vanishingly small in practice.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Again, there are many aspects of the types, e.g., disjointness, &amp;nbsp;
&lt;br&gt;&amp;gt; size, NaN, lexical space, and discreteness. As far as I can tell, &amp;nbsp;
&lt;br&gt;&amp;gt; users have picked on several of these (while champions have claimed &amp;nbsp;
&lt;br&gt;&amp;gt; that some parts that other people have dismissed are critical).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That all being said, my personal concern with &amp;quot;getting floats right&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; involve future, hypothetical use. Which is a big fucking weakness of &amp;nbsp;
&lt;br&gt;&amp;gt; my position. But I would prefer not to require them at all than to &amp;nbsp;
&lt;br&gt;&amp;gt; require them with &amp;quot;wrong&amp;quot; semantics. I would prefer directing people &amp;nbsp;
&lt;br&gt;&amp;gt; who want a real type to the real type. I think that is generally &amp;nbsp;
&lt;br&gt;&amp;gt; better for a number of reasons, including education. It's rather odd &amp;nbsp;
&lt;br&gt;&amp;gt; to introduce primitive types with different names with no different &amp;nbsp;
&lt;br&gt;&amp;gt; semantics not even *intended* different semantics.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Oh, of course, one reason is if the lexical spaces are different. I &amp;nbsp;
&lt;br&gt;&amp;gt; don't have a problem giving the lexical space of our real a lot of &amp;nbsp;
&lt;br&gt;&amp;gt; lexical freedom (in the initial proposal we suggested a fraction &amp;nbsp;
&lt;br&gt;&amp;gt; like syntax, but we could add all sorts of variants; but you have to &amp;nbsp;
&lt;br&gt;&amp;gt; be careful because other syntaxes sometimes require infinite &amp;nbsp;
&lt;br&gt;&amp;gt; expansions).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The n-ary predicate definition system will, at most, be over the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; core three types above (e.g., polynomial or linear inequations &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; with rational coefficients over the reals ). However, one can &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; pretty easily imagine a predicate definition system that was &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; focused on the floats and was sensitive to the various semantics. &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It wouldn't have to be direct floating point based equations, but &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; an interval arithmetic system which was designed to help reason &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; about measurements and computations (and their errors).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I care not a whit for n-ary datatypes. I might implement them if &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; they're in the spec; I might not. But if the spec says you need to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; use n-ary datatypes to get real numbers,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; No no no. The real datatype will be available, simpliciter. It's use &amp;nbsp;
&lt;br&gt;&amp;gt; in n-ary is an *additional* motivation for it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and leaves the issues raised with the `float` value space in place,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I will ignore the spec and implement the real number line for unary &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; datatypes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With transcendentals? With what lexical space?
&lt;/div&gt;&lt;/div&gt;In theory, yes. My documentation will reference the whole real number &amp;nbsp;
&lt;br&gt;line. But my parser will probably only handle `xsd:float` and &amp;nbsp;
&lt;br&gt;`xsd:double` for values.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Just like I did for OWL 1.0. As a member of the public, that is my &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; feedback to the working group.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks! Please not that all this is not settled yet.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I grant entirely that that use case is quite speculative at the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; moment. But given that 1) we have alternatives for the &amp;quot;any &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; number&amp;quot; type and 2) cardinality reasoning with the floats is not &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; very much more difficult that with user defined finite ranges over &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the integers (except for the fact that users have to do much more &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; work to get there), I don't think we should muck with the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; semantics of floats.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I strongly disagree with 2.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Really? &amp;lt;&lt;a href=&quot;http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There's some special casing for various &amp;quot;odd&amp;quot; bits (NaN, etc.) but &amp;nbsp;
&lt;br&gt;&amp;gt; this shows that sizing float ranges can be reduced to sizing integer &amp;nbsp;
&lt;br&gt;&amp;gt; ranges. Thus, it's not fundamentally different.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I don't want my implementation to care about the difference between &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; `double` and `float`,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So you want them exactly identical?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and I consider any line of code I write involving the internals of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; float representation to be a wasted line of code, because my users &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; really don't care.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Much more importantly, it's my job to turn your spec into user- 
&lt;br&gt;&amp;gt;&amp;gt; facing documentation
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is my job too :) Both inside and outside the working group.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; and support, and there is not a chance in hell I'm going to explain &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; this issue to my users. They don't care, and they don't want the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; semantics you are describing. Experience with OWL 1.0 has &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; demonstrated this.
&lt;br&gt;&amp;gt; [snip]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Can you say exactly what the semantics are you want? I get that you &amp;nbsp;
&lt;br&gt;&amp;gt; want them dense (and think that I'm dense :)). But I'm unclear on:
&lt;br&gt;&amp;gt; 	disjointness (from each other and from decimal and its subtypes &amp;nbsp;
&lt;br&gt;&amp;gt; like integer)
&lt;/div&gt;&lt;/div&gt;You keep referring to the value spaces specified in xsd. I don't care &amp;nbsp;
&lt;br&gt;about those value spaces. I don't think they are relevant.
&lt;br&gt;&lt;br&gt;But integers should probably live on the same number line as the rest &amp;nbsp;
&lt;br&gt;of the reals.
&lt;br&gt;&lt;br&gt;&amp;gt; 	range
&lt;br&gt;&lt;br&gt;Infinite in both directions for the number line, but if particular &amp;nbsp;
&lt;br&gt;values can only be specified with xsd datatypes then users will only &amp;nbsp;
&lt;br&gt;be able to specify particular values within some range.
&lt;br&gt;For integers, I'd support limiting particular values to `xsd:long` &amp;nbsp;
&lt;br&gt;(and would consider a spec which only required `xsd:int` reasonable). &amp;nbsp;
&lt;br&gt;If you required support for any `xsd:Integer` I probably wouldn't &amp;nbsp;
&lt;br&gt;implement it unless there was great user demand.
&lt;br&gt;&lt;br&gt;&amp;gt; 	NaN like constants
&lt;br&gt;&lt;br&gt;I don't have a strong opinion; no contact with users who have NaN needs.
&lt;br&gt;&lt;br&gt;&amp;gt; Thanks for the feedback.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; Bijan.
&lt;br&gt;&lt;br&gt;And if you're going to request further comment from a member of the &amp;nbsp;
&lt;br&gt;public, could you please do it on a list to which the public can post? &amp;nbsp;
&lt;br&gt;Shifting back to the WG list excludes me from comment. (Which is fine &amp;nbsp;
&lt;br&gt;if you don't address questions directly to me.)
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18291699/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18291699.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18291517</id>
	<title>RE: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-05T04:41:59Z</published>
	<updated>2008-07-05T04:41:59Z</updated>
	<author>
		<name>Michael Kay</name>
	</author>
	<content type="html">&lt;br&gt;&amp;gt; &amp;gt;Similarly, there seems to be missing an underlying type for the date 
&lt;br&gt;&amp;gt; &amp;gt;types - although there is reference to timeOnTimeline, this 
&lt;br&gt;&amp;gt; value type 
&lt;br&gt;&amp;gt; &amp;gt;is not surfaced in the type hierarchy.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'd very much like to hear how you'd do this; unlike the 
&lt;br&gt;&amp;gt; number datatypes, where I could envisage how to pull them 
&lt;br&gt;&amp;gt; together, I can't envisage a reasonable way for all the d/t 
&lt;br&gt;&amp;gt; datatypes to be derived from a universal one. &amp;nbsp;And I did try.
&lt;br&gt;&lt;br&gt;Since the types date, time, dateTime, gYear, gYearMonth, gMonth, gMonthDay,
&lt;br&gt;and gDay are disjoint in both their value spaces and lexical spaces, I would
&lt;br&gt;have thought it quite easy to define a primitive type that is essentially
&lt;br&gt;the union of all of these (it might or might not be abstract), and derive
&lt;br&gt;these 8 types from this new type by restriction. Where exactly is the
&lt;br&gt;difficulty?
&lt;br&gt;&lt;br&gt;The QT operations on dates and times could be greatly simplified if this
&lt;br&gt;were done (well, perhaps not retrospectively...)
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; base64Binary and hexBinary are different because they use 
&lt;br&gt;&amp;gt; entirely different lexical mappings. &amp;nbsp;Different lexical 
&lt;br&gt;&amp;gt; mappings mean different datatypes.
&lt;br&gt;&lt;br&gt;This is certainly an unfortunate feature of the system. Clearly one would
&lt;br&gt;like all operations defined on one of these types to be equally applicable
&lt;br&gt;to the other. Having two different external representations of the values is
&lt;br&gt;really a very weak justification for making them different types. Of course
&lt;br&gt;it's too late to change this; but I'm sure it could have been done better. I
&lt;br&gt;would hope that if we introduced hexadecimal notation as an alternative
&lt;br&gt;lexical representation of integers we would find some way of doing it that
&lt;br&gt;didn't involve introducing a new primitive type.
&lt;br&gt;&lt;br&gt;Michael Kay
&lt;br&gt;&lt;a href=&quot;http://www.saxonica.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.saxonica.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18291517.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18291386</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-05T04:24:45Z</published>
	<updated>2008-07-05T04:24:45Z</updated>
	<author>
		<name>Alan Ruttenberg-2</name>
	</author>
	<content type="html">&lt;br&gt;On Jul 5, 2008, at 1:58 AM, Dave Peterson wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Towards the end of understanding the terminology, I've been trying &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; to understand what the value space of XML Schema means, given that &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; it doesn't mean what one would expect in a mathematical sense.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'll have to take exception to that. &amp;nbsp;I'm sure it doesn't mean what &amp;nbsp;
&lt;br&gt;&amp;gt; you
&lt;br&gt;&amp;gt; would expect in a mathematical sense. &amp;nbsp;But it does very definitely &amp;nbsp;
&lt;br&gt;&amp;gt; mean
&lt;br&gt;&amp;gt; what I would expect in a mathematical sense. &amp;nbsp;(Credentials: &amp;nbsp;Phd, U.C.
&lt;br&gt;&amp;gt; Berkeley, 1965, primarily in Analysis and Foundations of Mathematics;
&lt;br&gt;&amp;gt; Assistant Professor of Mathematics and Computer Science, and Associate
&lt;br&gt;&amp;gt; Professor of Mathematics at various times during my career.) &amp;nbsp;So &amp;nbsp;
&lt;br&gt;&amp;gt; please
&lt;br&gt;&amp;gt; don't generalize to an arbitrary &amp;quot;one&amp;quot; and imply that that's the only
&lt;br&gt;&amp;gt; possible reasonable expectation.
&lt;/div&gt;&lt;br&gt;I'm sorry for the overgeneralization and didn't mean to insult. It's &amp;nbsp;
&lt;br&gt;just that as much as I think about it, I can't understand the idea &amp;nbsp;
&lt;br&gt;that the value space of floats and the value space of decimal are &amp;nbsp;
&lt;br&gt;disjoint. Fundamentally these represent some of the same real numbers &amp;nbsp;
&lt;br&gt;and this isn't reflected in the spec. In addition, many numbers that &amp;nbsp;
&lt;br&gt;can be finitely expressed and be calculated with find no place in &amp;nbsp;
&lt;br&gt;*any* of the value spaces, e.g. 1/3. It is this sense of &amp;nbsp;
&lt;br&gt;&amp;quot;mathematical&amp;quot; that I was referring to.
&lt;br&gt;&lt;br&gt;I have looked at the functions and operators specification. I &amp;nbsp;
&lt;br&gt;understand how you come to your previous points about different &amp;nbsp;
&lt;br&gt;choice of equality, as the specification promotes decimal to float. &amp;nbsp;
&lt;br&gt;As a matter of clarity, I probably would have called the comparison &amp;nbsp;
&lt;br&gt;not &amp;quot;equality&amp;quot; but &amp;quot;equality as floats&amp;quot; and &amp;quot;equality as doubles&amp;quot;.
&lt;br&gt;&lt;br&gt;Considering the definition of equality, I would ask: Is that &amp;nbsp;
&lt;br&gt;something someone would do if they weren't constrained to use &amp;nbsp;
&lt;br&gt;floating point numbers? It is a perfectly reasonably thing to do if &amp;nbsp;
&lt;br&gt;you don't have have any more expressive numeric types, as it is a &amp;nbsp;
&lt;br&gt;perfectly reasonable thing to do to throw an exception when a &amp;nbsp;
&lt;br&gt;multiplication of integers exceeds the limit of the integer datatype. &amp;nbsp;
&lt;br&gt;However we now have libraries that support arbitrary precision &amp;nbsp;
&lt;br&gt;integer and rational numbers. Floats can be promoted to the latter &amp;nbsp;
&lt;br&gt;without loss of precision, as can decimal. Again, no addressing of &amp;nbsp;
&lt;br&gt;this in the spec, nor any theoretical justification of how it is even &amp;nbsp;
&lt;br&gt;possible to do an exact (sometimes) promotion of a decimal value to a &amp;nbsp;
&lt;br&gt;float value if their value spaces are disjoint. Maybe there's a way &amp;nbsp;
&lt;br&gt;to make sense of this. I'm trying.
&lt;br&gt;&lt;br&gt;To offer a concrete suggestion (I'll get to putting something into &amp;nbsp;
&lt;br&gt;the bug tracker...), and speaking to the possibility of harmonizing &amp;nbsp;
&lt;br&gt;the OWL specification and the XSD specification, something to &amp;nbsp;
&lt;br&gt;consider would be to add xsd:real and xsd:rational. This could at &amp;nbsp;
&lt;br&gt;least prevent the (strong) possibility of OWL defining those types &amp;nbsp;
&lt;br&gt;itself. Personally, I think it would be cleaner to have all the &amp;nbsp;
&lt;br&gt;numeric types handled in the XML Schema documents. &amp;nbsp;I realize that &amp;nbsp;
&lt;br&gt;this might be a bit of work, but at least that work would have &amp;nbsp;
&lt;br&gt;interested parties from both the OWL and XSD WGs.
&lt;br&gt;&lt;br&gt;I'd also consider reviewing the part of the spec that says:
&lt;br&gt;&amp;gt; Should a derivation be made using a derivation mechanism that &amp;nbsp;
&lt;br&gt;&amp;gt; removes ·lexical representations· from the·lexical space· to the &amp;nbsp;
&lt;br&gt;&amp;gt; extent that one or more values cease to have any ·lexical &amp;nbsp;
&lt;br&gt;&amp;gt; representation·, then those values are dropped from the ·value space·.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;I've still no understanding of why that is a desirable thing to do, &amp;nbsp;
&lt;br&gt;and we've discussed aspects that some might consider undesirable.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Similarly, there seems to be missing an underlying type for the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; date types - although there is reference to timeOnTimeline, this &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; value type is not surfaced in the type hierarchy.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd very much like to hear how you'd do this; unlike the number &amp;nbsp;
&lt;br&gt;&amp;gt; datatypes,
&lt;br&gt;&amp;gt; where I could envisage how to pull them together, I can't envisage a
&lt;br&gt;&amp;gt; reasonable way for all the d/t datatypes to be derived from a &amp;nbsp;
&lt;br&gt;&amp;gt; universal
&lt;br&gt;&amp;gt; one. &amp;nbsp;And I did try.
&lt;/div&gt;&lt;br&gt;I had in mind subtyping the dates into those with and those without a &amp;nbsp;
&lt;br&gt;timezone, and having each descend from a separate timeOnTimeline.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; One thought is that whether a correct interpretation is more along &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the lines of considering the value spaces as data structures.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm curious what you mean by &amp;quot;data structure&amp;quot; here. &amp;nbsp;Reading on, it &amp;nbsp;
&lt;br&gt;&amp;gt; sounds
&lt;br&gt;&amp;gt; like you mean various possible machine representations of the values.
&lt;br&gt;&amp;gt; Let me assure you that that's not what is meant by a value space. &amp;nbsp;In
&lt;br&gt;&amp;gt; fact, I can think of several extremely different-appearing &amp;nbsp;
&lt;br&gt;&amp;gt; representations
&lt;br&gt;&amp;gt; of, for example, the integers, that are nonetheless isomorphic. &amp;nbsp;They
&lt;br&gt;&amp;gt; are all potential machine representations of the values for the same
&lt;br&gt;&amp;gt; datatype. &amp;nbsp;XSD does not have anything to say about machine &amp;nbsp;
&lt;br&gt;&amp;gt; representations,
&lt;br&gt;&amp;gt; except to say that if an implementation has two different &amp;nbsp;
&lt;br&gt;&amp;gt; representations
&lt;br&gt;&amp;gt; of the same value, it is obligated to generally treat them the same.
&lt;/div&gt;&lt;br&gt;Again, it is trying to wrestle with the disjointness of float and &amp;nbsp;
&lt;br&gt;decimal value spaces that is leading me to look for some explanation. &amp;nbsp;
&lt;br&gt;While XSD does not explicitly speak about machine representation, &amp;nbsp;
&lt;br&gt;that does not mean that those concepts do not (overly) influence the &amp;nbsp;
&lt;br&gt;specification. To explain myself a bit further on this kind of &amp;nbsp;
&lt;br&gt;analysis - I spend a lot of time developing ontologies, and searching &amp;nbsp;
&lt;br&gt;for unspoken, but operant, knowledge and constraint and then exposing &amp;nbsp;
&lt;br&gt;it is a common aspect of this work.
&lt;br&gt;&lt;br&gt;What I specifically mean by data structure in this case was the &amp;nbsp;
&lt;br&gt;little data structure that is a floating point number, composed of &amp;nbsp;
&lt;br&gt;part: integer mantissa, integer exponent, sign bit, +some symbols &amp;nbsp;
&lt;br&gt;encodings. I compared that to integer which doesn't have these parts. &amp;nbsp;
&lt;br&gt;However decimal seems to necessarily be composed of different kinds &amp;nbsp;
&lt;br&gt;of parts.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Another thought is that the value spaces are another aspect of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; lexical expression. This would account well for there being a &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; difference between base64Binary and hexBinary, but not explain why &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; these are not pattern facet restrictions on string.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; base64Binary and hexBinary are different because they use entirely &amp;nbsp;
&lt;br&gt;&amp;gt; different
&lt;br&gt;&amp;gt; lexical mappings. &amp;nbsp;Different lexical mappings mean different &amp;nbsp;
&lt;br&gt;&amp;gt; datatypes.
&lt;br&gt;&lt;br&gt;But not disjoint value spaces.
&lt;br&gt;&lt;br&gt;&amp;gt; Except for our decision to paint the two value spaces different colors
&lt;br&gt;&amp;gt; so we can tell them apart,
&lt;br&gt;&lt;br&gt;Why would one want to tell them apart? Why not consider a single &amp;nbsp;
&lt;br&gt;lexical mapping that has a disjunction? More than one lexical can map &amp;nbsp;
&lt;br&gt;to the same float, more than one lexical representation of a bit &amp;nbsp;
&lt;br&gt;sequence can map to it.
&lt;br&gt;&lt;br&gt;&amp;gt; the value spaces of these two datatypes are
&lt;br&gt;&amp;gt; the same. &amp;nbsp;(In this case, I suspect that the obvious equality across
&lt;br&gt;&amp;gt; these two value spaces would not bother anyone. &amp;nbsp;But we weren't going
&lt;br&gt;&amp;gt; to do that for some obvious datatype pairs and not others.
&lt;br&gt;&lt;br&gt;It's the obviousness, and the spec's decision to not respect that &amp;nbsp;
&lt;br&gt;obviousness that is my concern.
&lt;br&gt;&lt;br&gt;&amp;gt; They are not pattern-facet restrictions on string for the same &amp;nbsp;
&lt;br&gt;&amp;gt; reason that
&lt;br&gt;&amp;gt; float and double are not pattern-facet restrictions on string. &amp;nbsp;The &amp;nbsp;
&lt;br&gt;&amp;gt; value
&lt;br&gt;&amp;gt; spaces are different. &amp;nbsp;String values are character strings; the &amp;nbsp;
&lt;br&gt;&amp;gt; xxxBinary
&lt;br&gt;&amp;gt; values are bit-strings. &amp;nbsp;Bits aren't characters.
&lt;br&gt;&lt;br&gt;Fair enough. My mistake.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Finally, I wonder if you have comments on a couple of other &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; aspects of datatypes that appear in XML schema. Specifically, data &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; types that are derived by list and time and date types. Clearly &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; such concepts or similar are relevant to OWL given work on, e.g. &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; workflow, or &amp;nbsp;in spatial reasoning. Where do they fit into your &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; view of OWL class space?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You both should definitely look up the latest Public Working Draft (a
&lt;br&gt;&amp;gt; Last Call draft) for XSD. &amp;nbsp;I think it might clear up some of the &amp;nbsp;
&lt;br&gt;&amp;gt; questions,
&lt;br&gt;&amp;gt; hopefully providing a better understanding or description of list
&lt;br&gt;&amp;gt; datatypes and date/time datatypes.
&lt;/div&gt;&lt;br&gt;Have been. Will be doing more.
&lt;br&gt;&lt;br&gt;-Alan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18291386.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18290576</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real &lt;-&gt; float &lt;-&gt; double conundrum</title>
	<published>2008-07-05T02:40:47Z</published>
	<updated>2008-07-05T02:40:47Z</updated>
	<author>
		<name>Rob Shearer-4</name>
	</author>
	<content type="html">&lt;div class='shrinkable-quote'&gt;&amp;gt;&amp;gt;&amp;gt; Putting aside the issue of whether or not it's possible to use &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (only) the XML Schema datatypes to represent meaningful and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; implementable OWL datatype value spaces, I expect that there is &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; consensus that when users were writing `xsd:float` and &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; `xsd:double` without values in OWL 1.0, what they really meant was &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;any number&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't know what users meant :) I would think that they should use &amp;nbsp;
&lt;br&gt;&amp;gt; xsd:decimal if that was their intend (or perhaps the new &amp;nbsp;
&lt;br&gt;&amp;gt; owl:rational/real).
&lt;/div&gt;&lt;br&gt;I'm providing you with my experience: every user I've ever spoken to &amp;nbsp;
&lt;br&gt;about this topic has wanted the real number line.
&lt;br&gt;They are used to using the xsd datatypes `float` and `double` to &amp;nbsp;
&lt;br&gt;represent number values, so they use these without values in OWL to &amp;nbsp;
&lt;br&gt;mean &amp;quot;some number&amp;quot;.
&lt;br&gt;&lt;br&gt;My experience is that the use of xsd datatypes as value spaces in OWL &amp;nbsp;
&lt;br&gt;1.0 causes users to write what they don't mean. My experience is that &amp;nbsp;
&lt;br&gt;*every* ontology using `xsd:float` and `xsd:double` without values &amp;nbsp;
&lt;br&gt;would be better off using `xsd:decimal`, but that the user intent was &amp;nbsp;
&lt;br&gt;&amp;quot;some real number&amp;quot; (and I should note that I'm against requiring &amp;nbsp;
&lt;br&gt;support for `xsd:decimal` values). And my expectation is that users &amp;nbsp;
&lt;br&gt;would be much less confused if this distinction between the types used &amp;nbsp;
&lt;br&gt;for specific values and the types used for value spaces were clear.
&lt;br&gt;&lt;br&gt;To repeat: as an implementor, I did willfully implement semantics &amp;nbsp;
&lt;br&gt;contradictory to the spec, and I will do so again for OWL 2.0 if the &amp;nbsp;
&lt;br&gt;spec is &amp;quot;broken&amp;quot; in the same way.
&lt;br&gt;&lt;br&gt;&amp;gt; When I am working as a user, I generally, both in programming &amp;nbsp;
&lt;br&gt;&amp;gt; languages and in kbs, am very careful about computational types and &amp;nbsp;
&lt;br&gt;&amp;gt; numerical methods. Its easy to find extensive discussions in &amp;nbsp;
&lt;br&gt;&amp;gt; programming language circles about the pitfalls of floats. All &amp;nbsp;
&lt;br&gt;&amp;gt; things being equal, it doesn't seem to be that difficult to &amp;nbsp;
&lt;br&gt;&amp;gt; recommend that they use a more suitable type such as decimal. &amp;nbsp;
&lt;br&gt;&amp;gt; Indeed, that is what's been happening as more and more programming &amp;nbsp;
&lt;br&gt;&amp;gt; languages bundled in decimal types.
&lt;br&gt;&lt;br&gt;I am also a very careful programmer, and am familiar the details of &amp;nbsp;
&lt;br&gt;the IEEE spec.
&lt;br&gt;&lt;br&gt;All the good programmers I've ever worked with are aware of the basic &amp;nbsp;
&lt;br&gt;problems with floats but almost always use them when they mean &amp;quot;any &amp;nbsp;
&lt;br&gt;real number&amp;quot; anyway. The mental model I use, and that I encouraged &amp;nbsp;
&lt;br&gt;among junior programmers, was that floats were &amp;quot;real numbers, but &amp;nbsp;
&lt;br&gt;assume that they wiggle around a little all the time&amp;quot;. Not technically &amp;nbsp;
&lt;br&gt;correct, but a safe and useful mental model for programming. The point &amp;nbsp;
&lt;br&gt;being that density of the number line is *not* an issue programmers &amp;nbsp;
&lt;br&gt;encounter as a matter of course, and one for which their natural &amp;nbsp;
&lt;br&gt;intuition might well be wrong.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; No user ever intended to restrict the semantic space to a nowhere- 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; dense number line. If the OWL spec presupposes that most of our &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; users would a prefer a number line which does not include 1/3, my &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; choice as an implementor would be to once again ignore the spec &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and be intentionally non-compliant.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; An alternative choice is to signal that a repair is required and &amp;nbsp;
&lt;br&gt;&amp;gt; perhaps do it.
&lt;br&gt;&lt;br&gt;I hereby signal that a repair to the OWL spec is required. (Are we &amp;nbsp;
&lt;br&gt;really pretending that everybody thought datatypes in OWL 1.0 were &amp;nbsp;
&lt;br&gt;fine and dandy?)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Doing what all my users want and expect in this case turns out to &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; be way way easier than doing what a broken spec would require. Any &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; working group who would produce such a spec would clearly be &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; putting their own interests (ease of spec authoring and political &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; considerations) above their duty to their intended users.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think your rhetoric flew ahead of reality here. It's not actually &amp;nbsp;
&lt;br&gt;&amp;gt; easier to spec this (as the ongoing battle has shown :)). As you &amp;nbsp;
&lt;br&gt;&amp;gt; well know, it's much easier to give in to Boris than not to :) I &amp;nbsp;
&lt;br&gt;&amp;gt; don't believe I'm particularly motivated by political considerations &amp;nbsp;
&lt;br&gt;&amp;gt; per se. I do think that departing from existing behavior &amp;nbsp;
&lt;br&gt;&amp;gt; (disjointness) and normal meaning (in computer science) needs to be &amp;nbsp;
&lt;br&gt;&amp;gt; done carefully.
&lt;/div&gt;&lt;/div&gt;Let me expand upon my rhetoric:
&lt;br&gt;&lt;br&gt;1. Users want a (dense) real number line.
&lt;br&gt;2. Users expect a (dense) real number line when they write `xsd:float` &amp;nbsp;
&lt;br&gt;in OWL 1.0 ontologies.
&lt;br&gt;3. OWL 1.0 implementations reason as though the `xsd:float` value &amp;nbsp;
&lt;br&gt;space is dense.
&lt;br&gt;4. The OWL 1.0 specifications state that the `xsd:float` value space &amp;nbsp;
&lt;br&gt;is nowhere-dense.
&lt;br&gt;&lt;br&gt;If you disagree about the first two points then it's certainly worth &amp;nbsp;
&lt;br&gt;discussion: Alan's [investigation](&lt;a href=&quot;http://lists.w3.org/Archives/Public/public-owl-wg/2008Jul/0103.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.w3.org/Archives/Public/public-owl-wg/2008Jul/0103.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;) seems to support my experience on point 1. I have yet to see a &amp;nbsp;
&lt;br&gt;single counter-example to point 2---and I've asked many users what &amp;nbsp;
&lt;br&gt;they meant when they wrote their datatype restrictions.
&lt;br&gt;&lt;br&gt;I admit I haven't done a comprehensive survey on point 3, but it's a &amp;nbsp;
&lt;br&gt;point of fact and not opinion so we should be able to gather evidence &amp;nbsp;
&lt;br&gt;one way or the other.
&lt;br&gt;&lt;br&gt;The crux of my rhetoric is that points 1--3 (if you accept them) &amp;nbsp;
&lt;br&gt;completely and utterly trump point 4. &amp;quot;Existing behavior&amp;quot; is *not* &amp;nbsp;
&lt;br&gt;what the OWL 1.0 spec says. It's what OWL users (implementors and &amp;nbsp;
&lt;br&gt;ontology authors) are doing.
&lt;br&gt;&lt;br&gt;&amp;gt; Given that some people have already asked for NaN support (of some &amp;nbsp;
&lt;br&gt;&amp;gt; form) and that one of the most championed use cases is managing &amp;nbsp;
&lt;br&gt;&amp;gt; scientific computation results, I don't think we can be too quick to &amp;nbsp;
&lt;br&gt;&amp;gt; alter things.
&lt;br&gt;&lt;br&gt;I agree that it's an issue, and as a member of the public I don't &amp;nbsp;
&lt;br&gt;intend to get mightily bogged down in details of the solution to be &amp;nbsp;
&lt;br&gt;chosen. I'd think that NaN occurs quite rarely, and that semantics &amp;nbsp;
&lt;br&gt;such as &amp;quot;any real&amp;quot; would suffice, but I don't have strong opinions on &amp;nbsp;
&lt;br&gt;the issue.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (Note that in the course of the discussion I read on public-owl-wg &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the notions of &amp;quot;dense&amp;quot; and &amp;quot;continuous&amp;quot; seem to have become &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; confused. I think the notion of density is probably the only one &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that makes a difference in terms of current OWL semantics, since &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; number restrictions can cause inconsistencies in non-dense number &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; lines, but continuity is really what users have in their heads.)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The [XML Schema datatype spec](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/&lt;/a&gt;) &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is focused on representing particular values, not on classes of &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; values. The notion of &amp;quot;value spaces&amp;quot; is used within the spec, but &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; only in service of representation of values
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm not sure what you mean. It seems clear that the spec is all &amp;nbsp;
&lt;br&gt;&amp;gt; about classes of values (i.e., types) and their relations.
&lt;/div&gt;&lt;/div&gt;I mean that the problems that spec is designed to solve involve &amp;nbsp;
&lt;br&gt;values, not sets of values. The most complex reasoning the XML Schema &amp;nbsp;
&lt;br&gt;people have in mind is model checking, not satisfiability and &amp;nbsp;
&lt;br&gt;consistency reasoning. Thus we can't necessarily expect their spec to &amp;nbsp;
&lt;br&gt;have addressed all the issues which arise in our quite different &amp;nbsp;
&lt;br&gt;context.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I strongly encourage the working group to publish a spec which &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; provides for the following types of semantic spaces:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1. A countably infinite, nowhere-dense datatype. I.e. the integers.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2. A countably infinite, dense datatype. I.e. strings.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3. An uncountably infinite, dense, continuous datatype. I.e. the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; reals.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; These are all on the agenda. The first two were in OWL1 and the &amp;nbsp;
&lt;br&gt;&amp;gt; third is being worked on as part of the n-ary data predicate &amp;nbsp;
&lt;br&gt;&amp;gt; proposal, but is separate from it (i.e., I believe it will be added &amp;nbsp;
&lt;br&gt;&amp;gt; regardless of the fate of n-ary).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; (Note that this will likely be the algebraic reals and only rational &amp;nbsp;
&lt;br&gt;&amp;gt; constants. So, no transcendentals. I'd be interested in your view on &amp;nbsp;
&lt;br&gt;&amp;gt; that. I can imagine adding the trans. but would prefer to defer it &amp;nbsp;
&lt;br&gt;&amp;gt; until a later iteration.)
&lt;/div&gt;&lt;/div&gt;This getting ridiculous---so you're saying you think there is a &amp;nbsp;
&lt;br&gt;substantial user base who need to be able to specify that a value is &amp;nbsp;
&lt;br&gt;the solution to some algebraic equation? I have absolutely no idea &amp;nbsp;
&lt;br&gt;what perspective the working group is taking here---what implementor &amp;nbsp;
&lt;br&gt;or user has expressed interest in anything other than the real number &amp;nbsp;
&lt;br&gt;line???
&lt;br&gt;&lt;br&gt;Can you guys please just come up with a version of the [`numeric`](&lt;a href=&quot;http://www.w3.org/TR/xmlschema-2/#rf-numeric&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/TR/xmlschema-2/#rf-numeric&lt;/a&gt;&amp;nbsp;
&lt;br&gt;) notion? Pretty please?
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I don't particularly care what each of these three is called; as &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; long as OWL specifies the internal semantics of these three types &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of spaces, then it's straightforward to &amp;quot;implement&amp;quot; the datatypes &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; users will actually want in terms of them. But, of course, the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ability to use XML Schema Datatypes to encode specific values &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; within each of these spaces would be quite convenient
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Do you mean the lexical spaces?
&lt;br&gt;&lt;br&gt;I mean the only time I explicitly want XML Schema is when my &amp;nbsp;
&lt;br&gt;implementation is parsing specific values provided by the user. If you &amp;nbsp;
&lt;br&gt;happen to re-use the XML Schema spec for other things that is for your &amp;nbsp;
&lt;br&gt;own convenience, not mine.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---and would use the XML Schema specification for *exactly* what &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; it's good at.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The additional question is whether to require additional types that &amp;nbsp;
&lt;br&gt;&amp;gt; are not the above three. Among these are float and double. My belief &amp;nbsp;
&lt;br&gt;&amp;gt; is that if we are going to add such datatypes as required, and we &amp;nbsp;
&lt;br&gt;&amp;gt; are going to take them from xsd, then they should reflect the &amp;nbsp;
&lt;br&gt;&amp;gt; semantics of those types and our advice to users is to only use them &amp;nbsp;
&lt;br&gt;&amp;gt; if they specifically intend those semantics.
&lt;br&gt;&lt;br&gt;I'd guess that using xsd names for value spaces will just (continue &amp;nbsp;
&lt;br&gt;to) confuse users.
&lt;br&gt;More importantly, and yet again, I have never ever encountered a user &amp;nbsp;
&lt;br&gt;who would prefer to use the `float` or `double` value spaces if a &amp;nbsp;
&lt;br&gt;`real` value space were available. If there are users who feel the &amp;nbsp;
&lt;br&gt;other way, then please produce them---merely hypothesizing their &amp;nbsp;
&lt;br&gt;theoretical existence does not seem useful. (I grant that the class is &amp;nbsp;
&lt;br&gt;satisfiable. I contend that its size is vanishingly small in practice.)
&lt;br&gt;&lt;br&gt;&amp;gt; The n-ary predicate definition system will, at most, be over the &amp;nbsp;
&lt;br&gt;&amp;gt; core three types above (e.g., polynomial or linear inequations with &amp;nbsp;
&lt;br&gt;&amp;gt; rational coefficients over the reals ). However, one can pretty &amp;nbsp;
&lt;br&gt;&amp;gt; easily imagine a predicate definition system that was focused on the &amp;nbsp;
&lt;br&gt;&amp;gt; floats and was sensitive to the various semantics. It wouldn't have &amp;nbsp;
&lt;br&gt;&amp;gt; to be direct floating point based equations, but an interval &amp;nbsp;
&lt;br&gt;&amp;gt; arithmetic system which was designed to help reason about &amp;nbsp;
&lt;br&gt;&amp;gt; measurements and computations (and their errors).
&lt;br&gt;&lt;br&gt;I care not a whit for n-ary datatypes. I might implement them if &amp;nbsp;
&lt;br&gt;they're in the spec; I might not. But if the spec says you need to use &amp;nbsp;
&lt;br&gt;n-ary datatypes to get real numbers, and leaves the issues raised with &amp;nbsp;
&lt;br&gt;the `float` value space in place, I will ignore the spec and implement &amp;nbsp;
&lt;br&gt;the real number line for unary datatypes. Just like I did for OWL 1.0. &amp;nbsp;
&lt;br&gt;As a member of the public, that is my feedback to the working group.
&lt;br&gt;&lt;br&gt;&amp;gt; I grant entirely that that use case is quite speculative at the &amp;nbsp;
&lt;br&gt;&amp;gt; moment. But given that 1) we have alternatives for the &amp;quot;any number&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; type and 2) cardinality reasoning with the floats is not very much &amp;nbsp;
&lt;br&gt;&amp;gt; more difficult that with user defined finite ranges over the &amp;nbsp;
&lt;br&gt;&amp;gt; integers (except for the fact that users have to do much more work &amp;nbsp;
&lt;br&gt;&amp;gt; to get there), I don't think we should muck with the semantics of &amp;nbsp;
&lt;br&gt;&amp;gt; floats.
&lt;br&gt;&lt;br&gt;I strongly disagree with 2. I don't want my implementation to care &amp;nbsp;
&lt;br&gt;about the difference between `double` and `float`, and I consider any &amp;nbsp;
&lt;br&gt;line of code I write involving the internals of float representation &amp;nbsp;
&lt;br&gt;to be a wasted line of code, because my users really don't care.
&lt;br&gt;&lt;br&gt;Much more importantly, it's my job to turn your spec into user-facing &amp;nbsp;
&lt;br&gt;documentation and support, and there is not a chance in hell I'm going &amp;nbsp;
&lt;br&gt;to explain this issue to my users. They don't care, and they don't &amp;nbsp;
&lt;br&gt;want the semantics you are describing. Experience with OWL 1.0 has &amp;nbsp;
&lt;br&gt;demonstrated this.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Your feedback and insight are, as always, appreciated. I hope you &amp;nbsp;
&lt;br&gt;&amp;gt; see that my position doesn't *quite* fall into the error you are &amp;nbsp;
&lt;br&gt;&amp;gt; rightly concerned with. There's still the problem of educating &amp;nbsp;
&lt;br&gt;&amp;gt; people about float and double, but that is a problem of long &amp;nbsp;
&lt;br&gt;&amp;gt; standing :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'll also admit up front that I *like* float and double as they are. &amp;nbsp;
&lt;br&gt;&amp;gt; I think that IEEE binary floating point is a amazingly clever thing. &amp;nbsp;
&lt;br&gt;&amp;gt; But then, I've always worked in programming languages that had &amp;nbsp;
&lt;br&gt;&amp;gt; bigints and fractions available, so been spoiled for choice :)
&lt;/div&gt;&lt;/div&gt;I'm a big fan of balanced ternary. But I don't intend to implement &amp;nbsp;
&lt;br&gt;that, either.
&lt;br&gt;&lt;br&gt;-rob
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;smime.p7s&lt;/strong&gt; (3K) &lt;a href=&quot;http://old.nabble.com/attachment/18290576/0/smime.p7s&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18290576.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18289313</id>
	<title>Re: ISSUE-126 (Revisit Datatypes): A new proposal for the real  &lt;-&gt;  float &lt;-&gt; double conundrum</title>
	<published>2008-07-04T22:58:47Z</published>
	<updated>2008-07-04T22:58:47Z</updated>
	<author>
		<name>Dave Peterson-6</name>
	</author>
	<content type="html">&lt;br&gt;[Since this discussion is going to other lists, let me explain that I'm
&lt;br&gt;a member of the Schema WG, and I work primarily on datatypes. &amp;nbsp;Although
&lt;br&gt;this message was directed from Alan Ruttenberg to Rob Shearer, I'm
&lt;br&gt;going to inject comments since it went to the general WG lists as
&lt;br&gt;well.]
&lt;br&gt;&lt;br&gt;At 4:56 PM -0400 2008-07-04, Alan Ruttenberg wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Thanks for your comments Rob. It occurs to me that both the XML 
&lt;br&gt;&amp;gt;Schema and the OWL working groups are in progress, that this is an 
&lt;br&gt;&amp;gt;issue that touches both groups, that having the specifications be 
&lt;br&gt;&amp;gt;able to be read in conjunction without confusion as to their 
&lt;br&gt;&amp;gt;relationship would be beneficial to overall efforts of the W3C 
&lt;br&gt;&amp;gt;towards harmonization and the implementors and users of those 
&lt;br&gt;&amp;gt;specifications.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Perhaps we can take advantage of the felicitous timing to ensure 
&lt;br&gt;&amp;gt;that our respective specifications are consistent with each other by 
&lt;br&gt;&amp;gt;ensuring that terms are used in the same way, if necessary adding 
&lt;br&gt;&amp;gt;clarification, and by attempting to have any additional datatype 
&lt;br&gt;&amp;gt;concepts needed for a good OWL specification be incorporated into 
&lt;br&gt;&amp;gt;the XML Schema specification.
&lt;/div&gt;&lt;br&gt;I'll leave comments on this aspect to others who are more up on precise
&lt;br&gt;development/publication schedules.
&lt;br&gt;&lt;br&gt;&amp;gt;Towards the end of understanding the terminology, I've been trying 
&lt;br&gt;&amp;gt;to understand what the value space of XML Schema means, given that 
&lt;br&gt;&amp;gt;it doesn't mean what one would expect in a mathematical sense.
&lt;br&gt;&lt;br&gt;I'll have to take exception to that. &amp;nbsp;I'm sure it doesn't mean what you
&lt;br&gt;would expect in a mathematical sense. &amp;nbsp;But it does very definitely mean
&lt;br&gt;what I would expect in a mathematical sense. &amp;nbsp;(Credentials: &amp;nbsp;Phd, U.C.
&lt;br&gt;Berkeley, 1965, primarily in Analysis and Foundations of Mathematics;
&lt;br&gt;Assistant Professor of Mathematics and Computer Science, and Associate
&lt;br&gt;Professor of Mathematics at various times during my career.) &amp;nbsp;So please
&lt;br&gt;don't generalize to an arbitrary &amp;quot;one&amp;quot; and imply that that's the only
&lt;br&gt;possible reasonable expectation.
&lt;br&gt;&lt;br&gt;&amp;gt;Similarly, there seems to be missing an underlying type for the date 
&lt;br&gt;&amp;gt;types - although there is reference to timeOnTimeline, this value 
&lt;br&gt;&amp;gt;type is not surfaced in the type hierarchy.
&lt;br&gt;&lt;br&gt;I'd very much like to hear how you'd do this; unlike the number datatypes,
&lt;br&gt;where I could envisage how to pull them together, I can't envisage a
&lt;br&gt;reasonable way for all the d/t datatypes to be derived from a universal
&lt;br&gt;one. &amp;nbsp;And I did try.
&lt;br&gt;&lt;br&gt;&amp;gt;One thought is that whether a correct interpretation is more along 
&lt;br&gt;&amp;gt;the lines of considering the value spaces as data structures.
&lt;br&gt;&lt;br&gt;I'm curious what you mean by &amp;quot;data structure&amp;quot; here. &amp;nbsp;Reading on, it sounds
&lt;br&gt;like you mean various possible machine representations of the values.
&lt;br&gt;Let me assure you that that's not what is meant by a value space. &amp;nbsp;In
&lt;br&gt;fact, I can think of several extremely different-appearing representations
&lt;br&gt;of, for example, the integers, that are nonetheless isomorphic. &amp;nbsp;They
&lt;br&gt;are all potential machine representations of the values for the same
&lt;br&gt;datatype. &amp;nbsp;XSD does not have anything to say about machine representations,
&lt;br&gt;except to say that if an implementation has two different representations
&lt;br&gt;of the same value, it is obligated to generally treat them the same.
&lt;br&gt;&lt;br&gt;&amp;gt;Another thought is that the value spaces are another aspect of 
&lt;br&gt;&amp;gt;lexical expression. This would account well for there being a 
&lt;br&gt;&amp;gt;difference between base64Binary and hexBinary, but not explain why 
&lt;br&gt;&amp;gt;these are not pattern facet restrictions on string.
&lt;br&gt;&lt;br&gt;base64Binary and hexBinary are different because they use entirely different
&lt;br&gt;lexical mappings. &amp;nbsp;Different lexical mappings mean different datatypes.
&lt;br&gt;Except for our decision to paint the two value spaces different colors
&lt;br&gt;so we can tell them apart, the value spaces of these two datatypes are
&lt;br&gt;the same. &amp;nbsp;(In this case, I suspect that the obvious equality across
&lt;br&gt;these two value spaces would not bother anyone. &amp;nbsp;But we weren't going
&lt;br&gt;to do that for some obvious datatype pairs and not others.
&lt;br&gt;&lt;br&gt;They are not pattern-facet restrictions on string for the same reason that
&lt;br&gt;float and double are not pattern-facet restrictions on string. &amp;nbsp;The value
&lt;br&gt;spaces are different. &amp;nbsp;String values are character strings; the xxxBinary
&lt;br&gt;values are bit-strings. &amp;nbsp;Bits aren't characters.
&lt;br&gt;&lt;br&gt;&amp;gt;Finally, I wonder if you have comments on a couple of other aspects 
&lt;br&gt;&amp;gt;of datatypes that appear in XML schema. Specifically, data types 
&lt;br&gt;&amp;gt;that are derived by list and time and date types. Clearly such 
&lt;br&gt;&amp;gt;concepts or similar are relevant to OWL given work on, e.g. 
&lt;br&gt;&amp;gt;workflow, or &amp;nbsp;in spatial reasoning. Where do they fit into your view 
&lt;br&gt;&amp;gt;of OWL class space?
&lt;br&gt;&lt;br&gt;You both should definitely look up the latest Public Working Draft (a
&lt;br&gt;Last Call draft) for XSD. &amp;nbsp;I think it might clear up some of the questions,
&lt;br&gt;hopefully providing a better understanding or description of list
&lt;br&gt;datatypes and date/time datatypes.
&lt;br&gt;-- 
&lt;br&gt;Dave Peterson
&lt;br&gt;SGMLWorks!
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18289313&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;davep@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-ISSUE-126-%28Revisit-Datatypes%29%3A-A-new-proposal-for-the-real-%3C-%3E-float-%3C-%3E-double-conundrum-tp18284050p18289313.html" />
</entry>

</feed>
