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

Re: Is there a systematic method for naming bnodes?

From: Reto Bachmann-Gmür <reto.bachmann@trialox.org>
Date: Mon, 04 Oct 2010 17:29:16 +0200
Message-ID: <4CA9F2CC.6040409@trialox.org>
To: nathan@webr3.org
CC: Bernard Vatant <bernard.vatant@mondeca.com>, Pat Hayes <phayes@ihmc.us>, Semantic Web <semantic-web@w3.org>
Nathan said the following on 10/04/2010 04:05 PM:
> Bernard Vatant wrote:
>> 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.
>
> That's my worry, is it asserting the sameness or not?
Yes, they are. the scope oof the bnode is the graph, the above graph is
true for exactly those worlds where there is a person labeled Nathan
known by :Sue and :Bob,
>
>  if i swap out bnodes for "something" then 
> Bob knows something that is a Person with a label of "Nathan"
>  Sue knows something that is a Person with a label of "Nathan"
>
> but I don't see any sameness.
yes the latter graph is more general, it is true even in those world
where :Sue and :Bob know a different Person labeled Nathan.
>
> Perhaps I could reverse the question to ask, if I parsed the following
> graph:
>
>   _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>   :Bob :knows _:x1 .
>   :Sue :knows _:x1 .
>
> Could I then serialize it as:
>
>   :Bob :knows [ rdf:type ex:Person ; rdfs:label "Nathan"@en ] .
>   :Sue :knows [ rdf:type ex:Person ; rdfs:label "Nathan"@en ] .
know, you lost information.
>
> or
>
>   _:g1 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>   :Bob :knows _:g1 .
>   _:g6 rdf:type ex:Person ; rdfs:label "Nathan"@en .
>   :Sue :knows _:g6 .
the two last varaints are serializations of the same graph (which is
different than the original).

Cheers,
reto
>
> If the answer is yes, then there is no sameness I guess.
>
> Best,
>
> Nathan
>
Received on Monday, 4 October 2010 15:30:16 UTC

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