We need data permissions to be as portable as the data itself. So too for all metadata. Over the course of IIW East, I had a revelation (for me) that there’s real power in having metadata encoded in the same format as the data itself and, in a related way, allowing self-refernce so that the meta data can be referenced from the document it describes. I think I’ve always believed that, but hadn’t really articulated it to myself until yesterday.
Certainly, this idea isn’t new. Just look at XML for the largest, recent example. Nearly everything about and XML document is encoded in XML and even, at times, embedded in the document itself–the schema, the signatures, policies, and so on is expressable in XML.
One of the things I like about XDI is that it is capable of encoding and embedding metadata in the same format as the data. For example, XDI link contracts are the permissions model of what can be shared with whom. Link contracts are just an XDI document. They can be referenced from the XDI document they describe (or anywhere else).
Theoretically, this makes sense. Self referential documents have a power that merely hierarchical document structures don’t. Trees are a subset of graphs. Non-restricted graphs can, by definition, describe more than trees.
Practically, using the same encoding formats saves time in learning, building, and buying new tooling. Allowing self-reference let’s you say more and create structures that you otherwise can’t. Here’s to metadata!