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

Re: what to call the nodes formerly know as

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Wed, 19 Sep 2001 19:35:49 -0500
Message-Id: <p05101026b7cee03b490a@[]>
To: fmanola@mitre.org
Cc: w3c-rdfcore-wg@w3.org
>I *am* getting confused.  This seems to say that we'll talk about
>"unlabelled" nodes in the prose, and these nodes will have "bNode
>identifiers" in Ntriples documents?  But a "bNode identifier" sounds
>like "an identifier that identifies a bNode",

Ah, that is unfortunate and not what I intended. Would it be better 
to say 'bNode expression'? I meant, a string of the form '_:foo' in 
an N-triples document, ie a string that an N-triples processor would 
put into the syntactic category 'bNode'.

>but we no longer have

No, we still have the things which are called bNodes in N-triples, 
i.e. RDF nodes without any label. And we still have the string 
"bNode" , but it's in the N-triples syntax.

>  Also, in concentrating on the graph, we seem to have lost
>the connection to resources.  I.e., we now talk about "nodes" with
>"labels" rather than "resources" with URIs (identifiers), at least in
>the case of resources that have them, and that we want to describe using
>RDF.  Is there still an actual connection here (just wondering)?

I thought that connection is what the model theory was all about. Its 
the mapping from URIs to their denotations.


OK, let me try to say my own world-model here so that people can 
throw rocks at it.

1. RDF graphs are graphs, and that's what they are. They aren't 
N-triples documents or anything like that.
2. RDF graphs have nodes and arcs, which are just 'blank' 
mathematical entities, but some of them (all the arcs) are labeled. 
The labels *are* URIs and literals.
3. Nodes without labels are unlabeled, just as a matter of English 
grammar, without introducing any special terminology, so to refer to 
a node as unlabeled is not using any special terminology and 
shouldn't require any special explanation. "Unlabeled" here is simply 
an adjective, not a category name.
4. Resources are what the URIs refer to. The URIs are pieces of text, 
but the resources can be anything. An RDF graph describes 
relationships between resources.
(4a. They can be pieces of text, of course, so a URI is also a 
resource, just like anything else, but that's irrelevant to the 
connection between URIs and resources, since we aren't considering 
reification for the present.)
5. N-triples is a formal language which describes or specifies RDF 
graphs in a particular way.
6. An N-triples document uses particular classes of expressions in 
its syntax to refer to the nodes of the RDF graph it describes. These 
classes of formal N-triples expressions have names which, in the 
usual way, are used in the BNF for N-triples, and they are 'uriref', 
'bNode', and 'literal'.
(6a. I take it that any literal is also a 'literal' in the N-triples 
syntax, which is why it is OK to use the same name. I gather that 
urirefs are URIs as well. I am unclear why N-triples refers to URIs 
by a different name, but it does, and I'm just following along here.)
7. So, to amplify the point, a bNode identifier/expression/whatever 
is a piece of N-triples syntax which is meaningful only in N-triples, 
and is used there to refer to a node in an RDF graph which does not 
have a label.
8. While it is reasonable to say that a bNode 
identifier/expression/whatever refers to a bNode,  'bNode' is not an 
English word; and it is also perfectly correct to say that a bNode 
identifier/expression/whatever refers to an unlabeled node.
9. The relationship between N-triples syntax and RDF graphs is kind 
of obvious, but actually a little tricky to state exactly. Each 
identifier/expression/whatever indicates a unique node, and urirefs 
and literals *are* the labels of the nodes they indicate, but bNode 
identifier/expression/whatevers are not. Each triple indicates a 
unique arc, and the uriref in the property position of the triple is 
the label of that arc, but arc labels need not be unique. (This 
assumes that urirefs *are* URIs. If not, this has to say that the 
label in the graph is the URI corresponding to the uriref 
10. While for urirefs and literals, the unique-node-labelling 
convention makes it easy to simply identify the N-triples syntax 
class with the RDF graph label with the RDF graph node, that easy 
blurring breaks down for anonymous nodes. So it makes sense for the 
'labels' used in N-triples to refer to unlabeled nodes should be 
given a special, distinctive, name, to emphasize that they are NOT 
labels in the same sense. It is good practice to use a technical term 
that could not possibly be confused with any English word, hence 
'bNode' is better than 'anonNode'.

When I asked the question that led to the DECISION quoted below, I 
was intending to ask a question about the terminology used in the 
formal specification of the N-triples syntax, since the N-triples 
document cited in the MT document at that time used the term 
'anonNode' in its BNF.

Hope this helps.


>Pat Hayes wrote:
>>  >I think Frank's right.  From the minutes of last weeks telecon:
>>  >
>>  >DECISION: The nodes formerly known as prince nodes are now and forever more
>>  >known as bNodes.
>>  Ah, I see. I hadn't realized that this meant in English prose as well
>>  as in Ntriples syntax. It makes for rather unreadable English.
>>  However, Ive found that replacing 'anonymous' with 'unlabelled' makes
>>  the prose read OK, and it seems unobjectionable, since whatever we
>>  *call* them, they don't have labels, right? (Sorry, I forgot to do
>>  all the CSS fireworks , and just made the changes.)
>>  OK, I have now tweaked the prose to make it both readable English and
>>  hopefully WG-correct.
>>  BTW, I noticed that I was using 'label' to refer both to node labels
>>  and to ntriples expressions, which is confusing, so I have changed
>>  the latter to 'identifier', eg "....a particular uriref or bNode
>>  identifier in an N-triples document...."  I've also eliminated the
>>  usage of the term 'qliteral' since its no longer in the Ntriples BNF,
>>  and erased the last sentence of section 1.4, which didn't really say
>>  anything.
>>  If anyone objects, say so before Friday :-)
>>  Pat
>>  >http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Sep/0180.html
>>  >
>>  >Brian
>>  >
>>  >
>>  >
>>  >Frank Manola wrote:
>>  >
>>  >>I thought we had decided to call them "bNodes", which would be indicated
>>  >>in Ntriples by "bNode labels";  you sort of used that terminology in
>>  >>Section 0, but only part of the time :-)
>>  >>
>>  >>
>>  >>Pat Hayes wrote:
>>  >>
>>  >>>What do we call these unlabelled thingies in RDF graphs? I gather
>>  >>>that the use of the term 'anonymous node' is deprecated. I propose to
>>  >>>call them 'blank nodes' in the MT text, any objections?
>>  >>>
>>  >>>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
>Frank Manola                   The MITRE Corporation
>202 Burlington Road, MS A345   Bedford, MA 01730-1420
>mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-8752

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Wednesday, 19 September 2001 20:35:57 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:04 UTC