RDF graph serialization as bytes: A solved problem?

I am reading the W3C Verified Credentials Data Model, and I'm noticing
there's not a W3C Verified Credentials Syntax (
https://www.w3.org/TR/vc-data-model/#syntaxes). Instead, there is JSON and
JWT, JSON-LD, perhaps with LD Proofs. The obvious problem is that you
cannot specify a cryptographic signature scheme unless you have a concrete
bytestring you are signing (you usually have to hash the message to sign).
So, its quite unclear what it means to "sign" a graph unless you have a
single version of the graph as *bytes*.

There's a Community Specification called "RDF Dataset Normalization":

http://json-ld.github.io/normalization/spec/

However, it does not actually specify a syntax, just a graph normalization
algorithm (which is unclear if it actually works, usually you need proofs
for these sorts of things).

Second, there is Linked Data Proofs, which also does not actually seem to
feature a way to convert arbitrary linked data graphs to bytes and is also
not normative.

https://w3c-ccg.github.io/ld-proofs/

Perhaps this is just a solved problem, but given that the usage of
signatures in Verified Credentials requires getting this right (see the
various attacks on XML DSIG), I'd like to know if 1) there is a normative
normalization to bytes of RDF graphs and 2) If it has some proofs or real
interoperability, not just a JS library.

   thanks,
       harry

Received on Monday, 31 August 2020 20:14:14 UTC