> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/sdgm/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/sdgm/_mcp/server.

# Validate the Graph

> Inspect and validate a Kumo Relational graph before making predictions

A Kumo Relational graph combines your table metadata and relationships so Kumo can find related data for a prediction.
After configuring that graph, inspect and validate it to catch structural problems before making a prediction request.
Validation checks structural compatibility; it cannot determine whether the graph accurately represents the business problem.

## Review the complete graph

Inspect table metadata and relationships together:

```python
graph.print_metadata()
graph.print_links()
```

Confirm the following:

* Each table represents one entity, event, or junction concept.
* Every primary key is non-null and unique.
* Event tables use the correct time column.
* Identifier, feature, text, and timestamp columns have appropriate semantic types, which tell Kumo how to interpret each column.
* Every foreign key points to the intended primary-key table.
* Related key columns use compatible physical types.
* The graph contains the relational paths that Kumo must traverse for the intended predictive query.

## Run graph validation

```python
graph.validate()
```

Resolve reported errors before submitting a prediction request. After correcting metadata or relationships, inspect and validate the graph again.

Validation reports invalid relationships, incompatible foreign-key and primary-key types, data-source discovery that returned no tables, and primary-key candidates declined while Kumo inferred the graph.
For graphs converted from warehouse views, inspect the conversion messages for additional diagnostics:

```python
for message in graph.conversion_messages:
    print(message)
```

## Visualize the graph

Generate a Mermaid representation after validation:

```python
graph.visualize(path="graph.html", show_columns=True, height=540)
```

Omit `path` to display the visualization in a supported notebook environment. Local HTML and MMD output do not require a rendering service. PNG and SVG rendering require network access to the Mermaid rendering service. The public method does not accept a `backend` argument.

> **Warning**
>
> Successful validation does not guarantee that a timestamp, relationship, or historical window is appropriate for your prediction task. Review those choices with someone who understands the source data and business question.

When validation succeeds and the graph reflects the intended prediction task, continue to [Make Predictions](/kumo-relational/user-guide/make-predictions/make-predictions).