W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

RE: Subject literals

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Mon, 5 Nov 2001 21:31:12 -0600
Message-Id: <p05101036b80d05664ad2@[65.212.118.166]>
To: Patrick.Stickler@nokia.com
Cc: w3c-rdfcore-wg@w3.org
>  > There is a node labeled "fi", whose type is <urn:iso:3166_1>.
>>   (That is,
>>  the denotation of the node is a member of the class extension of the
>>  resource identified by <urn:iso:3166_1>.)
>>
>>  There is a node, which may or may not denote the same value
>>  as the first
>>  node, whose type is <urn:iso:639>.
>
>OK. Fair enough. The fact that you are getting two nodes
>as the result of a query at least suggests that some degree
>of ambiguity exists, but are you saying that *every* instance
>of a literal value gets its own bNode onto which one can
>hang type and other properties?

Gets its own node, yes.

>How does
>
>    <urn:foo> xyz:someProperty [ rdf:value "fi"; rdf:type <urn:iso:3166_1> ]
>.
>
>get to
>
>    <urn:foo> xyz:someProperty "fi" .
>    "fi" rdf:type <urn:iso:3166_1> .
>
>And if
>
>    "fi" rdf:type <urn:iso:639> .
>
>also exists, how do I know *which* "fi" is the actual
>value of xyz:someProperty?

Right. YOu need to extend the Ntriples notation slightly to be able 
to fully capture the structures that can be built. One proposal 
(still not adopted) is to allow nodeIds (the new name for the _:x 
labels) to identify not just blank nodes but also literal nodes. So 
one might write the graph I had in an earlier message:

aaa ---eg:prop--->10--rdf:type--->xsd:integer

could be written in Ntriples++ as:

aaa eg:prop _:1:"10" .
_:1 rdf:type xsd:integer .

where the subject of the second triple is the same nodeID as the 
object of the first one. The general rule to make a graph from such a 
document is: make a separate graph for each triple, then merge all 
nodes with the same nodeID or uriref label; then erase the nodeIDs.

Now, the examples given above might look like this:
_:1:"fi" rdf:type <urn:iso:3166_1> .
_:2:"fi" rdf:type <urn:iso:639> .
<urn:foo> xyz:someProperty _:1:"fi" .

>OK, if range is defined
>for the property, then perhaps that could help
>disambiguate.
>
>I just don't see the utility of using the literal value
>as the label of a node. What is it *really* buying us
>here?
>

I'm not sure what you mean. Which literal value is being used as a 
label of a node? (Did you mean literal?)

>Data typing of literals is a context-sensitive thing, because
>literals are ambiguous.
>
>To treat literals as node labels is to introduce that
>ambiguity into the graph. Why? How is that any more
>flexible or useful than bNodes?

But literals are node labels in ALL the proposals. How else could 
they be in the graph at all?

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 Monday, 5 November 2001 22:31:16 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:42:30 EDT