Type definitions for IPLD?

Has there been any work done in providing schemata / type definitions for IPLD?

Something like json schema / xml schema, but for IPLD? This being IPFS, there would of course have to be a way to transform a type definition to a canonical representation, serialise it as IPLD and then store it on IPFS. This has the big advantage that you can refer to an arbitrarily complex type with a simple CID.

There is a project that is vaguely similar, but way more ambitious: http://unisonweb.org/ . And of course you can always just take json schema and dump it on IPFS.


Iā€™m not sure if any has been done, but I would also like to find out. Perhaps protocol buffers could be used?