Re: Checking equality of graphs serialized in JSON-LD and Turtle

On 10/17/2014 05:04 PM, Melvin Carvalho wrote:
> 
> 
> On 17 October 2014 16:45, Markus Lanthaler <markus.lanthaler@gmx.net
> <mailto:markus.lanthaler@gmx.net>> wrote:
> 
>     On 17 Okt 2014 at 15:35, ☮ elf Pavlik ☮ wrote:
>     > Any recommendations for quick way of comparing, for now just equality,
>     > graphs serialized in JSON-LD and Turtle?
> 
>     It depends on whether you have blank nodes in the document or not.
>     If you don't simply convert it to N-Triples, sort the triples and do
>     a string comparison.
> 
> 
> Yes, you have to do this in a certain way.  Remove all whitespace and
> have exactly one space between the object an the .
>  
> 
> 
>     If you do have blank nodes, it becomes a bit more complex as you
>     need to ensure that the bnodes get assigned the same bnode
>     identifiers. We have been working on a graph normalization algorithm
>     in the JSON-LD CG [1]. Luckily, jsonld.js implements this algorithm
>     (also the JSON-LD playground supports it, just click on the
>     normalize tab). After normalizing both graphs it is trivial to
>     compare them.
> 
> 
> In node try something like:
> 
> var jsonld = require('jsonld');
> 
> jsonld.normalize(doc, {format: 'application/nquads'}, function(err, normalized) {
> 
>   // do something here
> 
> 
> });
> 
> What I commonly do with a normalized doc is take the sha256 and use that for the @id.  In this way you can compare ID's and know that the data is the same.
cool! i don't currently see need for it in testing since i can just
compare stings of full serializations

on the other hand it might come super handy for revisions in levelgraph!

Received on Sunday, 19 October 2014 09:29:32 UTC