Deterministic operators
← Relifold documentationTaxonomy
Build deterministic broader and narrower relationships.
Taxonomy builds ancestry from a trusted broader-than predicate.
Worked example
Taxonomy(
name="build-path-taxonomy",
input_spaces=("paths",),
output_space="path-taxonomy",
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.
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
Broader and narrower relationships, including the resulting component structure.
Design guidance
Use Taxonomy when ancestry follows exact paths, ranges, or rules. Use SemHierarchy or SemTaxonomy when broader-than requires semantic judgment.