Hierarchy
Build a deterministic single-parent forest.
Hierarchy is the single-parent deterministic mirror of SemHierarchy.
Worked example
Hierarchy(
name="build-folder-hierarchy",
input_spaces=("folders",),
output_space="folder-hierarchy",
primary_key="path",
fn=lambda parent, child: (
child["path"].startswith(parent["path"] + "/")
),
)Callable contract
fn(parent, child) -> bool. True means the first value is broader than the second. The resulting transitive reduction must give every value at most one immediate parent; conflicting deterministic parents fail explicitly.
Rows available to the callable
Each row argument contains the declared primary-key fields and the declared evidence fields available for that input role. If the callable reads a field that is not part of the primary key, declare it as evidence.
| Parameter | Default | Meaning |
|---|---|---|
input_spaces | required | The Space or Spaces read by the task. |
output_space | required | The Space that receives the task output. |
name | required | A stable task name used in sessions, reviews, and metrics. |
primary_key | id | The field, or tuple of fields, that identifies one task input. Duplicate primary-key values are evaluated once. |
evidence | none | Optional fields made available to the callable in addition to the primary key. |
fn | required | A deterministic callable that completely defines the operation's decision. Use an importable named function from your package, or PythonFunction(name=..., source=...) when authoring through the hosted API or node editor. Pairwise endomorphic functions may declare an exact indexed candidate_gate. |
function_parameters | registered defaults | Typed values bound to parameters declared by the registered function. Finite candidate sets let reviewed evidence support parameter advice. |
Output
A forest with parent, child, root, and ancestor relationships.
Design guidance
Use Hierarchy when an exact rule defines one parent chain. Use Taxonomy when exact multi-parent ancestry is valid, and SemHierarchy when ancestry requires interpretation.