Re: Is there a systematic method for naming bnodes?

Hello Nathan, Pat

2010/10/4 Nathan <nathan@webr3.org>

> Pat Hayes wrote:
>
>> 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.
>>
>
> Hmm, does this mean then that often people are using blank nodes as if they
> have a name, and should this be avoided?
>
> for example:
>
>  _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>  :Bob :knows _:x1 .
>  :Sue :knows _:x1 .
>
> as far as I know many RDF processors (and indeed common understanding)
> would treat this as if to say that: "The person that Bob knows called Nathan
> is the same person that Sue knows called Nathan"
>

Indeed it's the way I've ever understood it myself. And actually it's the
kind of use I often present in introducing bnodes, with even less
description of the object, not even a label.
Just to say that :Bob and :Sue have some common relation, about whom I don't
know anything whatsoever otherwise.

:Bob foaf:knows _:x1 .
:Sue foaf:knows _:x1 .

Can I (question for Pat, here) declare this in abstract syntax, without
bnode identifiers? Or should I go through some convoluted declaration of
non-empty class?


> When it appears that correct interpretation would be "Bob knows a person
> call Nathan and Sue knows a person called Nathan"
>

Well, my (maybe naive ) assumption was that using the same bnode identifier
was making for the same-ness of the resource.


>
> Thus, am I mistaken, or would it be preferably to write:
>
>  _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>  :Bob :knows _:x1 .
>  _:x2 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>  :Sue :knows _:x2 .
>

This is different from the above IMHO.


>
> or even:
>
>  :Bob :knows [ a ex:Person, rdfs:label "Nathan" ]
>  :Sue :knows [ a ex:Person, rdfs:label "Nathan" ]
>

Looks to me the same as using _:x1 and _:x2 without any assumption of the
same-ness of _:x1 and _:x2


> And in the case where the person they know is the same person called
> Nathan, then to give that person a proper name, a URI reference.
>

Well my take on this would be that if you don't know more on this common
relation than the "Nathan" name, it barely makes for an identification in
the global Web scope.  "A guy called Nathan and that both Sue and Bob know"
. not even sure of the unicity of the referent ... forging an URI on such a
fragile basis is maybe not a good idea. But this is another story.


Best

Bernard



-- 
Bernard Vatant
Senior Consultant
Vocabulary & Data Engineering
Tel:       +33 (0) 971 488 459
Mail:     bernard.vatant@mondeca.com
----------------------------------------------------
Mondeca
3, cité Nollez 75018 Paris France
Web:    http://www.mondeca.com
Blog:    http://mondeca.wordpress.com
----------------------------------------------------

Received on Monday, 4 October 2010 14:06:19 UTC