Introducing the Onyx schema system and deeply linking from the signed data is a huge step in the development of our protocol. This will be very painful or impossible to change in the future.
But this will bring a level of self-documenting clarity and extensibility that we have been hoping for
Schemas and Resources
How do we name and address a Schema?
Ideally we would have human-readable path names, like documents
For example hm://hyper.media/capability should resolve to the capability schema.
Current prototype uses a Document with a special schemaDefinition metadata field to reference the Schema CID.
This makes schemas possibly slow to resolve, and we should probably follow a convention more like comments/profiles.
Replacing the HM "Ref" Blob
We could introduce a Resource Blob type, which would support various formats:
State – Declares the current state of the Resource. May have one or both of:
Snapshot – The complete current state of the resource
ChangeSet – Points to latest Change blobs
Redirect
Tombstone
Note: the CID of a Resource may be used as a version, if it is a State. Therefore, "deps" of a Change may refer to a single Resource blob.
As with the Ref blob: the Resource would specify a path (or TSID). And signing information. Optionally refer to the Capability
The Resource blob would also specify a link to the schema.
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime