特性

术语表

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

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

术语表

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

用例

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

什么是术语表术语?

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

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

什么是术语表类别?

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

UI 交互

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

  • 创建术语表、术语和类别
  • 创建术语之间的各种关系——如同义词、反义词、参见(seeAlso)
  • 按层级结构组织类别
  • 将术语指派给实体
  • 使用关联的术语搜索实体

大部分术语表相关的 UI 位于一个名为 GLOSSARY 的新标签页中,该标签页就在我们熟悉的 SEARCH 和 CLASSIFICATION 标签页旁边。

GLOSSARY 标签页

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

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

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

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

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

用户可以通过 GLOSSARY 标签页中的切换开关在术语视图和分类视图之间切换。

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

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

术语详情页

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

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

为术语添加分类

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

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

在查看术语详情时,点击 相关术语 标签页。点击 + 号即可将某个术语与当前术语建立关联。

对术语进行归类

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

分类视图

当切换开关拨到类别一侧时,面板将列出所有术语表及其类别层级结构。以下是该视图下可能的交互方式列表。

  • 展开视图

点击分类名称旁边的 省略号(...) 会弹出分类上下文菜单。

  • 要创建新分类

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

分类详情页

选中某个分类后,其详细信息将显示在右侧窗格中。

归类术语

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

术语分配流程

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

分配术语

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

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

这两个操作都会弹出以下模态框,按照屏幕提示完成术语分配即可。

传播的分类

如果术语带有分类(classification),被分配该术语的实体也会继承相同的分类。

使用术语搜索

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 一旦分配便无法更改。唯一的办法是删除并重新创建所需的对象。
  • 在任何更新中都不能移除锚点(anchor)。
  • 更新 API 要求在执行 GET 调用之后,对 JSON 进行就地修改。任何缺失的属性/关联都将被删除。
  • 对分类层级的任何更新都会导致其下层级的级联更新,例如,更改锚点会影响所有子项,更改父级会影响自身及子项的 qualifiedName。

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

评论

登录后参与评论

正在加载评论…