Trees represent real-world structures like directories, navigations, org charts and other hierarchies. Relationships bind the nodes of a tree together and give them context with the other nodes.
The Nodes in a tree have one
parent link to their parent Node as well as a
top link to the Tree. Top-level Nodes, those that are direct children of Tree, do not have a
parent link. Nodes that have no
child links are considered leaves.
The Tree resource presents either the Home or Nexus profile and it can choose to support the
DELETE operation. The node resources in the tree are also deleted. For instance, if the tree represents a file system, then deleting the Tree resource also deletes the child file and directory resources because the individual files have no context to exist outside of their directory.
The Tree resource shares the
child relationship with Node resource.
A Node resource has no required profile. If the node’s profile supports the
DELETE operation, a client can remove the node from the tree by deleting the node. This operation deletes all
child nodes and their children as well.
top link points to the Tree of which the node is a member.
Tree and Node resources have 0 or more
child links pointing to direct child Node resources. The ordering of the links is intentional, meaning they should be considered the sibling order. HTTP header sequence rules ensure the client can rely on this order to be consistent with the resource’s ordering intentions.
parent link points to the node’s parent Node.
HTTP/1.1 Message Syntax and Routing: RFC 7230
- Header Field Order: section 3.2.2
Copyright © 2019, 2020, 2021 Matt Bishop
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.