教程:从一个源表添加多个节点和边缘类型

在前面的教程步骤中,每个源表都映射到一个节点类型或一个边缘类型。 但是,关系表通常包含嵌入的实体。 例如, Employees 表包含一列 Country 。 与其将国家/地区作为 Employee 节点的一个属性进行存储,不如将其提取到自己的 Country 节点类型中,并通过 livesIn 边连接。 此方法会创建更丰富的图形模型,用于直接查询员工与国家/地区之间的关系。

在本教程步骤中,你将从 Employees 源表创建以下图形实体:

  • 一种Country节点类型(新)
  • Employee连接到CountrylivesIn边类型(新)。 此边缘指示 Employee livesIn Country

Adventure Works Employee 表格

在 Adventure Works 数据模型中, Employees 数据源表的列包括以下内容:

  • EmployeeID_K
  • ManagerID
  • EmployeeFullName
  • JobTitle
  • OrganizationLevel
  • MaritalStatus
  • Gender
  • Territory
  • Country
  • Group

下表显示了这些列如何映射到图形实体:

图形实体 类型 键列
Employee 节点(已存在) EmployeeID_K
Country 节点(新) Country
livesIn Edge(新增),从EmployeeCountry EmployeeID_KCountry

注释

在上表中, CountryEmployees 表中的源列和图形中的新节点类型。 它们共享相同的名称,但当节点类型是图形模型中的实体时,该列是表中的原始数据。

从源表创建节点类型时,手动将表中的相关列添加为该节点类型的 属性 。 由于 Employees 表有 10 列,因此 EmployeeCountry 这两种节点类型都可以将这 10 列中的所有列添加为属性。 在本文中,只向 Country 添加与节点类型相关的属性。

创建 Country 节点类型

若要创建 Country 节点类型,请执行以下步骤:

  1. 在图形模型的顶部功能区中,选择“ 添加节点”。

  2. “创建节点”中,输入以下值:

    • 节点标签Country
    • 源表adventureworks_employees
    • Country. 选择 Country 作为键列将其添加为节点类型上的属性。
  3. 不要添加任何其他属性。

  4. 选择 “创建 ”,将节点类型添加到图形。

    显示包含一个属性的国家/地区节点类型的屏幕截图。

您会看到图中已添加了 Country 节点类型。

创建 livesIn 边缘节点

节点 Employee 类型已在 上一教程步骤的图形中。 用新的livesIn边将新的Country节点连接到Employee节点。

若要创建 livesIn 边缘类型,请执行以下步骤:

  1. 在顶部功能区中,选择 “添加边缘”。
  2. “创建边缘 ”对话框中,输入以下值:
    • 边缘标签livesIn
    • 源表adventureworks_employees
    • 源节点Employee
    • 源密钥EmployeeID_K
    • 目标节点Country
    • 目标键Country
  3. 选择 “创建 ”,将边缘添加到图形。

你会看到图中在 EmployeeCountry 节点之间添加了 livesIn 边类型。

Employee修改节点类型

现在,既然Country已成为一种独立的节点类型,并通过livesIn边连接到Employee,那么Country列作为Employee属性就是多余的。 编辑 Employee 节点类型,以删除 Country 属性。

  1. 双击 Employee 节点类型以查看其属性。
  2. 选择 “编辑定义”。
  3. 取消选中 Country 属性以将其从节点中移除。
  4. 选择“保存”

小窍门

过度的属性会使图形更难维护和使用。 对于所有节点类型,请避免具有以下属性:

  • 节点的唯一性不需要
  • 你的查询或分析中不是必需的

加载图形

配置所有节点类型和边缘类型后,重新加载图形。 在对图形进行结构更改后,需要重新加载。

在顶部功能区中,选择“ 保存”。 此操作验证图形模型、从 OneLake 加载数据、构造图形并使其准备好进行查询。 请耐心等待,因为此过程可能需要一些时间,具体取决于数据的大小。

显示包含“员工”和“国家/地区”节点的图形的屏幕截图,节点由 livesIn 边连接。

图形现在包括新的 Country 节点类型和 livesIn 边缘类型。 此结构允许你直接查询员工与其国家/地区之间的关系。

Review

在本教程步骤中,你处理了单个 Employees 源表中的两种节点类型和一种边缘类型:

  • Employee node (在上一步骤中创建,此处进行了优化)
  • CountryCountry列中提取的新节点
  • livesIn边(新,连接 EmployeeCountry

每当关系表包含嵌入要素,并希望将这些要素作为图中的独立节点表示时,此模式就派上用场。 查找表示不同真实世界实体(如国家、城市或部门)的列,以便作为从中提取并创建自己节点类型的候选项。

小窍门

有关更多建模模式和决策指南,请参阅 设计图形架构

后续步骤