- From: Michel_Dumontier <Michel_Dumontier@carleton.ca>
- Date: Wed, 9 Jul 2008 12:29:03 -0400
- To: "OWL Working Group WG" <public-owl-wg@w3.org>
Boris, Indeed, from a user's perspective, I would prefer a single datatype. I find your proposal very reasonable from that perspective. Thanks, -=Michel=- > -----Original Message----- > From: Boris Motik [mailto:boris.motik@comlab.ox.ac.uk] > Sent: July 9, 2008 3:32 AM > To: 'Michel_Dumontier'; 'OWL Working Group WG' > Subject: RE: A possible structure of the datatype system for OWL 2 > (related to ISSUE-126) > > Hello, > > This is mainly because that's the way how things work in RDF. In RDF, you > have plain literals which can have a language tag or not. > owl:internationalizedString corresponds to plain literals with a language > tag, and xsd:string corresponds to plain literals without > a language tag. > > I see that this is rather silly from a user's perspective, and there might > be a way of unifying things; however, it requires a > change to the value space of xsd:string. We could have the following > definitions: > > - The value space of owl:internationalizedString is a set of pairs of the > form ("string",langTag), where langTag includes all ISO > language tags, as well as a special 'null' language tag. > - The value space of xsd:string is a set of pairs of the form > (string,'null'). > > In this way, we've made xsd:string a subset of > owl:internationalizedString. Strictly speaking, that is a backwards > incompatible > change; however, I don't believe that it is detectable in any way (in RDF > or in OWL 1), mainly because in RDF and OWL 1 there was no > way to refer to the set of all internationalized strings. > > Let me know how everyone feels about this. > > Regards, > > Boris > > > -----Original Message----- > > From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] > On Behalf Of > > Michel_Dumontier > > Sent: 08 July 2008 19:57 > > To: OWL Working Group WG > > Subject: RE: A possible structure of the datatype system for OWL 2 > (related to ISSUE-126) > > > > > > 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 Wednesday, 9 July 2008 16:29:43 UTC