---
title: `nexyron.dataset_register`
url: https://nexyron.tech/docs/cypher/procedures/abstraction-platform/registry/nexyron-dataset-register
description: nexyron.dataset register register or replace one dataset definition
---

# `nexyron.dataset_register`

## Generic Description

`nexyron.dataset_register` register or replace one dataset definition

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

Abstraction-platform registry procedures create, list, read, and inspect named contracts such as abstractions, features, datasets, snapshots, models, policies, interventions, scenarios, and split policies.

## Consumer-Level Explanation

This procedure is part of the abstraction catalog contract layer. Use it when you want to define or inspect named abstraction assets that other runtime procedures will consume later.

### Parameters

-   `name`: Dataset name Required.
-   `cascade_refresh`: When true, immediately refresh materialized datasets with this name after replacing the dataset contract Optional.

### Output Columns

-   `name`
-   `snapshot`
-   `label`
-   `label_query`
-   `target_feature`
-   `predictor_features`
-   `clustering_features`
-   `split_policy`
-   `horizon`
-   `lookback_ms`
-   `filter`
-   `filter_query`
-   `status`
-   `tags`

## 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_register(...)` 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_register` 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_register'
RETURN name,
       [p IN parameters | p.name] AS parameter_names,
       output_columns
ORDER BY name
```

## Real Use Cases

-   Register reusable member-retention dataset contracts once, then let materialization, model training, and policy evaluation reference those names instead of duplicating raw Cypher in every workflow.
-   Bind a dataset directly to a feature-role target value with `target_feature` so the target travels with the same snapshot assembly path as the predictors.
-   Restrict the output feature map with `predictor_features` while using `clustering_features` to define cohort balancing or eligibility rules without forcing those fields to become labels.
-   Keep admin and product teams aligned around one shared abstraction contract for members, households, facilities, interventions, and churn labels during quarterly retraining cycles.

## 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. `nexyron.dataset_build` and `nexyron.dataset_materialize` build rows, apply the filter query, resolve the target value, and assign splits.
-   `target_feature` and `label_query` are alternatives. Use `target_feature` for a registered feature contract; keep `label_query` for legacy or ad-hoc labels that are not yet registered as features.
-   Balanced split policies intentionally drop rows where the selected target or clustering feature is null. This keeps the balanced cohorts meaningful, but it can reduce the final dataset size.
