# Data Modelling

The **Data Modelling** section of ODD Platform is the home for operator-curated artefacts that describe how data is *intended* to be used: canonical query examples and the entity-to-entity relationships that collectors extract or that operators define explicitly. The section is intentionally narrow — two child surfaces today — but the role is durable: anything that documents the *contract* of a dataset (how it's queried, how it's connected) belongs here rather than in the per-entity catalog page.

Open it from the top-level navigation **Data Modelling**. The route opens on **Query Examples** by default; a vertical-tabs sidebar switches between Query Examples and Relationships in one click.

## Subsections

* [**Query Examples**](/features/data-modelling/query-examples.md) — operator-curated SQL / KQL / Spark snippets attached to data entities and terms. Surfaces "how the team uses this dataset" as a first-class catalog object instead of leaving it buried in a wiki, with a dedicated faceted search and term-linking workflow.
* [**Relationships**](/features/data-modelling/relationships.md) — entity-to-entity links rendered as ERD diagrams. Covers two relationship classes: `ENTITY_RELATIONSHIP` (foreign-key-style ERD edges between table-class entities) and `GRAPH_RELATIONSHIP` (free-form graph edges, e.g. between Neo4j nodes).

## UI entry points

| Path                                  | What                                                                                         |
| ------------------------------------- | -------------------------------------------------------------------------------------------- |
| `/data-modelling`                     | Redirects to `/data-modelling/query-examples`.                                               |
| `/data-modelling/query-examples`      | Query Examples list + creation surface. RBAC-gated by `QUERY_EXAMPLE_CREATE`.                |
| `/data-modelling/query-examples/{id}` | Query Example details / edit. RBAC-gated by `QUERY_EXAMPLE_UPDATE` + `QUERY_EXAMPLE_DELETE`. |
| `/data-modelling/relationships`       | Relationships list — ERD and graph relationships discovered across all data sources.         |

## Why this is a separate pillar

For how Data Modelling relates to the other governance pillars (Data Discovery, Master Data Management, Data Lineage, Data Glossary, Data Quality), see [Main Concepts → Data Governance map → Pillar differentiation](/introduction/main-concepts.md#pillar-differentiation) — the canonical home for the six-pillar framing. Data Modelling is its own pillar because it captures the *contract* of a dataset (how it's queried, how it's connected) — the dataset itself comes from outside; this pillar records the intent and structure layered on top.

## Where to next

* If you're documenting how a dataset is *queried*, start with [Query Examples](/features/data-modelling/query-examples.md).
* If you're discovering how datasets are *connected* (foreign keys, cross-schema joins, graph references), start with [Relationships](/features/data-modelling/relationships.md).
* For the broader catalog vocabulary (Data Entity, Plugin, Push adapter, …), see [Main Concepts](/introduction/main-concepts.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opendatadiscovery.org/features/data-modelling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
