- From: Alan Ruttenberg <alanruttenberg@gmail.com>
- Date: Tue, 1 Jul 2008 10:28:12 -0400
- To: "Boris Motik" <boris.motik@comlab.ox.ac.uk>
- Cc: "'OWL Working Group WG'" <public-owl-wg@w3.org>
- Message-Id: <2FF74B7D-7D5F-4748-AB5F-93575CC32C0C@gmail.com>
On Jul 1, 2008, at 7:22 AM, Boris Motik wrote: > Hello Alan, > > I agree with most of your observations, with the two differences. > > First, we might need rational constants, mainly because of > division: if you divide 1 and 3, you get a number whose > representation requires an infinite number of digits. It is true > that division is not yet supported in OWL 2; however, organizing > the datatype system such that we can easily support such extensions > is really beneficial. Even if we don’t support any such extensions > in the core specification, we make it much easier for people to > support them if they want to. I am mixed on this, mostly because it seems to be speculative design. My preference would be to have this be a separate issue. > Second, I am not sure about the comment regarding preprocessing. > The unionOf({"1"^^xsd:float}, {"1"^^xsd:int}) class expression is a > valid class expression. It is true that a datatype reasoner needs > to determine at one point that the two constants are the same, but > this can be done during reasoning. OK. I wasn't sure if it would be easier to do it up front. > Note that two constants can be different even though they denote > the same value. A constant is a pair consisting of a lexical > representation and a datatype URI; hence, two constants are equal > if their lexical representation and the datatype URIs are the same, > and this is independent from the question whether these constants > denote the same data value. Thus, "1"^^xsd:float and "1"^^xsd:int > are different constants, but they denote the same data value and > everything is fine. FWIW, I think the use of the term "constant" here is confusing. I don't see any reason to not stick with talking about literals (which are taken from the lexical space) and values, which are taken from the value space. http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Literal- Equality > > Now I appreciate the points you identified below, and I believe > that the last observation might provide us with a simple way of > dealing with ISSUE-126 while addressing the problems you outlined. > I’ll send a separate e-mail about this later today. > > Regards, > > Boris > > From: public-owl-wg-request@w3.org [mailto:public-owl-wg- > request@w3.org] On Behalf Of Alan Ruttenberg > Sent: 01 July 2008 07:16 > To: Boris Motik > Cc: 'OWL Working Group WG' > Subject: Re: ISSUE-126 (Revisit Datatypes): The list of normative > datatypes should be revisited > > I have been asking around a bit about this proposal and generally > the response is positive. > However, I wonder if the right formulation is to say that floats > etc are "synonyms" for xsd:float. > For example, this raises the question of serialization - you read > in a float as "3.5"^^xsd:float and then write it out at > "3.5"^^owl:real? > > Rather, could we not tweak it slightly differently and say that we > are considering the value space of floats, etc, to be the reals, > rather than their specified value space according to XML schema? > > Since I don't think we ever produce new (user visible) literals in > OWL reasoning (do we?), adopting this approach would mean the > reasoning proceeds as you suggest, but the literals remain as they > are. > > Since this would be an internal change, we don't necessarily have > to have a user facing real or rational datatype. Not that I think > that might be desirable for other reasons, but it can be decoupled > from this issue. > > There would still be the issue of overlapping value spaces. The > cardinality of unionOf({"1"^^xsd:float}, {"1"^^xsd:int}) would need > to be determined to be 1. For this I would think a preprocessing of > all the constants in the ontology to determine which were equal > would be an efficient way to manage the problem. > > -Alan > > ps. Still thinking about the date types. Carsten points out these > papers as possibly relevant. > > http://www.pms.ifi.lmu.de/mitarbeiter/ohlbach/homepage/publications/ > TL/abstracts.shtml > > > On Jun 19, 2008, at 3:49 AM, Boris Motik wrote: > > >>> 4. We introduce a new owl:real datatype. This datatype would allow >>> for the following types of constants: >>> >>> - rational numbers written according to http://www.w3.org/2007/OWL/ >>> wiki/OWL_Rational >>> - floating point numbers written in the format as specified in the >>> definition of xsd:float and xsd:double in the XML Schema >>> - decimal numbers as written in the format as specified in the >>> definition of xsd:decimal >>> - integer numbers as written in the format as specified in the >>> definition of xsd:integer and related datatypes >>> >>> Furthermore, we would make xsd:float and xsd:double (and possibly >>> xsd:decimal as well) synonyms for xsd:real. This would be the only >>> definition from the XML Schema datatype system: there, some very >>> large numbers are not members of xsd:float. I believe, though, that >>> this would bother people in practice. >>> >>> Finally, we can include xsd:nonPositiveInteger, >>> xsd:negativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte, >>> xsd:nonNegativeInteger, >>> xsd:unsignedLong, xsd:unsignedInt, xsd:unsignedShort, >>> xsd:unsignedByte, and xsd:positiveInteger with the existing >>> semantics as >>> usual. >>> >>> Regards, >>> >>> Boris > >
Received on Tuesday, 1 July 2008 14:29:00 UTC