blank nodes ….

One question that I didn't really answer today was about my choice to use blank nodes extensively following 

http://www.w3.org/TR/swbp-n-aryRelations/

[[
we did not give meaningful names to instances of properties or to the classes used to represent instances of n-ary relations, but merely label them_:Temperature_Observation_1, Purchase_1, etc. In most cases, these individuals do not stand on their own but merely function as auxiliaries to group together other objects. Hence a distinguishing name serves no purpose. 
]]

This is an old chestnut, with there being two sides with some people (e.g. some notable names in the linked data community) having a strong dislike for blank nodes, and others (including myself) seeing them as one of those necessary things, which you could abolish only to have to reinvent.

I found this old message on the web fairly easy:

http://lists.w3.org/Archives/Public/www-rdf-interest/2003Jul/0166.html

[[

>> Q: Why are blank nodes necessary?

> There is, I think, a sustainable argument that blank nodes are not *necessary*. 

I beg to differ. Blank nodes are absolutely necessary.

Consider translating an XML file into RDF, where typically
none of the incoming resource nodes have URI's. You have two choices, you
can use blank nodes to represent them, or you can use (globally
unique) URI's. If you use URI's, then you need a scheme for
generating them so that (1) you don't clash with other uniquely
generated nodes, (2) you need to figure out how to label
the nodes each of the subsequent times that you load the same
graph, (3) you still need a scheme to know that these nodes are
semantically "blank", so that your application can avoid generating
"pointers" to them. Its not safe to reference the URI's of blank
nodes, since typically they won't recur the next time you load, or
if they do recur, there is no way to guarantee that they denote
the same node they did the first time.

So, you can have blank nodes, or you can have a maintenance
nightmare. The choice is yours.

Cheers, Bob

]]

Hmmm, nearly 10 years old.


In particular any process we have for creating URIs for the blank nodes on my slide 16 "INFO about Alleles"
http://lists.w3.org/Archives/Public/www-archive/2013Apr/att-0002/W3C-JJC-LifeSci.pdf

would need to be wise to the fact that whether the VCF line (extract) reads
http://lists.w3.org/Archives/Public/www-archive/2013Apr/att-0002/W3C-JJC-LifeSci.pdf
#CHROM	POS	 	REF	ALT		INFO
20			1110696	A		G,T		AF=0.333,0.667;AA=T;DB

or swapping the order of the alleles

#CHROM	POS	 	REF	ALT		INFO
20			1110696	A		T,G		AF=0.667,0.333;AA=T;DB

is inconsequential and should not result in any semantic difference, and in addition that we cannot use the base sequence in the generation of a URI for an allele since not all alleles have a base sequence, e.g. a deletion of only some approximate length






Jeremy J Carroll
Principal Architect
Syapse, Inc.

Received on Wednesday, 3 April 2013 19:13:00 UTC