W3C home > Mailing lists > Public > semantic-web@w3.org > March 2010

Re: RDF/XML Syntax Question: Label on an RDF Object being a literal

From: Pat Hayes <phayes@ihmc.us>
Date: Mon, 1 Mar 2010 17:10:50 -0600
Cc: Damian Steer <pldms@mac.com>, Svante Schubert <Svante.Schubert@sun.com>, Semantic Web <semantic-web@w3.org>
Message-Id: <E9BA2E59-731B-4D36-8316-E726453CF8CE@ihmc.us>
To: Danny Ayers <danny.ayers@gmail.com>

Danny, the RDF specs are not wrong (on this matter, at least.) Neither  
mathematically nor technically. But it is necessary to actually read  
them and understand them.

Literals are textual objects, part of the RDF *syntax*, lIke URIs and  
blank nodes. Also like those, they - the literals - *refer to* things  
(in RDF Webspeak, resources.) Exactly what they refer to depends on  
the literal, and if the literal is typed, it depends on the datatype.  
So for example, the literal

"345"^^xsd:number

refers to the number three hundred and forty five.
When you write RDF, all the names in the triples are understood to be  
talking about the things they refer to. So, this triple:

ex:PatHayes  ex:hasAgeInYears "65"^^xsd:number .

says that my age is 65. It does not say that my age is "65", or that  
my age is a literal. It says that my age is a literal *value*, ie the  
value of a literal. The RDFS class rdfs:LIteral is not the class of  
literals: it is the class of literal *values*. There is no class of  
RDFS literals (at least, not one defined in RDFS), just as there is no  
RDFS-defined class of blank nodes or of URI references.

Now, plain literals with no type (and no language tag) are a special  
case, in that their literal value is the literal string itself, so that

ex:PatHayes foaf:name "Patrick John Hayes" .

says that my name is the value of the literal "Patrick John Hayes",  
which is this very string itself. So in this case you can sort of  
refer to the actual literal. But its only in this plain-plain case,  
and as soon as you add a language tag or type the literal, this  
identity of syntax and value no longer holds.

So to answer the original question, there is no way in RDF(S) (or  
indeed OWL) to *refer to* a typed literal. The intended use of  
literals is that they are to be used to refer to literal values,  
rather than be objects in their own right. To treat them as objects,  
we would need to have an RDFS meta-language for talking about RDFS  
syntax.

Pat Hayes

On Feb 28, 2010, at 5:31 PM, Danny Ayers wrote:

> I am not a logician, but I believe there has been some hair-tugging  
> over the treatment of literals & resources. Technically and  
> mathematically, it's wrong as it it stands in the specs. Bit strange  
> given that the people behind it were the best in the world, but  
> there you go.
>
> Until a reformulation of the RDF model comes along, we have to play  
> with it pragmatically - a literal is a string etc.
>
> Please don't be scared by the fact that there are errors, it's  
> usable, this stuff can be applied to the wire.
>
> The Italians say piano piano to mean we just do a little, and get  
> their eventually.  A better saying is "may you live in interesting  
> times", major curse. But that is where we are.
>
> Love,
> Danny.
>
> On 28 February 2010 23:34, Damian Steer <pldms@mac.com> wrote:
> Sorry, substitute rdfs:label for ex:readableLabel there.
>
> Damian
>
>
>
>
> -- 
> http://danny.ayers.name
>

------------------------------------------------------------
IHMC                                     (850)434 8903 or (650)494 3973
40 South Alcaniz St.           (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile
phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes





Received on Monday, 1 March 2010 23:11:54 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:48:07 UTC