- From: Brian McBride <bwm@hplb.hpl.hp.com>
- Date: Fri, 02 Nov 2001 11:54:25 +0000
- To: Pat Hayes <phayes@ai.uwf.edu>
- CC: w3c-rdfcore-wg@w3.org, pfps@research.bell-labs.com
Pat Hayes wrote: [...] > 2. Bnodes as literal values. > > Let me put together here under one heading a variety of variations of > the following theme: that occurrences of literals in value position in a > triple should be understood as an abbreviation of a pair of triples with > an 'intermediate' bnode, where the bnode denotes the triple value and > the literal label itself is relegated to a minor role of somehow > 'illustrating' how that value could be written in some notation. For > example: rewrite > > aaa bbb lit . > > as > aaa bbb _:1 . > _:1 rdf:value lit . > > Before analyzing this, I note that it has the advantage of putting a > node that denotes the literal value in subject position, where other > properties (such as rdf:type) can be asserted of it. This is indeed a > major advantage - I think the *only* advantage - of this proposal, but > we could render this moot simply by declaring that RDF shall allow > literals in subject position. I will return to this point later. > > The first of these triples seems easy to interpret: it means exactly > what the original triple meant, in fact. It's the second triple that > seems rather odd. Since _:1 is supposed to denote the literal value, it > would seem to have the same value at both ends. That is not how I would read it. The blunt end denotes a value from the value space of whatever type of literal we have, e.g. an integer. The sharp end denotes a string. The range of rdf:value would be xsd:string or some such, and this fact would likely be built into processors. > > Another way is to insist that the literal label in the second triple is > treated in a nonstandard way: rather than denoting a literal value, it > is being mentioned rather than used; it simply indicates the literal > itself. (Or, equivalently, all literals are treated as strings.) The > intuitive meaning of rdf:value is then a kind of inversion of the > denotation mapping itself: it assigns a literal label to the literal > value that is the semantic value of that label in the given > interpretation. This seems to be what Sergey has in mind, and it is also > I think what Dan C. suggested a while back as the best way to handle > literals. > > Now, this seems to me to have a fatal flaw, which arises from the fact > that the value spaces of two different datatypes might overlap. For > example, suppose that there are datatypes xxd:octal and xxd:decimal, > then the following would seem to be perfectly true: > > _:1 rdf:type xxd:octal > _:1 rdf:type xxd:decimal > _:1 rdf:value "32" > _:1 rdf:value "26" But that is not how Sergey would write it. He is proposing: _:1 xxd:octal "32" . _:1 xxd:decimal "26" . [...] Brian
Received on Friday, 2 November 2001 06:59:13 UTC