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

Re: RDF's curious literals

From: Story Henry <henry.story@bblfish.net>
Date: Wed, 1 Aug 2007 17:32:15 +0200
Message-Id: <ED685AF1-09FF-4FE4-9E0A-0A7B7EADA77E@bblfish.net>
Cc: Richard Cyganiak <richard@cyganiak.de>, Tim Berners-Lee <timbl@w3.org>, Semantic Web <semantic-web@w3.org>
To: Garret Wilson <garret@globalmentor.com>

On 1 Aug 2007, at 17:06, Garret Wilson wrote:
> Richard Cyganiak wrote:
>> On 1 Aug 2007, at 01:49, Garret Wilson wrote:
>>> So let me state this another way: to say that non-literal  
>>> resources use URIs as identifiers and literal resources use  
>>> strings as identifiers is a false dichotomy. RDF uses strings for  
>>> all its identifiers. It's just that for non-literals, these  
>>> strings conform to a format called URI
>> That's simply not true.
>>     <http://dbpedia.org/wiki/George_W._Bush>
>> and
>>     "http://dbpedia.org/wiki/George_W._Bush"
>> do not identify the same resource. The first identifies a person,  
>> the 43rd president of the U.S.. The second identifies a string of  
>> Unicode characters that happens to conform to the URI syntax.
> Hi, Richard. You are *so* missing my point here.
> I could say that #+1 555 1212# is a telephone number, but that "+1  
> 555 1212" is only a sequence of Unicode characters. I could say  
> that %someone@example.com% is an email address, but that  
> "someone@example.com" is only a string. But the point remains that  
> these are all identifiers.
> In RDF, if I use "someString" to identify something, it becomes a  
> different type of something than if I use <someURI> to identify it,  
> and I don't think that should be the case. If I call one identifier  
> (that happens to have extra characters) a "URI" and the other a  
> "string", how does that change the thing it identifies?

This is because you seem to be thinking only at the level of syntax,  
where indeed everything is a string.

At the level of syntax one does not make a distinction between  
identifiers, one just specifies how they can be combined to form  
larger structures, such as sentences or documents. Once you move to  
semantics, you can specify how you want your tokens mapped to real  
world objects.

So Richard is completely right here:

  <http://dbpedia.org/wiki/George_W._Bush> refers to a real person


"http://dbpedia.org/wiki/George_W._Bush" refers to the string (in RDF  
of course).

That's a big difference.

It should be no problem for you to map this to your RDFON by the way.  
So I don't really see what the problem is.

> If <http://example.com/integers/123> and "123"^^xsd:integer both  
> identify the same value (which, for the sake of argument, everyone  
> agrees they do), why does the form of the identifier change the  
> type of resource being identified?

I think everybody agrees that the following is ok

<http://example.com/integers/123> = "123"^^xsd:integer .

at least in RDF and OWL-Full . The ^^ is just a way of identifying  
some specific types of objects which we believe we can manipulate  
without looking at the world, and for which we assume reasoners will  
come ready built to work with.

You can also think of it as a notational convenience.

How the machine stores that in the DB is up to it. For ints of course  
it saves space to use the usual int length for your machine.


> Garret
Received on Wednesday, 1 August 2007 15:32:53 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:05 UTC