- 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