Re: a blank node issue

Pat Hayes wrote:
> 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"
> and
> "Someone went out and came in"
> 
> The first, but not the second, is consistent with Bill going out but Sam coming in.

cheers Pat, now I follow :)

Received on Tuesday, 1 March 2011 23:37:13 UTC