A link kind names what an edge means, and from the kind alone a peer knows whether the target must be fetched first, kept, shown, or merely cited.
Values and flags
kind | meaning | dependency | authority | placement | presentation | reference | retained |
|---|---|---|---|---|---|---|---|
| state dependency: Change deps, Node heads and snapshot, Snapshot prev, Node prev | yes | yes | ||||
| the Grant or Group a blob relies on | yes | yes | ||||
| the parent node named by a Node blob | yes | |||||
| the schema or kind a blob declares | yes | |||||
| a file or media blob the state embeds | yes | yes | ||||
| another resource shown inside this one | yes | |||||
| an ordinary hyperlink | yes | |||||
| an inline reference to an account or resource | yes | |||||
| the resource this one is about | yes |
Dependency links are fetched and applied before the source can be applied. Authority links are fetched first of all. Placement links build the tree. Presentation links are fetched for a full rendering but their absence does not block applying the source. Reference links are indexed as citations and backlinks and drive notifications; target also drives the target access mode. Retained means a following peer keeps the target as long as it keeps the source.
Rules
The flags are fixed per kind so that every peer agrees without exchanging rule tables. Adding a kind is a protocol change to this union and its flags. Which fields of a state produce which kind is declared per Kind by link rules, except dep, parent and proof, which the handler always emits from the Node, Change, Snapshot and Grant fields themselves.
Today (HM24)
The blob_links and resource_links tables hold edges typed by strings such as change/dep, ref/head, comment/target, doc/Embed, metadata/icon, and the visibility propagation rules are a separate table of which edges carry visibility. The nine kinds replace both, and the Stem pages Links and The runtime model explain what sync and retention do with them.
Example
"dep"Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime