Abstraction Registry Procedures

Generic Description

Nexyron now exposes a abstraction registry procedure family for several higher-level abstraction and runtime objects:

The implemented procedures are:

Consumer-Level Explanation

These procedures are the catalog-backed metadata layer for graph-native ML and simulation work.

Where it is logical as schema, Nexyron now also exposes direct Cypher DDL and discovery clauses for the abstraction catalog families:

The procedures remain the operational surface for build, materialize, serve, score, decide, apply, and evaluation work.

Use them when you want to define:

They are not the final scoring or simulation runtime yet. They are the first-class registry that later runtime layers can consume.

Conceptual Explanation

This procedure family connects several Nexyron surfaces:

That split is important.

The current implementation deliberately does not pretend that a scenario registry entry is already an executed projection or a causal effect model. It stores:

On top of that registry layer, Nexyron now supports two executable procedures:

The executable builders also now accept optional at and system_at timestamps in epoch milliseconds. Inside registered feature, label, and filter queries, the current implementation exposes exact textual placeholders:

If at is provided and a feature query does not return snapshot_ts itself, the built row is still anchored to that requested time. system_at is currently a shared dual-time execution context and placeholder surface, not a full engine-enforced bitemporal join planner.

And four operational materialization families:

There is also now a direct serving procedure:

And two package-level operational procedures:

In the current engine runtime, queued abstraction refresh work is also drained automatically before ordinary top-level Cypher queries. Semantic maintenance and introspection procedures themselves remain explicit, so abstraction_task_*, abstraction_contract_status, abstraction_artifact_status, and similar inspection calls do not silently consume the queue.

It also now supports:

Feature lifecycle status updates are metadata-only. Use abstraction_task_enqueue_stale, abstraction_refresh_stale, or an explicit materialize/refresh procedure when the intended action is to recompute artifacts.

That keeps the abstraction clean for later effect recomputation and policy evaluation.

More Detailed Explanation

In practical queries, start by deciding the row grain you want after the call: one row per node, one row per path, one row per registry object, one row per artifact, or one row per summary. Then keep that grain explicit with YIELD and named projections. That is the difference between a useful planner-facing example and a vague call that downstream tooling cannot safely compose. For contract-driven abstraction procedures, the executable examples on these pages intentionally inspect procedure metadata unless the required named artifacts are created in the same example.

Advanced Example

CALL nexyron.procedures()
YIELD name, description
WHERE name STARTS WITH 'nexyron.feature_'
   OR name STARTS WITH 'nexyron.snapshot_'
   OR name STARTS WITH 'nexyron.dataset_'
   OR name STARTS WITH 'nexyron.model_'
   OR name STARTS WITH 'nexyron.policy_'
RETURN name, description
ORDER BY name
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, [p IN parameters | p.name] AS parameter_names, output_columns

Real Use Cases

Real Limitations And Tradeoffs