Re: Using bnode identifiers for predicates, graph names

On 02/05/2013 04:30 PM, Andy Seaborne wrote:
> On 05/02/13 19:48, Manu Sporny wrote:
>> Just because a serialized array of bytes are the same DOES NOT
>> mean that they describe the same graph.
> 
> I don't understand this part - could you provide an example of a 
> serialized array of bytes that describes two different RDF graphs?

Gavin pointed this flub out in IRC. "Describe" was a poor word choice on
my part. The point I was trying to make is this:

You can have the same data in two graphs. That does mean that when you
compare the two graphs, they are semantically equivalent (where
'compare' is an operation to determine semantic equivalence). That does
not mean that the two graph are the exact same graph.

I was referring to Value equivalence vs. Address equivalence.

In other words, just because this is true:

var A = new({name: "Andy"});
var B = new({name: "Andy"});

A === B (this is true, if === is the semantic equivalence operator)

Does not mean this is true:

addressof(A) === addressof(B) (this is false)

The issue is not about value equivalence, it is about address
equivalence. There is no reason to force the JSON-LD author to assign an
IRI when we don't need to inflict that upon them. That is, if it is fine
to auto-generate a blank node identifier for this markup today:

{
  "@context": "http://example.com/context.jsonld",
  "name": "Andy"
}

Why is it not ok to generate blank graph identifiers for this markup?

[{
  "@context": "http://example.com/context.jsonld",
  "@graph": { ... },
  "created": "2013-02-04"
},{
  "@context": "http://example.com/context.jsonld",
  "@graph": { ... },
  "created": "2013-02-05"
}]

Is that more clear?

-- manu

-- 
Manu Sporny (skype: msporny, twitter: manusporny, G+: +Manu Sporny)
Founder/CEO - Digital Bazaar, Inc.
blog: Aaron Swartz, PaySwarm, and Academic Journals
http://manu.sporny.org/2013/payswarm-journals/

Received on Wednesday, 6 February 2013 01:49:46 UTC