---
title: `nexyron.dataset_build`
url: https://nexyron.tech/docs/cypher/procedures/abstraction-platform/runtime/nexyron-dataset-build
description: nexyron.dataset build build one logical dataset from a snapshot and optional split policy
---

# `nexyron.dataset_build`

## Generic Description

`nexyron.dataset_build` build one logical dataset from a snapshot and optional split policy

```cypher
CALL nexyron.procedures()
YIELD name, description, parameters, output_columns
WHERE name = 'nexyron.dataset_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

-   `name`: Dataset definition name Required.
-   `at`: Optional as-of timestamp in epoch milliseconds for snapshot, label, and filter query placeholders Optional.
-   `system_at`: Optional system-time cutoff in epoch milliseconds for snapshot, label, and filter dual-time placeholders Optional.

### Output Columns

-   `subject_id`
-   `snapshot_ts`
-   `split`
-   `label_name`
-   `label_value`
-   `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.dataset_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.dataset_build` 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.

## 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.dataset_build'
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.

## 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.
-   the procedure fails correctly when required contracts or artifacts do not exist; examples should not imply automatic state creation
-   model, policy, and causal outputs are only as defensible as the registered data, temporal, and treatment contracts
