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

On Thu, 2012-07-19 at 14:48 +0100, Nathan wrote:
> David Booth wrote:
> > On Thu, 2012-07-19 at 07:13 -0400, Eric Prud'hommeaux wrote:
> >> * Nathan <nathan@webr3.org> [2012-07-18 22:24+0100]
> >>> David Booth wrote:
> >>>> On Wed, 2012-07-18 at 14:02 -0400, David Booth wrote:
> >>>>> http://www.w3.org/TR/rdf11-concepts/#resources-and-statements
> >>>>> says: "blank nodes do not denote specific resources".  I don't
> >>>>> think
> >>>>> that is quite correct, since a blank node *does* denote a specific
> >>>>> resource.  It just doesn't give that resource a name that is meaningful
> >>>>> outside the graph.  I suggest rewording this as "blank nodes do not have
> >>>>> stable names that can be referenced outside of the graph".
> >>>> Andy explained off list that this was worded this way to avoid implying
> >>>> that a bnode implies a unique, identifiable individual, since a bnode is
> >>>> like an existential variable.  My concern was that it should be clear
> >>>> that when someone writes (in the same graph):
> >>>>
> >>>>  _:b1 a :Dog .
> >>>>  _:b1 :name "Rex" .
> >>>>
> >>>> both statements (when applied) refer to the *same* (unspecified) dog,
> >>>> which has (for the purposes of this graph) been called _:b1, though
> >>>> there may be more than one dog that satisfies these statements.  So I
> >>>> guess the wording here is tricky, and I'm unsure of how to make it
> >>>> clearer.
> >>>>
> >>>> How about "blank nodes do not indicate unique, identifiable resources"?
> >>>> Would that be better?  I'm okay with leaving it as is if you think not.
> >>> "blank nodes indicate the existence of a thing, without providing a
> >>> name for that thing."
> >> +1
> >>
> >> doesn't get involved in assumptions of uniqueness which exist at the
> >> graph-level (e.g. SPARQL) but not in RDF-Entailment or OWL.
> > 
> > The only problem is that that phrasing says that the blank node does not
> > have a name, when _:b1 obviously *is* a name, it just isn't a *stable*
> > name.  Maybe say ". . . without providing a *stable* name for that
> > thing"?
> 
> _:b1 isn't a name, it's an artefact of the serialization, just as [] 
> isn't a name, and the <>'s aren't part of the IRI.

But in plain English _:b1 obviously *is* a name (even if it only exists
in the serialization).  It is only not a name in the RDF abstract model,
because it doesn't exist there.  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. 


-- 
David Booth, Ph.D.
http://dbooth.org/

Opinions expressed herein are those of the author and do not necessarily
reflect those of his employer.

Received on Thursday, 19 July 2012 14:05:35 UTC