# Data Objects Lineage

ODD Platform renders upstream and downstream lineage across the full ODD entity model — not just datasets. Every data-entity class participates: datasets and views, transformers (ETL jobs, ML training jobs, microservices), transformer runs, data quality tests and their runs, consumers (BI dashboards, ML model artifacts), data inputs (API calls), data entity groups (including ML experiments), and entity relationships. See the [ODD Data Model](https://github.com/opendatadiscovery/opendatadiscovery-specification/blob/main/specification/specification.md#data-model-specification) for the canonical class reference.

![](/files/Og7MMpZ2ig24ZWPXvCuw)

## Where to find it in the UI

* **Lineage tab** on any data-entity detail page — opens the entity-centric graph with the entity at the centre and configurable upstream / downstream depth.
* **Group lineage** entry point on a [Data Entity Group](/features/data-discovery/groups-domains.md) detail page — opens the lineage of the group's *children*, not of the group itself (see below).

The graph supports pan, zoom, and on-click expansion of intermediate nodes; the per-entity depth and pre-expanded nodes are controlled by query parameters (next section).

## Query parameters

The per-entity lineage graph is parameterised by two optional query parameters — `lineage_depth` (the number of upstream / downstream hops to walk by default) and `expanded_entity_ids` (entities to expand inline rather than show as collapsed neighbour stubs). Types, defaults, and when to set each are documented at [API Reference → Lineage → Per-entity lineage](/developer-guides/api-reference/lineage.md).

## Group lineage

The dedicated lineage endpoint for [Data Entity Groups](/features/data-discovery/groups-domains.md) (including [ML experiments](/features/data-discovery/groups-domains.md#relationship-to-ml-experiments) and other logical containers) returns the lineage graph for the group's *children* rather than for the group itself. Operationally: a Finance DEG containing fifteen datasets and three ETL jobs returns the lineage union across those eighteen child entities, which is what an operator usually wants when reasoning about a domain or pipeline. The endpoint is documented at [API Reference → Lineage → Group lineage](/developer-guides/api-reference/lineage.md).

## What participates

| Entity class                                         | Participates in lineage | Notes                                                                    |
| ---------------------------------------------------- | ----------------------- | ------------------------------------------------------------------------ |
| Dataset, View                                        | Yes                     | Native source-to-sink lineage edges from collectors / push adapters.     |
| Transformer (ETL job, ML training job, microservice) | Yes                     | Edges from input datasets to the transformer to output datasets.         |
| Transformer Run                                      | Yes                     | Run-level lineage for per-execution traceability.                        |
| Data Quality Test, Data Quality Test Run             | Yes                     | Test linkage to the dataset(s) under test.                               |
| Consumer (BI dashboard, ML model artifact, …)        | Yes                     | Downstream-only — consumers read but do not produce.                     |
| Data Input (API call, …)                             | Yes                     | Upstream-only — inputs feed the platform but are not produced inside it. |
| Data Entity Group, ML experiment                     | Yes (via Group lineage) | Group lineage returns the union over the group's children.               |
| Entity Relationship                                  | Yes                     | Surfaces foreign-key-style ERD edges as part of the graph.               |

The exact set of entity classes ingested into your platform depends on which collectors and push adapters are connected; see [Integrations](/integrations/integrations.md) for the per-source coverage.

## Where to next

* [Microservices Lineage](/features/data-lineage/microservices.md) — the OpenTelemetry-traced counterpart for microservice call graphs.
* [Data Entity Groups & Domains](/features/data-discovery/groups-domains.md) — what gets returned when you call Group lineage on a DEG.
* [API Reference → Lineage](/developer-guides/api-reference/lineage.md) — full HTTP surface (per-entity, group, microservices).
* [ODD Specification — Data Model](https://github.com/opendatadiscovery/opendatadiscovery-specification/blob/main/specification/specification.md#data-model-specification) — the canonical entity-class reference.
* [Main Concepts → Data Governance map](/introduction/main-concepts.md#data-governance-map) — Data Lineage's position among the governance pillars.


---

# 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-lineage/data-objects.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.
