W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

RE: datatypes and MT

From: <Patrick.Stickler@nokia.com>
Date: Wed, 7 Nov 2001 09:37:24 +0200
Message-ID: <2BF0AD29BC31FE46B78877321144043114C06F@trebe003.NOE.Nokia.com>
To: phayes@ai.uwf.edu, connolly@w3.org
Cc: w3c-rdfcore-wg@w3.org
> Pat shoeSize "10"
> 
> then I am saying that my shoe size is a character string, right?
> 
>  From here on I will omit the double quotes to avoid confusion.

Do you mean then

  Pat shoeSize 10

???

Such that 10 is something other than a string/literal? If so, 
what is it? A URI? A local ID? Grounded in what base (a'la
xml:base)?
 
> Well, I do. The motivating example for me was the use of range 
> information to fix a datatype, as in
> 
> aaa shoeSize 10 .
> shoeSize rdfs:Range xsd:integer .
> 
> which seems to me to be eminently simple. Obviously, the literal 
> should be interpreted using xsd:integer. No need to apply rules or 
> rewrite using bnodes; you just use the literal  in the triple.

Ahhh, but what if we have

  aaa shoeSize 0x12 .
  shoeSize rdfs:range xsd:integer .

Hmmm.... xsd:integer requires a decimal notation. It may
also be that the person making the statement about shoe
size is not the one asserting the range constraint. That
might be a localized interpretation.

So just how does a system *know* how to interpret
'0x12' as an xsd:integer?

ASSERTION:
   Typed data literals must have local type defined that
   is inseparable from the lexical form embodied in the
   literal value. Range asserted interpretation does not
   suffice for interpretation of the lexical form.

The alternate is to impose the requirement that all lexical
forms of all data types be valid lexical forms for all
superordinate types of that data type. Ouch. Tough to
verify... 

Granted, XML Schema seems to comply with such a requirement
(I haven't checked rigorously though). But whether we
could actualy empose such a requirement (either reasonably
or practically) is questionable.

> >         <...#me> <...#shoeSize> _:x.
> >         _:x <...rdf-syntax-ns#type> <...#integer>.
> >         _:x <...#decimalRep> "10".

This representation presumes that the lexical form is
separate from the data type, which is not the case
(neither for RDF or XML, nor for a given programming
language). The typing system of RDF does not apply to
canonical internal representations of values in
value spaces, but of lexical forms corresponding to
values in value spaces. As such, the #decimalRep
could be seen as superfluous, as one would expect
that #integer would define the lexical space and the
literal value would conform to that space.

Those languages which allow for multiple notations of the
same data type in lexical forms utilized mechanisms in
the lexical form itself to differentiate those variant
notations. The above treatment seems to me to presume
that no lexical space is defined for the data type at 
all, therefore it must be specified separately, and that
I think is incorrect.

Cheers,

Patrick
Received on Wednesday, 7 November 2001 02:38:26 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:42:32 EDT