W3C home > Mailing lists > Public > semantic-web@w3.org > August 2007

Re: RDF's curious literals

From: Garret Wilson <garret@globalmentor.com>
Date: Wed, 01 Aug 2007 09:58:25 -0700
Message-ID: <46B0BBB1.1000608@globalmentor.com>
To: Story Henry <henry.story@bblfish.net>
CC: Jeremy Carroll <jjc@hpl.hp.com>, Tim Berners-Lee <timbl@w3.org>, Semantic Web <semantic-web@w3.org>

Hi, Henry. Thanks for the discussion as well. I'm going to give a couple 
of responses, and then rest awhile by going back to the work I've been 
meaning to start an hour or two ago. ;)

Story Henry wrote:
> 1. you say why not "George Bush"^^xxx:president, and so why is not 
> everything a Literal?
>
>    there are in fact limitations on what can be a Literal.

What limitations are those---I don't remember seeing this in the RDF 
specifications? Could "George  W. Bush"^^xxx:president be a literal, if 
I specify the range of allow lexical forms? What cannot be an instance 
of rdfs:Literal?


> 2. what is the use of "123"^^xsd:integer over <http://number.eg/123>
>
>     Because of the Open World assumption we accept that things can 
> have a number of names. So it is difficult to tell when two things are 
> or are not different. For example is
>
>      <http://presidents.com/Bush/George> referring to the same thing 
> <http://presidents.com/Bush/George/W> is? Well you can't tell. You may 
> assume they are different until told otherwise
...
> No need for the infinite number of statements
>
>      <http://numbers.eg/123> owl:differentFrom <http://numbers.eg/124> .
>
>     The same is with "hello" and "bye": they are different strings 
> just by looking at them. If we use URLs for each string, it becomes a 
> lot more difficult to tell them apart. So you can see that it is 
> useful to have a distinction here.

I'm sorry, but I still don't understand. You're saying that if I have 
the URIs <http://numbers.eg/123> and <http://numbers.eg/124> I don't 
know whether these are referring to the same resource or not, even 
though the URIs are distinct. But if I have literals, I know that the 
literal "123"^^xsd:integer is different from the literal 
"124"^^xsd:integer just because they are literals. Is that what you're 
saying?

So are you saying that I also know that the literal "+123"^^xsd:integer 
is different from the literal "123"^^xsd:integer because I can simply 
compare the strings and see that they are not equal?


>
>    3. Saving space.
>
>      "123"^^xsd:int does in fact save space in a db...

Stop right there. I stressed this in a previous email; this discussion 
has nothing whatsoever to do with databases. If you want to store 123 as 
a the sequence of bits 1111011, then so be it. You could store the value 
as "one hunnerd and twenty-three", for all I care. You'd probably want 
to be clever and use pointers to cut down on duplicate URIs, or even 
duplicate namespace prefixes. All this is orthogonal to how I represent 
the things in the model, and has absolutely no bearing on the issue.

Garret
Received on Wednesday, 1 August 2007 16:58:38 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 21:45:17 GMT