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

Re: RDF's curious literals

From: Jeremy Carroll <jjc@hpl.hp.com>
Date: Thu, 02 Aug 2007 20:43:39 +0100
Message-ID: <46B233EB.1030704@hpl.hp.com>
To: Garret Wilson <garret@globalmentor.com>
CC: Story Henry <henry.story@bblfish.net>, Sandro Hawke <sandro@w3.org>, Lee Feigenbaum <lee@thefigtrees.net>, Richard Cyganiak <richard@cyganiak.de>, Tim Berners-Lee <timbl@w3.org>, Semantic Web <semantic-web@w3.org>



Garret Wilson wrote:
> The name of the president and whether it is unique is a red herring. The 
> main question is whether a US president could be a literal in the RDF 
> abstract syntax. The answer is yes; use the president's social security 
> number or some other identifying number, if names confuse the issue: 
> "123-45-6789"^^eg:uspresident.

Correct.
However, your datatype eg:uspresident is unlikely to be widely supported 
so this would be a poor engineering decision.

> 
> In fact, any resource could be an instance of rdfs:Literal in the RDF 
> abstract syntax, if you decide to give it an identifying string. Those 
> same resource would not be literals if you used URIs to identify them 
> rather than strings. Having a concept of rdfs:Literal bring no 
> additional value to the RDF abstract syntax.

Again correct - but to represent an arbitrary resource one would need a 
user defined datatype, and a private agreement between implementors as 
to its lexical-to-value mapping.

> 
> Another way of summarizing things: the string "10" only relates to the 
> value 10 in the context of datatype xsd:integer (which is a subclass of 
> xsd:decimal). The string "10" would relate to the value 2 in the context 
> of the datatype eg:binary. The string "10" doesn't relate to any number 
> by itself---only in the context of some datatype.

Correct
> That means you cannot 
> talk about an RDF integer literal using only the string "10"; 
> you must 
> use "10"^^<|http://www.w3.org/2001/XMLSchema#integer>.

Correct in the abstract syntax, but then that is intended for maximum 
clarity, and not intended for usability. A better surface syntax would 
allow you to simply write 10. You are free to design such a surface syntax.


> 
> Some people are telling me that there is some huge, unbridgeable divide 
> between the following two representations:
> 
> |"10"^^<|http://www.w3.org/2001/XMLSchema#integer>|
> <|http://www.w3.org/2001/XMLSchema#integer:|10|>|
> 
> They look pretty similar to me, except that the latter allows me to 
> treat so-called "literals" just like any other resource.

No, incorrect. In the RDF Semantics some other resource e.g.
http://example.org/10 has an unknown denotation, whereas 
"10"^^<|http://www.w3.org/2001/XMLSchema#integer> has a known 
denotation, the number 10.

If you wanted to modify RDF so that
http://www.w3.org/2001/XMLSchema#integer:|10|
denoted the number 10, then that would be a fairly large change, in that 
it would be necessary to specify which URIs did datatype magic, and 
which do not.

Jeremy

-- 
Hewlett-Packard Limited
registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England
Received on Thursday, 2 August 2007 19:44:02 GMT

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