W3C home > Mailing lists > Public > semantic-web@w3.org > March 2011

Re: a blank node issue

From: Pat Hayes <phayes@ihmc.us>
Date: Tue, 1 Mar 2011 17:26:44 -0600
Cc: Ivan Shmakov <oneingray@gmail.com>, semantic-web@w3.org
Message-Id: <BBA4DA69-734E-4FC0-8C09-E991D05B6933@ihmc.us>
To: nathan@webr3.org

On Mar 1, 2011, at 1:41 PM, Nathan wrote:

> Ivan Shmakov wrote:
>>>>>>> Pat Hayes <phayes@ihmc.us> writes:
>> […]
>> > But before you label this an "issue", let me turn the scenario
>> > around.
>> […]
>> > Now serialize these "identical" graphs into two identical
>> > serializations and send them to a common source and ask it to
>> > deserialize them into a single graph. Should it merge these blank
>> > nodes into one? It may well be that if more information had been
>> > sent, it would have been clear that these were two different
>> > people. But even if not, it is clear that can be no general warrant
>> > to presume that two different blank nodes must co-refer, unless of
>> > course one knows that the provenance of the information guarantees
>> > that they do.
>> 	Actually, the question I'm concerned with is exactly the
>> 	opposite one: is there any practical necessity to /preserve/
>> 	blank node identity when used /as an object/?
>> 	To repeat myself, while serializing subgraphs, it's easy, given
>> 	the current standards and implementations, to “break” the
>> 	following graph:
>> foo bar _:blank .
>> baz qux _:blank .
>> 	into the one where the subjects of the triples aren't the same:
>> foo bar _:blank1 .
>> baz qux _:blank2 .
>> 	(Though the respective descriptions of the blank nodes are the
>> 	same.)
>> 	Now, I wonder, what would be the negative consequences in
>> 	practice should we assume that such a “breakage” is not an
>> 	exception, but a rule.  Or, in other words, that the blank node
>> 	identity /as an object/ is of no semantic value.
>> 	Immediately, it becomes possible:
>> 	• to re-create any graph from the set of concise bounded
>> 	  descriptions [1] of its respective (non-blank) subjects;
>> 	• to assign each blank node a content-based identifier (e. g.,
>>          as per [2].)
> Hmm, I'm confused - Blank Node Identifiers are purely a property of the serializations, and not of the blank node, the blank node does not have an identifier, rather the serializations use a temporary identifier so that a blank node can be recomposed when you deserialize. As in, it's already the case that blank node identity has no semantic value, because blank nodes don't have an identifier.

No. Indeed, a blank node has no identifier, in the RDF abstract graph syntax. However, this does not mean it has no semantic value. Take a graph with two blank nodes, and then make another one by identifying those two nodes. The two graphs have different semantic content. It just like the difference between 
"Someone went out, and someone came in"
"Someone went out and came in"

The first, but not the second, is consistent with Bill going out but Sam coming in.


> Cheers,
> Nathan

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 Tuesday, 1 March 2011 23:28:38 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:48:24 UTC