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

Re: Resolution of: #rdfms-identity-anon-resources

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Fri, 12 Oct 2001 14:33:13 -0500
Message-Id: <p05101008b7ece9b7d924@[205.160.76.193]>
To: Graham Klyne <GK@NineByNine.org>
Cc: w3c-rdfcore-wg@w3.org
>[Re-post, with comments to specific issues raised in the original 
>issue -- see end of this message.  I've also re-phrased point 3 to 
>avoid the phrase "normal use".]
>
>With respect to the issue:
>[1] http://www.w3.org/2000/03/rdf-tracking/#rdfms-identity-anon-resources
>
>Being a revision of my previous message:
>[2] http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Aug/0030.html
>
>And citing the model theory document:
>[3] http://www.w3.org/TR/2001/WD-rdf-mt-20010925/
>
>I propose the following resolution text:

Since it looks like this is back out of the closet, a few minor 
suggestions on wording:

>[[[
>1. Resources that are described but not named in an XML 
>serialization (by rdf:ID or rdf:about) are represented in an RDF 
>abstract graph by nodes that do not have any associated URI.

Might ruffle fewer feathers if instead of saying 'do not have', say 
'are not identified by'. (After all, anything might *have* a URI, 
right? It says that in the Creed.) The point is that these nodes 
aren't being identified by their URI in the RDF graph; any URI that 
they might have is outside their RDF-graph syntactic role and should 
be invisible to, or be deliberately ignored by, any  RDF engine.

>  Such nodes, called bNodes (from blank nodes) are thereby 
>distinguishable from other described resource nodes, which do have 
>an associated URI-reference label.

...which are identified by their URI label.

>To directly address the question of the issue:  a so-called 
>anonymous resource has no URI.

...resource is not referred to by a URI in an RDF graph. (OR: 
...resource has no URI in the RDF graph.)

Actually it might be better to avoid the term 'anonymous resource' 
altogether. After all, the same resource might be anonymous in one 
graph but referred to by a URI in some other graph. I don't think we 
can ever know if a resource is truly anonymous, since someone, 
somewhere, might have given it a URI without telling us.

Suggested re-wording:

a so-called anonymous resource is one that is not identified by a URI 
in the RDF graph being considered.
>2. To reflect un-named descriptions in N-triples

To refer to blank nodes in an N-triples document

>, local names must be
>introduced (i.e. of the form '_:name').  These names are not URIs, and
>their scope is the N-triples document in which they appear.

Right. It is important that these not be general URIs in the 
N-triples document, since then there would be no way to distinguish 
them from the URIs intended to be in the graph.

Also it might be worth saying explicitly that these local names are 
not part of the graph itself, but are used only within the N-triples 
syntax to identify graph nodes. They are just artifacts of the need 
to describe a graph in a linear lexical form. They really aren't part 
of RDF at all, so this isn't creeping terminology-rot.

>3. In the defined use of RDF to express ground facts, the meaning of 
>bNode is to assert the existence of at least one resource which is 
>the subject and/or object of properties as indicated by the graph. 
>This is covered more formally by the Model Theory [3], section 2. 
>See also the anonymity lemmas in section 3.2.

Sorry to bring up yet another terminological quibble, but this term 
'bNode' is rather unfortunate. It would be better to call them 
something like 'nodeID', to emphasize that this thingie in the 
N-triples syntax really is the name *of a node*, rather than an label 
attached to the node in the graph. The problem with 'bNode' is that 
it reads as though the thing in the Ntriplesdoc actually is the blank 
node itself; we often talk to one another using 'bNode' as a synonym 
for 'blank node', in spite of it really being a syntax class name in 
N-triples, which is a bit like waiters referring to a customer by 
mentioning the food he is eating. It is perilously easy to read this 
as meaning that the node in the RDF graph has a label  that starts 
with the characters '_:', which is exactly what we don't want to say.

In the newer draft of the MT, I found that I needed to write things 
like 'bNode identifier' to refer to the items in the Ntriples syntax, 
ie things like
  _:name
, since if I call them 'bNodes' it sounds like I'm saying that a node 
is in a document.

I know that we have an investment in the 'bNode' terminology, but I 
wonder if it would be worth changing it, since this issue seems to 
(still) generate so much smoke and heat.

Also, BTW, although this is looking ahead, if we allow literals as 
subjects and we also have literal datatyping, then we will probably 
need to use node identifiers even for non-blank (literal) nodes in 
Ntriples, since the datatyping has to be attached to the node rather 
than the node label. So the more neutral terminology might be even 
more beneficial. If we find ourselves having to talk about blank 
nodes labelled with literals we will be in deep confusion.

>NOTE:  it has been proposed that the RDF graph syntax can be used 
>for form a query, in which bNodes may be interpreted as query 
>variables.  This resolution confirms that bNodes can be 
>distinguished from other labelled nodes within the graph syntax, but 
>is silent about if and how the graph syntax might be used to 
>represent a query.

It might be better to just be silent about this entire issue (?)

>This resolves specific questions in the original issue raised thus:
>
>[1.] Should anonymous resources have URI's?
>-- No (point 1 above).

As labels in the RDF graph, no.  In general, is a matter on which we 
choose to be silent.

>[2.] If so, should they be clearly distinguishable as parser generated URI's?
>-- Not applicable:  the parser is not required to generate URIs.

If they exist and if an RDF processor can see them, then it needs to 
know that they are NOT intended to be part of the RDF graph.

>[3.] Should there be a standard algorithm for generating URI's which ensures
>  that different parsers generate the same URI's from the same source
>  input document?
>-- No:  the parser is not required to generate URIs.

Right.

>
>[4.] How might these automatically generated URI's be affected by changes
>  in the source document?
>-- There no automatically generated URIs to be affected.
>]]]

Right. However, if there were any, for some external reason, then the 
answer to this question would have no bearing on the RDF meaning of 
the graph, or on any source document with the same meaning.

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 Friday, 12 October 2001 15:33:24 EDT

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