W3C home > Mailing lists > Public > semantic-web@w3.org > October 2010

Re: Is there a systematic method for naming bnodes?

From: Melvin Carvalho <melvincarvalho@gmail.com>
Date: Fri, 8 Oct 2010 14:06:56 +0200
Message-ID: <AANLkTik9X1NCzzPnWpi46g1hYH01rt956DkGOQrrPtxp@mail.gmail.com>
To: Pat Hayes <phayes@ihmc.us>
Cc: Semantic Web <semantic-web@w3.org>
On 4 October 2010 00:21, Pat Hayes <phayes@ihmc.us> wrote:
> I'll try to answer this one...
>
> On Oct 2, 2010, at 5:02 AM, Melvin Carvalho wrote:
>
>> The Semantic Web was based on the principle of using global variables.
>
> Well, not exactly. One of the foundational ideas, certainly, is the existence of global *names*, in the form of URIs (or URI references or IRIs, whatever), but these are not *variables*. They correspond more to constant names than to variables in logic, a sign of which is that they have nothing to bind them and they have no local scope rules.
>
>> It seems to me that bnodes kind of break this pattern.
>
> Im not sure what pattern you mean, but certainly bnodes aren't names or identifiers. In fact, they are in effect local variables, bound to the graph in which they occur. As the RDF semantics points out, they are exactly like existential variables. Think of each bnode as being a word like 'someone' or 'something', to see how different they are from true names.
>
>> I was wondering if there was a systematic method for naming bnodes
>> (e.g. take a hash of the content)
>
> Well, the very idea of a *blank* node is one that has no name, so this idea seems to be rather against the spirit of the bnode, so to speak. Of course, concrete syntaxes do use bnode identifiers, but these are really just an artifact of the need to represent a graph in a linear character sequence. These bnode identifiers are purely local to the graph.
>
> If bnodes were given some kind of 'global' name, then they would be essentially the same as URI references. (And in fact, one can always use a URIref rather than a bnode, and write bnode-free RDF. Several authorities have urged this as a good practice, though I disagree.)  It would be analogous to prohibiting the use of words like 'someone' in English, and requiring instead that a name be used, even if the name is coined just for this purpose. A global naming scheme for bnodes would be like a convention that one had to say 'person-<hash-identifier>' rather than simply 'someone'.
>
>> Seems to me you could solve a lot of the problems of RDF with this
>> were the case?
>
> What problems?

Three problems come to mind:

One problem is the canonicalization of RDF seriealizations, and hence,
ability to sign it with DSIG.  It seems quite hard to canonicalize
bnodes, right now.

Another is referring to data in another graph, say I wanted to
annotate, access control, transform etc.

Another that I was personally trying to solve was an easy way to diff
elements in a triple store cross domain, e.g. for sync purpose

But also it 'feels' like it would make things more elegant, and to my
instincts, solve a number of issues that I havent considered.

>
> Pat Hayes
>
>>
>>
>
> ------------------------------------------------------------
> IHMC                                     (850)434 8903 or (650)494 3973
> 40 South Alcaniz St.           (850)202 4416   office
> Pensacola                            (850)202 4440   fax
> FL 32502                              (850)291 0667   mobile
> phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes
>
>
>
>
>
>
Received on Friday, 8 October 2010 12:14:13 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:20 UTC