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

Re: a blank node issue

From: Ivan Shmakov <ivan@main.uusia.org>
Date: Wed, 02 Mar 2011 00:09:06 +0600
To: semantic-web@w3.org
Message-ID: <87aahebtml.fsf@violet.siamics.net>
>>>>> 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].)

	(Leaving cyclic subgraphs involving blank nodes aside for now.)

	Both of the above are of importance to the distribution of the
	descriptions, since data distribution all too often relies on
	the ways to split the data and name the chunks.

	The feasibility of such an approach depends on what the blank
	nodes are used in practice for.  The first blank node example in
	RDF Primer [3] is all about a blank node that is “defined” by
	its own properties: it doesn't matter whether particular
	addresses are given by the same blank node or not — it's the
	/properties/ of these nodes (or node) that matter.  Also, [1]
	argues against overuse of the blank nodes.

	… There's a distant, yet vaguely similar, aspect of the IEEE
	floating point arithmetics.  Namely, certain operations may give
	a “not a number” (or NaN) result.  The core property of NaN is
	that it isn't equal to itself.  That is, if x = sqrt (-1), then
	x == x is false.  Perhaps, a blank node is just a Semantic NaN?

	But, honestly, I'm not sure.

PS.  Is there any good example of when a cyclic subgraph involving a
	blank node may be reasonable, BTW?

[…]

[1] http://www.w3.org/Submission/CBD/
[2] http://www.hpl.hp.com/techreports/2002/HPL-2002-216.pdf
[3] http://www.w3.org/TR/rdf-primer/

-- 
FSF associate member #7257

Received on Tuesday, 1 March 2011 18:09:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:42:26 UTC