- From: Pat Hayes <phayes@ai.uwf.edu>
- Date: Wed, 6 Feb 2002 10:35:27 -0600
- 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 impossible. 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. Pat -- --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Wednesday, 6 February 2002 11:34:52 UTC