- From: Michel_Dumontier <Michel_Dumontier@carleton.ca>
- Date: Tue, 8 Jul 2008 14:57:05 -0400
- To: "OWL Working Group WG" <public-owl-wg@w3.org>
Hi Boris,
I'm concerned about the disjoint spaces for xsd:string and
owl:internationalizedString. What reasons do you have for the
distinction? I view the latter as a specialization of a more generic
string datatype. Can we not propose one owl:string that supports both?
Cheers,
-=Michel=-
> -----Original Message-----
> From: public-owl-wg-request@w3.org
[mailto:public-owl-wg-request@w3.org]
> On Behalf Of Boris Motik
> Sent: July 8, 2008 12:16 PM
> To: 'OWL Working Group WG'
> Subject: A possible structure of the datatype system for OWL 2
(related to
> ISSUE-126)
>
>
> Hello,
>
> After a very in-depth discussion about the issues related to datatypes
> (thanks everyone involved!), I thought it would be good to
> summarize some of the outcomes of a discussion and to outline a
possible
> structure of the datatype system. Thus, in this e-mail,
> I'll try to (semi-)formally define a datatype map -- the "thing" that
> defines how datatypes would work in OWL 2.
>
> 1. Datatype Map
> ----------------
>
> A datatype map consists of the following things:
>
> - a set of datatypes
> - each datatype provides a set of allowed facets
> - a possibly infinite set of constants (likely to be renamed to
literals,
> but I'll stick to "constant" for the moment)
> - each constant consists of a lexicalValue and a typeURI
> - it is written as "lexicalValue"^^typeURI
>
> Each datatype DT is assigned a value space DT^D, which is just a
nonempty
> set.
>
> Each constant c is assigned a value c^D, which is just an object from
the
> union of the value spaces of all datatypes.
>
>
> Thus, a datatype can be thought as a class with a predefined
extension.
> Note that this definition does not assume any relationship
> between the set of supported typeURIs (which determine the allowed
> constants) and the set of datatypes (which determine the allowed
> sets of values).
>
> 2. Allowed datatypes
> ---------------------
>
> Comformant OWL 2 implementations would be required to support the
> following base datatypes, each of whose value spaces would be
> disjoint:
>
> - owl:number - the value space is the set of all real numbers
> - xsd:string - the value space is the set of all Unicode strings in
normal
> form C
> - owl:internationalizedString - the value space set is the set of
pairs of
> the form (string,langTag)
> - xsd:hexBinary - the value space is the set of all finite sequences
of
> octets
>
> The following datatype would also be supported in OWL 2:
>
> - xsd:integer - the value space is the subset of the value space of
> owl:number containing all integers
>
> Finally, we might support the following "shortcut" datatypes, whose
value
> spaces can be defined from the value spaces of the above
> mentioned datatypes using facets
>
> - various xsd:integer derivatives, such as xsd:int and xsd:long
> - various xsd:string derivatives, such as xsd:Name
>
> 3. Allowed constants
> ---------------------
>
> Conformant OWL 2 implementations are required to support the following
> constant types:
>
> - "nnn"^^xsd:int and all derivatives that fall within xsd:int - all
such
> constants are to be interpreted as elements of owl:number
> - "aaEbb"^^xsd:float - all such constants save for NaN and +-inf are
to be
> interpreted as elements of owl:number
> - "abc"^^xsd:string - interpreted as "abc"
> - "abc"@langTag - interpreted as a pair ("abc",langTag)
>
>
> 4. Discussion
> --------------
>
> The set of constants is chosen such that implementations don't need to
> support numbers with arbitrary precision, which might be
> quite cumbersome. In fact, implementations are only required to
support 32
> bit integers and single precision floating point numbers.
> There are efficient ways to represent these on virtually all systems.
>
> The set of datatypes, however, allows one to refer to the sets of all
> integers and real numbers. This allows one to specify the
> ontology in a way that makes reasoning easy.
>
> Implementations are free to support other constants as well. Note that
> these extensions do not necessarily mean that we need new
> datatypes (i.e., new value spaces). For example, an implementation
might
> choose to support arbitrary precision numbers via constants
> of the form "123.03"^^xsd:decimal. Note that the proposed list of
> datatypes already contains the appropriate value space for such
> constants (i.e., owl:number).
>
> The open issues are what to do with NaN and +-inf and with date-time
> datatypes.
>
> Regards,
>
> Boris
>
>
Received on Tuesday, 8 July 2008 18:56:08 UTC