---
title: `nexyron.snapshot_materialized_read`
url: https://nexyron.tech/docs/cypher/procedures/abstraction-platform/runtime/nexyron-snapshot-materialized-read
description: nexyron.snapshot materialized read reads one cached materialized feature snapshot artifact.
---

# `nexyron.snapshot_materialized_read`

## Generic Description

`nexyron.snapshot_materialized_read` reads one cached materialized feature snapshot artifact.

```cypher
CALL nexyron.procedures()
YIELD name, description, parameters, output_columns
WHERE name = 'nexyron.snapshot_materialized_read'
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 reads cached feature snapshot rows from the abstraction artifact surface. The row shape is reconstructed from the stream-backed feature histories written during materialization, so exact snapshot reads and feature-history reads use the same stored values.

### Parameters

-   `name`: Snapshot definition name Required.
-   `scenario`: Optional scenario name used when the snapshot was materialized Optional.
-   `at`: Optional ASOF timestamp in epoch milliseconds. Use this to select one daily or historical materialized snapshot for the same contract Optional.
-   `system_at`: Optional system-time cutoff in epoch milliseconds for dual-time snapshots Optional.

### Output Columns

-   `subject_id`
-   `snapshot_ts`
-   `features`

## 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_materialized_read(...)` 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_materialized_read` is that it stays inside the same Cypher and abstraction-contract runtime as the rest of Nexyron. That means it can compose with named abstractions, time-aware snapshot contracts, document-style payloads, graph-native identity, and later model or policy layers without forcing you to move into a separate tool first.

Materialized snapshots are selected by `name`, optional `scenario`, optional `at`, and optional `system_at`. If daily automatic snapshots exist, pass the `requested_at_ms` value reported by `nexyron.snapshot_materialized_list` as `at` to read that specific day. Use `nexyron.feature_history` when the goal is one feature across many timestamps.

## 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

```cypher
CALL nexyron.procedures()
YIELD name, parameters, output_columns
WHERE name = 'nexyron.snapshot_materialized_read'
RETURN name,
       [p IN parameters | p.name] AS parameter_names,
       output_columns
ORDER BY name
```

## Real Use Cases

-   Build or refresh quarter-specific training artifacts close to the graph so analysts can inspect the exact rows, labels, and split behavior before promoting a model.
-   Audit artifact freshness, dependency shape, and rebuild backlog when a late membership backfill or facility schedule correction invalidates downstream abstraction assets.
-   Read the exact ASOF feature row used by a daily snapshot after a model score or policy decision needs explanation.
-   Reconstruct the grouped snapshot row for compatibility with dataset, model, and policy surfaces while keeping the canonical stored values in feature streams.

## Real Limitations And Tradeoffs

-   This surface is contract-driven. If the registered feature, snapshot, dataset, model, or policy definition is weak, the procedure will faithfully execute that weak contract rather than silently repairing it.
-   Catalog procedures define or expose metadata. They do not by themselves build data, score models, or apply interventions.
-   Materialized feature streams improve reuse, but they add freshness and invalidation concerns that on-demand execution avoids.
-   Reading without `at` selects only the non-ASOF materialization for that snapshot. Use `nexyron.snapshot_materialized_list` first when multiple daily or historical entries exist.
