Re: [Editorial] "blank nodes do not denote specific resources"

On Thu, 2012-07-19 at 14:58 -0500, Pat Hayes wrote:
> On Jul 19, 2012, at 1:57 PM, David Booth wrote:
> 
> > On Thu, 2012-07-19 at 11:32 -0500, Pat Hayes wrote:
> >> On Jul 19, 2012, at 9:05 AM, David Booth wrote:
> >> 
> >>> On Thu, 2012-07-19 at 14:48 +0100, Nathan wrote:
> > [ . . . ]
> >>>>>>> "blank nodes indicate the existence of a thing, without providing a
> >>>>>>> name for that thing."
> > [ . . . 
> >>> So if we claim that it's not a name,
> >>> then we have to explain that we're using the word "name" in a special
> >>> way, and in general I think it's better to stick with plain English when
> >>> possible. 
> >> 
> >> [ . . . ] In RDF, a "name" is either a URI reference (soon to be an
> >> IRI) or a literal. 
> > 
> > But that definition of "name" does not appear in the current draft of
> > the Concepts document:
> > http://www.w3.org/TR/rdf11-concepts/
> > It appears only in the RDF Semantics document:
> > http://www.w3.org/TR/rdf-mt/#defname
> > And the reader of the Concepts document certainly should not be expected
> > to have read the Semantics document first.
> 
> Fair enough, and this is exactly the kind of editorial reshuffling that we are trying to get right in the next round of re-writing. Clearly this is a 'concept' notion. 
> 
> > 
> >> Blank nodes are not names and do not have any associated textual
> >> identifier.  This is all stated very clearly and simply in the RDF
> >> specs. Get used to it.
> > 
> > Certainly *I* am used to it, but this phrasing is in the introduction,
> > where the point is to help the new reader who is *not* yet used to it.  
> 
> Sorry. (I replied to you before morning coffee.) Point taken. 
> 
> > Actually, stepping back a moment, a *very* common misunderstanding of
> > RDF is to confuse the RDF model with a particular RDF serialization.
> 
> Hmm. We tried to get this across, but the idea of an 'abstract' syntax model does seem to be hard for some readers to grasp. Maybe we need to spend more time and space on this. 
> 
> > There is some nice explanation in the RDF Semantics document of the fact
> > that a "node identifier" like _:xxx is not a "name" and does not exist
> > in the RDF graph:
> > http://www.w3.org/TR/rdf-mt/#graphsyntax
> > [[
> > [The N-Triples syntax] uses a node identifier (nodeID) convention to
> > indicate blank nodes in the triples of a graph.  While node identifiers
> > such as '_:xxx' serve to identify blank nodes in the surface syntax,
> > these expressions are not considered to be the label of the graph node
> > they identify; they are not names, and do not occur in the actual graph.
> > In particular, the RDF graphs described by two N-Triples documents which
> > differ only by re-naming their node identifiers will be understood to be
> > equivalent.
> > ]]
> > 
> > Maybe a good way to help clarify this use of the word "name" and help
> > reduce that common misunderstanding of RDF is to pull some of that
> > explanatory material to the Introduction of the Concepts document,
> > perhaps rewording to refer to serialization in general, rather than just
> > N-Triples.
> 
> Indeed, a good suggestion. 

While we're imagining changing the descriptions and/or names of RDF
concepts to make things easier to understand, I've always liked thinking
of URIs as global-scope names and blank nodes labels as local-scope or
file-scope names.  For anyone comfortable programming in a language
which has such features, it's probably a painfully simple
correspondence.  (The pain comes in when people get lost in talking
about whether _:b is a name associated with a blank node.  It seems to
me "_:b" is a file-scope "name" for something exactly as
"http://example.com" is a global-scope name for something.

   -- Sandro

Received on Thursday, 19 July 2012 21:47:25 UTC