映射

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

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

节点

要将节点映射到文件,节点需要有一个标签,您可以直接在节点上或在映射详情面板中输入。命名标签后,您可以选择要映射到节点的文件。在运行导入之前,可以随时添加文件,但在当前阶段进行此操作会比较方便。

node mapping

此外,节点需要至少有一个属性和一个 ID。

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

ID 用于唯一标识节点,并在关系中将节点彼此连接。如果具有相同 ID 的节点被多次发现,则只在平面文件中观察到第一个实例时创建它。如果再次发现具有相同 ID 的节点,则会更新任何属性,从而保留最新读取的属性。如前所述,节点 ID 在创建关系时至关重要,这将在映射关系的部分中进一步详细解释。

如果您已经添加了文件,您可以选择从该文件映射属性。数据导入器从文件中的列派生属性并猜测数据类型。通过此选项,您可以选择要使用的属性。一旦选择,您可以重命名属性,根据需要更改数据类型,并选择哪个属性应作为节点 ID。

默认情况下,数据导入器使用名称中包含 id 的属性作为 ID,但如果映射文件中没有列符合此条件,或者有多个列符合,则您必须手动选择哪个属性用作节点 ID。无论您是让数据导入器选择 ID 还是手动选择,每个节点都需要一个 ID 才能完成映射。

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

node id

关系

就像节点需要有标签一样,关系需要有类型。这可以直接在关系上或在详情面板中输入。映射关系的文件选择方式与节点相同。根据您的数据,此文件可以是

  • 与关系两端节点使用的文件相同。在这种情况下,数据导入器会自动映射文件和相应的列。它很容易识别在目标映射中使用的文件列,因为它们已经作为 ID 属性映射到两端的节点。

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

  • 一个完全独立的文件,仅用于定义关系。在这种情况下,您需要选择相关文件,然后映射文件中与目标节点 ID 属性对应的列。这类似于关系数据库中的链接表

这部分对于确保关系按预期链接节点至关重要。它在详情面板的节点 ID 映射部分中定义。

relationship mapping

文件筛选

在映射文件时,无论是节点还是关系,您都可以使用切换开关来筛选文件。这在使用聚合节点列表和关系列表作为源文件时很有用。聚合节点列表包含同一文件中的所有节点,它们可以通过在特定列中具有相同值来分离/分组。聚合关系列表在一个文件中包含关系的相应信息,并且关系可以以相同的方式分组。文件筛选允许您选择一列和一个精确匹配的值,并且只有匹配的元素才用作数据模型中该元素的源。

file filtering

节点排除列表

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

节点排除列表可从数据模型面板中的更多菜单 (…​) 下的设置中获取。

node exclude

完成映射

如果映射不完整,即模型中的任何元素缺少绿色勾选标记,则无法运行导入。如果您尝试,数据导入器会发送错误消息,并突出显示模型中缺少信息的元素以及详情面板中需要填写哪些字段。

对于节点,需要以下信息

  • 标签 - 用于标识节点的类型

  • 文件 - 节点的源文件,从中派生属性

  • 属性 - 至少需要选择一个属性,如果选择多个,则其中一个需要被选作节点 ID

对于关系

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

  • 文件 - 包含关系连接哪些节点的信息的源文件

  • 节点 ID 映射 - 模型中哪些节点通过关系连接;它们的标签、ID 和 ID 列。

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

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

© . All rights reserved.