W3C home > Mailing lists > Public > public-lod@w3.org > April 2011

Re: Linked Data, Blank Nodes and Graph Names

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Thu, 07 Apr 2011 14:02:40 -0400
Message-ID: <4D9DFC40.1020907@openlinksw.com>
To: nathan@webr3.org
CC: Linked Data community <public-lod@w3.org>
On 4/7/11 1:45 PM, Nathan wrote:
> Hi All,
> To cut a long story short, blank nodes are a bit of a PITA to work 
> with, they make data management more complex, new comers don't "get" 
> them (lest presented as anonymous objects), and they make graph 
> operations much more complex than they need be, because although a 
> graph is a set of triples, you can't (easily) do basic set operations 
> on non-ground graphs, which ultimately filters down to making things 
> such as graph diff, signing, equality testing, checking if one graph 
> is a super/sub set of another very difficult. Safe to say then, on one 
> side of things Linked Data / RDF would be a whole lot simpler without 
> those blank nodes.
> It's probably worth asking then, in a Linked Data + RDF environment:
> - would you be happy to give up blank nodes?

The LOD community practice, as I know it goes something like this: not 
encouraged, but cannot be banned re. Linked Data.

Danny once said to me (Banff2007): a lot of my friends are Blank Nodes :-)

> - just the [] syntax?
> - do you always have a "name" for your graphs? (for instance when 
> published on the web, the URL you GET, and when in a store, the ?G of 
> the quad?
> I'm asking because there are multiple things that could be done:
> 1) change nothing
> 2) remove blank nodes from RDF
> 3) create a subset of RDF which doesn't have blank nodes and only 
> deals with ground graphs
> 4) create a subset of RDF which does have a way of differentiating 
> blank nodes from URI-References, where each blank node is named 
> persistently as something like ( graph-name , _:b1 ), which would 
> allow the subset to be effectively "ground" so that all the benefits 
> of stable names and set operations are maintained for data management, 
> but where also it can be converted (one way) to full RDF by removing 
> those persistent names.
> Generally, this thread perhaps differs from others, by suggesting that 
> rather than changing RDF, we could layer on a set of specs which cater 
> for all linked data needs, and allow that linked data to be considered 
> as full RDF (with existential) when needed.
> It appears to me, that if most people would be prepared to make the 
> trade off of loosing the [ ] syntax and anonymous objects such that 
> you always had a usable name for each thing, and were prepared to 
> modify and upgrade tooling to be able to use this 
> not-quite-rdf-but-rdf-compatible thing, then we could solve many real 
> problems here, without changing RDF itself.
> That said, it's a trade-off, hence, do the benefits outweigh the cost 
> for you?

Maybe it boils down making what Blank Nodes are a lot clearer. In the 
real-world I can assert 'existence' of something that possesses a 
collection of characteristics without having to specifically Name the 
Subject of my observations. I think capturing the context of the 
assertions ultimately alleviates the pain. I think Sandro Hawkes graph 
nomenclature [1] re. g-box, g-snap, and g-text helps a lot.


1. http://lists.w3.org/Archives/Public/public-rdf-wg/2011Feb/0092.html - 
Sandro's Graph Nomenclature (SGN) :-)
> Best,
> Nathan



Kingsley Idehen	
President&  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen
Received on Thursday, 7 April 2011 18:03:03 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:16:13 UTC