Re: PROPOSAL to close ISSUE-37: Clarifying bnode explanation

Hi Ivan,

On Tue, Oct 19, 2010 at 11:41 AM, Ivan Herman <ivan@w3.org> wrote:
>
> On Oct 19, 2010, at 08:00 , Mark Birbeck wrote:
>
>> Hi Ivan,
>>
>> But at the telecon we agreed not to change the examples.
>>
>
> I have not seen minutes.
>> Obviously I'll wait to see what this wording is, but based on previous
>> discussions my argument was that the bnode identifiers in the prose
>> and the serialisation needed to be consistent.
>
> I am sorry, I strongly disagree with that. The current text is misleading for the casual reader of our spec (who will strongly rely on the examples) and giving a wrong impression via examples is a source of trouble. I do not see any consistency issue here, and even if there was, I would disagree with that argument.
>
> _Something_ should be said in the examples that people should not rely on the bnode identifiers. I fully trust Shane to find the best editorial approach. But the current text is not acceptable in my view.

But what does it mean to "rely on bnode identifiers"?

How do you get a bnode identifier? How do you manipulate them?

It's like saying that JavaScript programmers shouldn't rely on
variable names; yes of course you can tell the novice programmer that
variable names can change without affecting functionality. But don't
whatever you do create sample code where the variable name changes in
the middle of an example.

The corollary for RDFa is that if we begin an example like this:

  <div about="_:ivan" ...

then when we talk about the triples generated by that example we
*must* use _:ivan in our explanations.

This says nothing about the triple-store, or the implementation
specifics about bnodes, because we're just using bnode identifiers,
and they are simply placeholders.

I've explained elsewhere on the list that if you don't retain
consistency then it's like starting a JavaScript tutorial on addition
like this:

  var a = 10;

before going on to say that we can add 10 to this variable, like this:

  b = b + 10;

Why did we change the name of the variable in mid-example? Apparently
because we didn't want readers to have the false impression that all
variables have to be called 'a'. :)

(Note that all of this is separate from our other discussion about
what _:ivan generates internally in the graph.)

Regards,

Mark

Received on Tuesday, 19 October 2010 11:36:27 UTC