W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > February 2002

Re: Oh my GOD, another datatype document.

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Wed, 6 Feb 2002 10:35:27 -0600
Message-Id: <p05101437b887049911a1@[]>
To: Patrick Stickler <patrick.stickler@nokia.com>
Cc: w3c-rdfcore-wg@w3.org
>On 2002-02-05 1:32, "ext Pat Hayes" <phayes@ai.uwf.edu> wrote:
>>  ... but the discussion is confused because the Ntriples
>>  *syntax* is ambiguous when literal nodes are not tidy.
>Then, as a step towards resolution, let's agree that literals are
>tidy. It doesn't break S. It doesn't break the fundamental core
>of TDL (though the TDL MT would have to give up any notion of
>the literal denoting a mapping, and there anyway seem to be
>ways to address that in the TDL MT).
>Let's agree that a literal is a literal -- and for any given
>literal there is one and only one literal node -- and whether
>that literal contributes to some interpretation that provides a
>typed value, and how that happens, is the real issue at hand.

Following in that spirit, the MT could say that literals in an RDF 
graph (XML is something else again) do not *denote* at all. They are 
not even in the vocabulary; they are just there in the graph, being 
what they are, but they have no interpretation.

So if you use one in a (subject or) object position of a triple, you 
really are not saying anything, eg
<mary> <age> "10" .
is *meaningless*, on this account.

The only exception to this rule is when they occur as the object of 
the special property rdf:value, and that is where the special 
datatyping conventions get invoked. (That is also why rdf:value is so 
peculiar, by the way, and is meaningless when used in any other 
context, eg what could
<mary> <value> <jim> . possibly mean??)

So we think of literals as kind of syntactic label which is placed in 
the graph for use by datatyping, but if no typing information is 
available is treated like a blank node.

That 'explains' why literals are not allowed to be subjects, since 
obviously it doesnt make sense to assert properties of nothing. :-)

BTW, this also makes sense of the fact that in all the idioms that 
use bnodes, literal nodes only occur as objects of rdf:value and 
rdf:value only occurs linked to literals, so the real semantic 'unit' 
here is actually the value triple:

_:someBnode <value> "some literal" .

It doesn't make any semantic sense to take this apart into its nodes 
and arcs; when you try to, that's where the semantics gets to be 
underdetermined, ie you can say that [the literal denotes itself and 
rdf:value denotes an inverse of a lexical-to-value mapping] or you 
can say [rdf:value denotes identity and the literal denotes whatever 
value it has in this interpretation] or [anything in between], and 
the rest of the graph doesn't give a damn, as long as the bnode 
denotes the proper value.

>Note! This still does not mean that "untidyness" does not have to
>be dealt with properly. It does. But we just agree that we won't
>deal with it via untidy literals, but by some other mechanism
>either in the graph or in the MT.
>Does this make things easier for everyone?

Yes, it would. But I think there will still be howls if we do this, 
because people really want to be able to write

<Jenny> <age> "10" .

and have it mean that Jenny is ten. And if literals are tidy, that's 

If we are willing to put up with the howling, I'd go along with that 
decision. It would make our task easier, it would simplify the RDF 
syntax and MT,  lighten the burden on implementors, and it would 
enable everyone on the WG to have exactly what they want, all at the 
same time.

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Wednesday, 6 February 2002 11:34:52 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:09 UTC