what is a plain literal?

Everyone,

I promise I'm not trying to dig up the "replace literals with normal 
resources" discussion, although I'm still strongly for that proposal. I 
have an honest question about plain literal semantics, however. At 
http://www.w3.org/TR/2004/REC-rdf-mt-20040210/#urisandlit I read:

"Plain literals are considered to denote themselves, so have a fixed 
meaning."

Is this a typo? It's not the most natural sentence---does it mean, "and 
thus always have a fixed meaning", or "and and so have no fixed meaning?"

Next question: how do plain literals differ semantically from typed 
literals with a datatype URI of xsd:string? Yes, I know that they are 
"different" in the URI abstract syntax, but that's begging the 
question---what does that *mean*. They "denote themselves", I'm 
told---and what "themselves" are are strings of characters. What I'm 
asking is: in real-life practical applications, where would it ever be 
useful to talk about a literal absent its type information? That is, 
where would I ever want to choose a plain literal over a typed literal 
of datatype xsd:string?

If were were creating RDF from scratch today, and we had already created 
typed literals, would we say, "Oops, we're missing something. We need 
something called a "plain literal" that has no associated type 
information?" I just don't see it...

Of course, when I'm creating RDF/XML it's much easier for me to create 
plain literals. I'm just as lazy as the next person. But that's just a 
syntactical issue---would anybody miss anything if future RDF parsers 
were to interpret <eg:property>text</eg:property> as a typed literal 
with datatype xsd:string? (Sure, existing queries on plain literals 
would need to be changed, but that's not the question.)

I'm not just trying to stir up more trouble, or to rail against the 
current RDF. This is a legitimate question, because if there is no 
reason (besides my laziness in typing RDF/XML) to choose plain literals 
over typed literals of datatype xsd:string, shouldn't I use the latter 
exclusively in all of the new ontologies I create? Rather than utter the 
sacrilegious, "should we deprecate plain literals in RDF?" let me ask it 
in a less forceful way: wouldn't be a good idea for someone to consider 
it best practice to exclusively use typed literals with datatype 
xsd:string over plain literals when creating new ontologies?

Thanks in advance for any comments to clear this up.

Best,

Garret

Received on Friday, 10 August 2007 01:10:06 UTC