映射

映射是将文件与数据模型中的元素相关联的过程。这使得 Data Importer 能够构建加载数据所需的 Cypher® 语句。您的源文件可能包含与您的数据模型无关的数据,在构建模型时,您可以选择要使用的数据。只有正确映射到模型中元素的那些数据才会被导入,因此确保映射准确非常重要。

如果您需要更改映射,可以再次运行导入。已导入的受影响元素将会被更新,而**不会**产生重复。

节点

要将节点映射到文件,节点必须具有标签(label),您可以直接在节点上或在映射详细信息面板中输入该标签。命名标签后,您可以选择要映射到该节点的源文件。添加文件可以在运行导入之前的任何时间进行,但在当前阶段操作会更为方便。

node mapping

此外,节点必须至少包含一个属性和一个 ID。

属性是描述节点的键值对。

ID 用于唯一标识节点,并在关系中连接各个节点。如果同一个 ID 的节点出现多次,则只会为扁平文件中观察到的第一个实例创建该节点。如果再次看到具有相同 ID 的节点,其任何属性都将被更新,从而保留最后读取到的属性值。如前所述,节点 ID 在创建关系时至关重要,关于这一点在“映射关系”一节中有更详细的说明。

如果您已经添加了文件,则可以选择从该文件中映射属性。Data Importer 会根据文件中的列导出属性并推断数据类型。通过此选项,您可以选择要使用的属性。选定后,您可以重命名属性、根据需要更改数据类型,并选择哪个属性作为节点 ID。

默认情况下,Data Importer 会使用名称中包含 id 的属性作为 ID,但如果映射文件中的列均不满足此条件,或者有多个列满足此条件,则必须手动选择要用作节点 ID 的属性。无论是由 Data Importer 选择 ID 还是手动选择,每个节点都必须拥有一个 ID 才能完成映射。

用作节点 ID 的属性会标有一个钥匙图标。

node id

关系

正如节点需要标签一样,关系也需要类型(type)。可以直接在关系上或在详细信息面板中输入类型。映射关系所使用的文件选择方式与节点相同。根据您的数据,该文件可能是:

  • 与关系两端节点所使用的文件相同。在这种情况下,Data Importer 会自动映射该文件和相应的列。它很容易识别在起点(From)终点(To)映射中要使用的文件列,因为它们已经被映射为各端节点的 ID 属性。

  • 一个仅定义关系一端节点的文件,但也包含包含另一节点 ID 的列。在这种情况下,您需要手动选择文件并手动指定起点(From)终点(To)映射。这类似于关系数据库中包含用于链接到另一张表的外键的表,但在这里该键用于链接到另一个节点而非表。

  • 一个专门用于定义关系的完全独立的文件。在这种情况下,您需要选择相关文件,然后映射文件中对应于起点(From)终点(To)节点 ID 属性的列。这类似于关系数据库术语中的链接表(link table)

这部分对于确保关系按预期连接节点至关重要。它是在详细信息面板的节点 ID 映射(Node ID mapping)部分中定义的。

relationship mapping

文件过滤

在将文件映射到节点和关系时,您可以使用切换开关来过滤文件。这在将聚合节点列表和关系列表用作源文件时非常有用。聚合节点列表将所有节点包含在同一个文件中,可以通过在特定列中具有相同的值来分离/组合它们。聚合关系列表以相同的方式在单个文件中包含有关关系的相应信息。文件过滤功能允许您选择一列和一个精确匹配的值,只有匹配的元素才会被用作数据模型中该元素的源。

file filtering

节点排除列表

有时,源文件可能包含一个列,其中多个行的值相同,例如 [empty]null。如果将此列用作节点 ID 并运行导入,这会导致创建“超级节点”。映射文件中具有该值的每一行最终都会连接到同一个节点——即“超级节点”。为避免这种情况,您可以指定应导致 Data Importer 排除这些行出现的字符串。默认情况下,Data Importer 会排除节点 ID 列值为空的任何行。

节点排除列表可在数据模型面板的更多菜单(…​)中的设置(Settings)下找到。

node exclude

完成映射

如果映射未完成(即模型中的任何元素缺少绿色勾选标记),则无法运行导入。如果您尝试运行,Data Importer 会发送错误消息,并突出显示模型中缺失信息的元素,以及详细信息面板中需要填写的字段。

对于节点,需要以下信息:

  • 标签(Label) - 用于标识节点类型

  • 文件(File) - 节点属性来源的源文件

  • 属性(Properties) - 至少需要选择一个属性;如果选择多个,则需要选定一个作为节点 ID

对于关系:

  • 类型(Type) - 描述其所代表关系的名称

  • 文件(File) - 包含有关该关系连接哪些节点的信息的源文件

  • 节点 ID 映射(Node ID mapping) - 模型中由该关系连接的节点;它们的标签、ID 和 ID 列。

如果映射未完成,您可以运行导入预览,但预览中将不包含映射不完整的元素。

一旦模型中的每个元素都有绿色勾选标记表示映射完成,即可运行导入。