功能特性

术语表

qianmoQqianmoQ· 更新于 2026-09-28· 阅读 20 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

术语表

术语表为业务用户提供了恰当的词汇表达,它允许术语(词语)之间相互关联并进行分类,从而使其能够在不同的上下文中被理解。这些术语随后可以映射到数据库、表、列等资产上。这有助于抽象出与数据仓库相关的技术术语,使用户能够以自己更为熟悉的词汇来发现和使用数据。

用例

  • 能够使用自然的术语表达(技术术语和/或业务术语)来定义丰富的术语表词汇。
  • 能够在语义上关联术语之间的关系。
  • 能够将资产映射到术语表术语上。
  • 能够按类别组织这些术语,从而为术语补充更多上下文。
  • 允许以层级结构组织类别——用于表达更宽泛和更细致的范围。
  • 将术语表术语的管理与元数据管理分离开来。

什么术语表术语?

术语是企业中有意义的词语。为了让术语有用且有意义,需要根据其用途和上下文对它们进行分组。Apache Atlas 中的术语必须具有唯一的 qualifiedName(限定名称),可以存在同名的术语,但它们不能属于同一个术语表。同名术语只能存在于不同的术语表之间。术语名称可以包含空格、下划线和连字符(这些是引用词语的自然方式),但不能包含 “.” 或 “@”,因为限定名称的形式为 术语名称@术语表限定名称。完全限定名称使得操作特定术语更加方便。

一个术语只能属于单个术语表,其生命周期与该术语表绑定,即如果术语表被删除,该术语也会随之被删除。一个术语可以属于零个或多个类别,从而能够将其限定在更窄或更宽的上下文中。一个术语可以被分配或关联到 Apache Atlas 中的零个或多个实体上。一个术语可以使用分类(标签)进行分类,并且相同的分类会应用到该术语所关联的实体上。

什么是术语表类别?

类别是一种组织术语的方式,用于丰富术语的上下文。类别可以有也可以没有包含层级结构,即子类别层级。类别的限定名称是根据其在术语表中的层级位置得出的,例如 类别名称.父类别限定名称。当发生任何层级结构变化时,例如新增父类别、移除父类别或更改父类别,此限定名称也会相应更新。

UI 交互

Apache Atlas 的 UI 已更新,提供了用户友好的界面来操作术语表的各个方面,包括:

  • 创建术语表、术语和类别
  • 在术语之间创建各种关系——如同义词、反义词、另请参阅(seeAlso)
  • 以层级结构组织类别
  • 将术语分配给实体
  • 使用关联的术语搜索实体

大多数术语表相关 UI 可在名为 GLOSSARY 的新标签页中找到,它位于我们熟悉的 SEARCH 和 CLASSIFICATION 标签页旁边。

术语表标签页

Apache Atlas UI 提供了两种操作术语表的方式:术语视图和类别视图。

术语视图允许用户执行以下操作:

  • 创建、更新和删除术语
  • 添加、移除和更新与术语关联的分类
  • 添加、移除和更新术语的归类
  • 创建术语之间的各种关联关系
  • 查看与术语关联的实体

类别视图允许用户执行以下操作:

  • 创建、更新和删除类别及子类别
  • 将术语关联到类别

用户可以使用 GLOSSARY 标签页中提供的切换开关在术语视图和类别视图之间切换。

  • 创建新术语:点击术语表名称旁边的 省略号(...),会弹出一个浮层菜单,允许用户在该术语表中创建术语或删除该术语表,如下所示。

  • 删除术语:点击术语名称旁边的 省略号(...),会弹出一个浮层菜单,允许用户删除该术语,如下所示。

术语详情页面

在术语表 UI 中点击术语名称,可以查看术语的各项详细信息。详情页面下的每个标签页提供术语的不同详情。

  • 实体标签页显示分配给所选术语的实体
  • 分类标签页显示与所选术语关联的分类
  • 相关术语标签页显示与所选术语相关的术语

为术语添加分类

点击分类标签旁的 +,即可为术语添加分类。

创建术语与其他术语的关联

查看术语详情时,点击“相关术语”标签页。点击 + 即可将某个术语与当前术语进行关联。

对术语进行归类

点击类别标签旁的 +,即可对术语进行归类。系统会弹出一个模态对话框,供您选择类别。

类别视图

当切换开关置于类别一栏时,面板将列出所有术语表及其类别层级。以下是该视图下可进行的交互操作列表。

  • 展开视图

点击分类名称旁的 省略号(...) 将显示分类上下文菜单。

  • 要创建新分类

  • 要创建子分类或删除分类

分类详情页面

选中某个分类后,其详情将显示在右侧面板中。

为分类关联术语

点击术语标签旁的 +,可将术语关联到所选分类下。

术语分配流程

可以从搜索结果页面或实体详情页面将术语分配给实体。

分配术语

点击 "terms" 列下的 +(如果从搜索页面关联术语)

点击 "terms" 标签旁的 +(如果正在查看某个实体的详情)

这两种操作都会显示以下对话框,按照屏幕上的提示即可完成术语分配。

分类信息传播

如果术语带有分类信息,则被分配该术语的实体将继承相同的分类信息。

使用术语搜索

Apache Atlas 的 basic-search API 和 UI 已更新,支持将术语作为搜索条件。这使用户能够查找与给定术语关联的实体。基础搜索 UI 现在包含一个用于术语搜索的全新输入下拉框。


REST 交互汇总

Atlas 支持以下操作,REST 接口的详细信息请参见此处

JSON 结构
  • 术语表
{
    "guid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
    "qualifiedName": "SampleBank",
    "displayName": "Banking",
    "shortDescription": "Glossary of bank",
    "longDescription": "Glossary of bank - long description",
    "language": "English",
    "usage": "N/A",
    "terms": [
    {
        "termGuid": "502d34f1-b85f-4ad9-9d9f-fe7020ff0acb",
        "relationGuid": "6bb803e4-3af6-4924-aad6-6ad9f95ecd14",
        "displayText": "A savings account"
    }, {
        "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
        "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3",
        "displayText": "15-30 yr mortgage"
    }, {
        "termGuid": "998e3692-51a8-47fe-b3a0-0d9f794437eb",
        "relationGuid": "0dcd31b9-a81c-4185-ad4b-9209a97c305b",
        "displayText": "A checking account"
    }, {
        "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44",
        "relationGuid": "e71c4a5d-694b-47a5-a41e-126ade857279",
        "displayText": "ARM loans"
    }],
    "categories": [{
        "categoryGuid": "dd94859e-7453-4bc9-b634-a17fc14590f8",
        "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "a0b7da02-1ccd-4415-bc54-3d0cdb8857e7",
        "displayText": "Accounts"
    }, {
        "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "0e84a358-a4aa-4bd3-b806-497a6962ae1d",
        "displayText": "Customer"
    }, {
        "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
        "parentCategoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a",
        "displayText": "Loans"
    }]
}
  • 术语
{
    "guid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
    "qualifiedName": "fixed_mtg@SampleBank",
    "displayName": "15-30 yr mortgage",
    "shortDescription": "Short description",
    "longDescription": "Long description",
    "examples": ["N/A"],
    "abbreviation": "FMTG",
    "anchor": {
        "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
        "relationGuid": "dbc46795-76ff-4f68-9043-be0eff0bc0f3"
    },
    "categories": [{
        "categoryGuid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
        "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada",
        "displayText": "Loans"
    }],
    "seeAlso"           : [],
    "synonyms"          : [],
    "antonyms"          : [],
    "replacedBy"        : [],
    "replacementTerms"  : [],
    "translationTerms"  : [],
    "translatedTerms"   : [],
    "isA"               : [],
    "classifies"        : [],
    "preferredTerms"    : [],
    "preferredToTerms": [ {
                           "termGuid"   : "c4e2b956-2589-4648-8596-240d3bea5e44",
                           "displayText": "ARM Loans"
                         }]
}
  • 类别
{
    "guid": "7f041401-de8c-443f-a3b7-7bf5a910ff6f",
    "qualifiedName": "Loans.Customer@HortoniaBank",
    "displayName": "Loans",
    "shortDescription": "Loan categorization",
    "anchor": {
        "glossaryGuid": "2f341934-f18c-48b3-aa12-eaa0a2bfce85",
        "relationGuid": "7757b031-4e25-43a8-bf77-946f7f06c67a"
    },
    "parentCategory": {
        "categoryGuid": "e6a3df1f-5670-4f9e-84da-91f77d008ce3",
        "relationGuid": "8a0a8e11-0bb5-483b-b7d6-cfe0b1d55ef6"
    },
    "childrenCategories" : [],
    "terms": [{
        "termGuid": "e441a540-ee55-4fc8-8eaf-4b9943d8929c",
        "relationGuid": "b4cddd33-7b0c-41e2-9324-afe549ec6ada",
        "displayText": "15-30 yr mortgage"
    }, {
        "termGuid": "c4e2b956-2589-4648-8596-240d3bea5e44",
        "relationGuid": "8db1e784-4f04-4eda-9a58-6c9535a95451",
        "displayText": "ARM loans"
    }]
}
创建操作
  1. 创建术语表
  2. 创建术语
  3. 创建已分类的术语
  4. 创建带关联关系的术语
  5. 创建分类
  6. 创建带层级结构的分类
  7. 创建分类并对术语进行分类
  8. 将术语分配给实体

注意:

  • 在创建操作期间,术语表、术语和分类会自动分配 GUID 和 qualifiedName。
  • 要创建带有子项的分类,必须事先创建这些子项。
  • 要创建属于某个分类的术语,必须事先创建该分类。
  • 要创建带关联关系的术语,必须事先创建相关的术语。

读取操作
  1. 按 GUID 获取术语表——返回属于该术语表的所有术语和分类(基本信息)。
  2. 获取所有术语表——返回所有术语表,以及分别属于各术语表的术语和分类(基本信息)。
  3. 按 GUID 获取术语——返回该术语的详细信息、它所属的分类(如有)以及任何关联术语。
  4. 按 GUID 获取分类——返回该分类的详细信息、分类层级(如有)以及属于该分类的术语。
  5. 获取给定术语表的所有术语——返回属于给定术语表的所有术语(包含 devlive-community/knowforge#3 中所述的详细信息)。
  6. 获取给定术语表的所有分类——返回属于给定术语表的所有分类(包含 devlive-community/knowforge#4 中所述的详细信息)。
  7. 获取与给定术语相关的所有术语——返回与给定术语相关/关联的所有术语。
  8. 获取与给定分类相关的所有分类(父级和子级)
  9. 获取给定分类下的所有术语

更新操作
  1. 术语表的部分更新
  2. 术语的部分更新
  3. 分类的部分更新
  4. 更新给定的术语表
  5. 更新给定的术语
  6. 更新给定的分类

注意:

  • 部分更新仅涉及术语表模型文件中定义的基本属性。
  • GUID 和 qualifiedName 一经分配便无法更改。唯一的办法是删除并重新创建所需的对象。
  • 在任何更新中都不能移除锚点
  • 更新 API 要求在 GET 调用之后对 JSON 进行就地修改。任何缺失的属性/关联都将被删除。
  • 对分类层级的任何更新都会导致其下层级的级联更新,例如:锚点更改会影响所有子级,父级更改会影响自身及子级的 qualifiedName。

删除操作
  1. 删除术语表——同时删除锚定到给定术语表的所有分类和术语。如果任何术语已分配给某个实体,则此删除操作将被阻止。
  2. 删除术语——仅当该术语未与任何实体关联/分配给任何实体时才会删除。
  3. 删除分类——仅删除给定的分类,其所有子级将成为顶级分类。
  4. 从实体中移除术语分配

评论

登录后参与评论

正在加载评论…