Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

114 lines
3.5 KiB
Markdown
Raw Normal View History

---
title: Lineage Mixin
slug: /sdk/python/api-reference/lineage-mixin
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L0")
# module `lineage_mixin`
Mixin class containing Lineage specific methods
To be used by OpenMetadata class
**Global Variables**
---------------
- **LINEAGE_PARSING_TIMEOUT**
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L35")
## class `OMetaLineageMixin`
OpenMetadata API methods related to Lineage.
To be inherited by OpenMetadata
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L44")
### method `add_lineage`
```python
add_lineage(data: AddLineageRequest) → Dict[str, Any]
```
Add lineage relationship between two entities and returns the entity information of the origin node
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L151")
### method `add_lineage_by_query`
```python
add_lineage_by_query(
database_service: DatabaseService,
sql: str,
database_name: str = None,
schema_name: str = None,
timeout: int = 10
) → None
```
Method parses the query and generated the lineage between source and target tables
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L138")
### method `delete_lineage_edge`
```python
delete_lineage_edge(edge: EntitiesEdge) → None
```
Remove the given Edge
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L67")
### method `get_lineage_by_id`
```python
get_lineage_by_id(
entity: Union[Type[~T], str],
entity_id: str,
up_depth: int = 1,
down_depth: int = 1
) → Optional[Dict[str, Any]]
```
Get lineage details for an entity `id` :param entity: Type of the entity :param entity_id: Entity ID :param up_depth: Upstream depth of lineage (default=1, min=0, max=3)" :param down_depth: Downstream depth of lineage (default=1, min=0, max=3)
---
[{% image align="right" style="float:right;" src="https://img.shields.io/badge/-source-cccccc?style=flat-square" /%}](https://github.com/open-metadata/OpenMetadata/tree/main/ingestion/src/metadata/ingestion/ometa/mixins/lineage_mixin.py#L85")
### method `get_lineage_by_name`
```python
get_lineage_by_name(
entity: Union[Type[~T], str],
fqn: str,
up_depth: int = 1,
down_depth: int = 1
) → Optional[Dict[str, Any]]
```
Get lineage details for an entity `id` :param entity: Type of the entity :param fqn: Entity FQN :param up_depth: Upstream depth of lineage (default=1, min=0, max=3)" :param down_depth: Downstream depth of lineage (default=1, min=0, max=3)
---