Re: Why do we name nodes and not edges?

David Booth wrote:
> Another approach (instead of reification, which I personally hate), is
> to use named graphs.  Named graph have to be used differently, but can
> often solve the same use case.
> 
> For RDF stores that store everything as quads anyway, my guess is that
> even if you have only one named graph per triple it would likely involve
> less overhead than reification, but perhaps one or more of the
> developers of such stores can comment on that more authoritatively.
> 

As I understand it, Melvin is looking for a well defined function that 
would allow one to canonicalize a triple (edge) in to a unique URI. Such 
that f(subject, predicate, object) = edge:123234234 .

Reification allows you to name a triple, but it's not in a canonical 
form with a unique name per triple.

In logic we assign symbols to statements all the time (~A & B), but not 
in a well defined way where each unique statement has exactly one 
canonical name.

An interesting question, is whether two identical triples (edges) from 
different documents would share the same canonicalized form, or whether 
the provenance / named graph would need to be part of the 
canonicalization. More of a f(subject, predicate, object, graph) = 
<edge:graph#123wer234d23> where 123wer234d23 is a hash(subject, 
predicate, object).

One use case of for this (from Melvin) would be to apply weights to 
statements: { X :magnitude 10 } where X is a uri which identifies the 
statement { :Bob :trusts :Mary } .

Best,

Nathan

Received on Sunday, 29 July 2012 13:10:08 UTC