JSON-LD graph normalization (ISSUE-53)

There is an open issue on recent changes to the API document [1] on JSON-LD normalization [2]. I recently changed it to remove the normalization algorithm, and reference the RDF Graph Normalization spec [3]. As that spec is written for RDF, it describes returning a common serialization.

This really gets down to the purpose of normalization in JSON-LD. One is to create a reproducible cryptographic signature across different JSON-LD document instances, and even across different RDF serializations. This doesn't require that the result be JSON-LD, or even a graph representation! Another has commonly be used (e.g., in the Framing algorithm), to flatten a JSON-LD document into an array of JSON Objects, with reproducible BNode identifiers so that the output is consistently sorted. I understand the need to be able to flatten the representation, but not to create a standardized ordering of Blank Node objects or values other than for the purpose of creating a signature.

In any case, it would be useful for people interested in this to review and comment on the issue.

Gregg

[1] http://json-ld.org/spec/latest/json-ld-api/
[2] https://github.com/json-ld/json-ld.org/issues/53
[3] http://json-ld.org/spec/latest/rdf-graph-normalization/

Received on Wednesday, 11 January 2012 19:29:18 UTC