A link carries its type
Every link names what it means, as one of these types: implements — the linking node is how the linked one is carried out; refines — it states the linked node more precisely, or for a narrower case; constrains — it holds a condition the linked rule depends on; consumes — the domain whose header holds the link uses what the linked section of another domain provides; supersedes — it replaces the linked node, which is archived; exempts — a node of the project's own guidelines takes the linked rule, or every rule under the linked section, out of the rule that a checked rule is implemented (§s-6fw72j65jkqrfpf), for the reason its text gives; cites — the linking node cites the linked one (§s-bpdqd9v72wg7vsz) and no other type says how the two bear on each other, so it holds no link of another type to it; term-relation — the linking term and the linked term are bound, for as long as both exist, in the ratio the link carries; uses — what the linking term names makes use of what the linked term names while taking part in a process, as a user fills in a form while signing up, and the link carries no ratio; a term that only starts a process, as an operator starting an export, uses nothing the process uses.
A term-relation and a uses link bind two terms, and no other type does, cites included: a term citing another term holds a term-relation or a uses link to it.
A ratio is the multiplicity of each end in the usual notation, 1, 0..1, 1..N or 0..N, the linking term's end first — user 1:0..N session says that a user has any number of sessions and that a session belongs to exactly one user. Read from the linked term, the ratio is reversed.
A link without a type records only that somebody thought of two nodes together: no check can grade it and no diagram can draw it. A type named without its meaning is the same guess one step later.
A citation is typed by the words around it where no name of a type says more, so its link has a type of its own rather than none. A use is kept apart from a term-relation because making use of something does not last and has no number to it: given a ratio, it states a multiplicity nobody means. A term that only starts a process takes no part in it, so a use of what the process uses would claim a part it never takes.
An exemption is a link rather than a mark on the exempted rule, so that one node gives the reason for every rule it exempts, and each exempted rule outside the SpecSheriff guidelines shows, among its incoming links, what exempts it.
Its list
- Of
- the types a link between nodes of the specification can carry
- Declared in
- specs/_schema/node.schema.json
#/$defs/ref/properties/type
"implements""refines""constrains""consumes""supersedes""exempts""cites""term-relation""uses"
The links it makes
The links made to it
The decisions taken on it
- Problem
A person fills in a form another term builds, and no ratio fitted that relation: it lasts only while the form is filled, and a term-relation states a multiplicity that holds for as long as both terms exist.
- Ruling
A second type of link between terms, uses, carrying no ratio; a term-relation is bound for as long as both terms exist.
- Problem
A person only starting a process was nearly linked to what that process uses, as if taking part in it.
- Ruling
A uses link is for a term taking part in a process; one that only starts it uses nothing the process uses.
- Problem
A form of a data record refines the data record (s-e877bnfa559tvk9), and refines was defined over rules alone.
- Ruling
The owner: one word changes, rule to node — a form of a data record is the data record for a narrower case; a longer definition was declined as padding.
- Problem
A link declared for a citation had no type to take where none of the types said how the two nodes bear on each other, which left the citation a candidate for a link nobody typed.
- Ruling
The owner: such a link has a type of its own, cites, standing only where no other type describes the two nodes.
- Problem
Its examples were drawn from one project a reader of the method does not know.
- Ruling
The owner: the examples name what any system has — a user, an operator, a data record, a request — and nothing of one implementation; the worked example's subject stays in the example.
- Problem
No type of link could take a rule out of the rule that a checked rule is implemented.
- Ruling
The owner: exempts, from a node of a project's own guidelines to a rule or a section.