`nexyron.snapshot_build`

Generic Description

nexyron.snapshot_build builds one logical feature snapshot from registered feature definitions.

CALL nexyron.procedures()
YIELD name, description, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name, description, parameters, output_columns

Abstraction-platform runtime procedures build, materialize, refresh, inspect, and execute artifacts derived from registered abstraction contracts.

Consumer-Level Explanation

This procedure belongs to the semantic runtime layer and operates on named contracts rather than raw graph patterns alone.

Parameters

Output Columns

Example Contract Prerequisite

The executable Cypher blocks on this page query nexyron.procedures() so they work in an empty database and stay synchronized with the live procedure registry. A direct CALL nexyron.snapshot_build(...) requires the named abstraction contracts, artifacts, features, snapshots, datasets, models, or policies referenced by that call to exist first; otherwise the runtime correctly fails with an unknown-contract error rather than inventing state.

Conceptual Explanation

The important thing about nexyron.snapshot_build is that it now treats a source-query-backed subject_abstraction as the authoritative virtual subject set for the snapshot. When a feature query uses $subject_id, Nexyron resolves the feature's abstraction and executes that feature once per resolved subject. Feature rows that return subjects outside the abstraction are rejected. Feature rows that return NULL as subject_id are treated as invalid feature-contract output; during snapshot materialization the offending feature is marked draft and skipped so the rest of the subject snapshot can still complete.

For stage and society snapshots, feature execution still has to remain subject-scoped, but it no longer injects containment-list placeholders. A stage feature should bind the stage from $subject_id and match contained actors through schema-grounded relationships. A society feature should bind the society from $subject_id, match contained stages, and then match actors through those stages. This keeps materialized stage and society values scoped to the selected subject rather than to the whole database.

Eligible subject-scoped feature queries are batched by passing chunks of resolved subjects through $nexyron_subject_id. The default chunk size is 2048, controlled by NEXYRON_FEATURE_SNAPSHOT_SUBJECT_CHUNK_SIZE. The default inter-chunk pause is 0 milliseconds, controlled by NEXYRON_FEATURE_SNAPSHOT_CHUNK_PAUSE_MS.

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, parameters, output_columns
WHERE name = 'nexyron.snapshot_build'
RETURN name,
       [p IN parameters | p.name] AS parameter_names,
       output_columns
ORDER BY name

Real Use Cases

Real Limitations And Tradeoffs