---
title: nexyron.graph.refresh
url: https://nexyron.tech/docs/cypher/procedures/catalog-and-projections/nexyron-graph-refresh
description: Rebuild a projection from its stored definition.
---

# nexyron.graph.refresh

## Generic Description

Rebuild a projection from its stored definition.

Simple example:

```cypher
CALL nexyron.graph.refresh({name: 'people_knows'})
```

Catalog and projection procedures manage projected graphs, aggregate views, procedure metadata, and abstraction graph projections used by analytical workflows.

## Consumer-Level Explanation

Use `nexyron.graph.refresh` when rebuild a projection from its stored definition is the graph-analysis or operational question you actually need to answer. Keep the call explicit because its `YIELD` columns, row grain, and required runtime state determine how the rest of the Cypher pipeline can safely compose it. Use these procedures when the query needs to inspect or maintain derived structures explicitly instead of assuming they already exist.

## Conceptual Explanation

`nexyron.graph.refresh` should be read as one named procedure contract in the broader Nexyron Cypher surface. The procedure call is not only a syntax hook: it defines what runtime state, projection, registry entry, or graph algorithm is being asked to operate, and it determines which output columns downstream `YIELD`, `WITH`, and `RETURN` stages can safely use.

## More Detailed Explanation

Refresh is the bridge between a durable projection definition and a changing underlying graph

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 procedures, the executable examples on these pages intentionally inspect procedure metadata unless the required named artifacts are created in the same example.

## Advanced Example

This example yields named columns from `nexyron.graph.refresh` and returns a bounded result shape that downstream planner tooling can compose without guessing column names or row grain.

```cypher
CALL nexyron.graph.refresh({name: 'people_knows'}) YIELD name, node_count, edge_count, density
RETURN name, node_count, edge_count, density
```

## Real Use Cases

-   keeping analytical snapshots in sync after source mutation
-   repeatable experimentation
-   operational maintenance of projection-backed analytics
-   inventory projected graphs, aggregate views, and procedure metadata before running dependent analytics
-   make derived structure maintenance explicit in migrations and operational checks

## Real Limitations And Tradeoffs

-   refresh cost depends on the projection definition and underlying data volume
-   catalog procedures describe or maintain registered structures; they do not validate that the underlying model is analytically appropriate
-   dropping or refreshing derived structures can affect dependent workflows and should be treated as an operational action
