Skip to main content
Community Hub
TL;DR

Link glossary terms to assets in Atlan using AtlasGlossaryTerm and the Python SDK (pyatlan). Append, replace, or remove term assignments programmatically.

Your AI can read this via Docs MCPcurl -fsSL "https://docs.atlan.com/install-docs-mcp" | bashConnect

AtlasGlossaryTerm: link glossary terms to assets

Use AtlasGlossaryTerm in the Atlan Python SDK to programmatically link glossary terms to assets.

Append terms to asset​

To append new terms to an asset, without changing any of the existing terms on the asset:

This is currently not possible via dbt, term assignments are replaced rather than appended.

Replace terms on asset​

To replace all the terms on an asset, meaning any not specified in the request will be removed from the asset:

Replace terms on an asset
models:
- name: ORDER_ANALYSIS # (1)
columns:
- name: CUSTOMER_NAME # (2)
meta:
atlan:
termGUIDs: # (3)
- "b4113341-251b-4adc-81fb-2420501c30e6"
- "b267858d-8316-4c41-a56a-6e9b840cef4a"
termQualifiedNames: # (4)
- "SepizCqzgygmdTvVk5a9i@yJuFhD0LiU1QDl5YwXiQy"
- "BfoxTP4209kT5zZFKPKqZ@yJuFhD0LiU1QDl5YwXiQy"
termNames: # (5)
- "Customer Name"
- "Data Governance@Full Name"
- "Finance@Marketing Budget"
  1. You must of course give the name of the object.

  2. If you are applying the terms to a column, you need to give the name of the column as well.

  3. You can either specify the terms as a list of GUIDs (each GUID refers to one term).

  4. Or you can specify the terms as a list of qualifiedNames.

  5. Or you can specify the terms as a list of human-readable names.

    Handling duplicate term names

You can disambiguate terms with the same name across different glossaries using the format glossaryName@termName (for example, "Data Governance@Full Name").

Use glossaryName@termName in termNames, when term names aren't unique across glossaries. :::

Remove terms from asset​

To remove some terms from an asset, without removing all of the terms on the asset:

This is currently not possible via dbt, term assignments are replaced rather than selectively removed.

Remove all terms from asset​

To remove all terms linked to an asset:

Remove all terms from an asset
models:
- name: ORDER_ANALYSIS # (1)
columns:
- name: CUSTOMER_NAME # (2)
meta:
atlan:
termGUIDs: [] # (3)
  1. You must of course give the name of the object.
  2. If you are applying the terms to a column, you need to give the name of the column as well.
  3. If you send an explicit empty list ([]) as the list of GUIDs this will remove all terms from the asset.

When creating asset​

To link terms when creating an asset:

Link terms when creating asset
models:
- name: ORDER_ANALYSIS # (1)
columns:
- name: CUSTOMER_NAME # (2)
meta:
atlan:
termGUIDs: # (3)
- "b4113341-251b-4adc-81fb-2420501c30e6"
- "b267858d-8316-4c41-a56a-6e9b840cef4a"
termQualifiedNames: # (4)
- "SepizCqzgygmdTvVk5a9i@yJuFhD0LiU1QDl5YwXiQy"
- "BfoxTP4209kT5zZFKPKqZ@yJuFhD0LiU1QDl5YwXiQy"
termNames: # (5)
- "Customer Name"
- "Data Governance@Full Name"
- "Finance@Marketing Budget"
  1. You must of course give the name of the object.

  2. If you are applying the terms to a column, you need to give the name of the column as well.

  3. You can either specify the terms as a list of GUIDs (each GUID refers to one term).

  4. Or you can specify the terms as a list of qualifiedNames.

  5. Or you can specify the terms as a list of human-readable names.

    Handling duplicate term names

You can disambiguate terms with the same name across different glossaries using the format glossaryName@termName (for example, "Data Governance@Full Name").

Use glossaryName@termName in termNames, when term names aren't unique across glossaries. :::

Was this page helpful?