可以在知识图谱中创建实体和关系来表示现有的表格数据。 表字段中的数据可以转换为实体和关系的属性。 可以将要素类几何加载到实体的空间要素中。
定义如何使用加载表向导将表格数据转换为知识图谱项目。 当定义转换过程时,可以保存作业。 转换数据的指令将作为数据加载配置保存在当前工程的调查中。 可以修改现有数据加载配置以适应类似的表和要素类。
当运行转换过程时,数据将被加载到当前调查的知识图谱中。 可以创建一个新的链接图表来查看和评估转换过程的结果。
数据加载配置用于指定如何读取和处理表中的数据。 加载表过程在知识图谱中创建实体和关系来表示数据。 它还可以创建出处记录以指定数据源自的源材料。
打开“加载表”向导
打开“加载表”向导以将表格数据导入调查的知识图谱。
- 在 ArcGIS AllSource 中打开调查。
- 在功能区调查选项卡的加载数据组中,单击加载表 。
加载表向导将与调查一起显示在新视图中。
识别要加载的表
在向导的欢迎页面上指定包含要转换的数据的表或要素类。 如果现有数据加载配置可以作为此操作的基础,则可以将其信息导入向导。
数据加载配置仅可从当前调查导入向导。 可以从其他调查(包括来自其他工程的调查)复制数据加载配置,并导入其信息。
- 单击源表文本框旁的“浏览”按钮 。
- 在显示的对话框中,浏览并单击包含要加载到调查知识图谱中的数据的表或要素类,然后单击确定。
- 如果调查具有包含用于导入当前表数据的相关信息的数据加载配置,则单击数据加载配置下拉箭头,然后单击相应的数据加载配置 。
- 单击下一步前进到向导中的实体页面。
提示:
也可以使用功能区加载表选项卡上的按钮指定源表或要素类以及初始数据加载配置。 您可以随时更改这些设置,但将丢失之前在向导中定义的所有设置。
定义要在知识图谱中创建的实体
识别源表或要素类中数据代表知识图谱中实体的字段。 源表字段将在列名称列表中显示。 您可以通过单独的实体表定义每个字段中的数据如何与知识图谱中的实体类型关联。
例如,如果源表描述了一家公司的员工,则可以将该信息导入知识图谱并为表中的每一行创建一个 Employee 实体。 所选的代表实体的字段应该是 Employee 实体类型的唯一标识符,例如员工 ID 号。 其他属性(例如员工姓名)不能保证是唯一的。
列名称列表分为已使用和未使用字段。 当您从新的数据加载配置开始时,所有字段都位于未使用列表中。 如果表中的 ID 字段包含员工 ID 号,并且您使用它来定义图表中的实体,则该字段将移至已使用列表。 如果您从现有的数据加载配置开始,表中的字段可能会在向导的各个页面上使用 - 任何页面上使用的字段都会出现在列名称列表的已使用部分中。
多个表可能包含不同办公室的员工信息。 导入一个表后,在准备导入第二个时,必须考虑出现在多个表中的员工,例如区域销售经理。 如果在未指定如何合并实体的情况下导入这两个表,则最终将在知识图谱中存在两个同一区域销售经理的实体。 如果表具有唯一标识实体的数据,并且知识图谱中的现有实体具有包含相同信息的属性,则可以避免创建重复项。
如果选择合并实体,则数据加载过程会将存储在表字段中的员工 ID 编号与知识图谱中每个现有 Employee 实例的 Employee 实体类型的 ID 属性进行比较。 如果知识图谱中存在具有相同标识符的相同类型的实体,则将表中的数据存储在现有知识图实体中或与现有知识图实体相关联,而不是创建新实例。 即表中的实体和知识图谱中的实体被合并。
一般来说,如果可能的话,最好在数据加载过程中合并实体。 即使可以合并许多实体,表或知识图谱中的错误或间隙也会阻止某些实体被合并。 在这种情况下,您可以在加载表过程完成后手动合并实体。
- 提供可用于标识将在知识图谱中创建或更新各个实体的密钥。
- 双击列名称列表中的字段,其中的数据唯一标识实体。 字段名称将添加到实体表的 Entity Key 列中。
- 单击实体表底部的空行。 单击 Entity Key 列并输入标识符。
- 单击实体表中的 Entity Type 列,然后定义将为其创建或更新实体实例的类型。
- 对于知识图谱中已定义的实体类型,单击下拉列表中的实体类型。 开始在文本框中输入以自动完成现有实体类型的名称。
- 要在知识图谱中定义新的实体类型,请键入新类型的名称。 新类型将在整个向导中使用星号标识。 尽可能使用现有实体类型。
- 如果源表中的字段指定了要创建的实体类型,请单击下拉列表底部的列选项。 列表将更改为显示源表中的所有字段。 单击数据指定要在知识图谱中创建的实体类型的字段。
- 要使用 ArcGIS Arcade 表达式指定实体类型,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,指示要创建的实体类型,然后单击确定。
如果使用表中的字段定义实体,则该字段将从列名称列表的未使用部分移至已使用部分。
- 或者,检入 Merge 列以合并实体(如果可能)。
启用合并后,输入数据将与知识图谱中的现有实体进行比较。 如果输入数据与现有实体不对应,则会在知识图谱中创建实体类型的新实例。 必须在向导的属性页面上指定其他规则,以定义将使用哪些实体类型属性来合并实体。
- 重复上述步骤定义其他实体。
要在知识图谱中定义关系,必须在实体表中指定关系的源实体类型和目标实体类型。
- 单击下一步前进到向导中的关系页面。
提示:
您可以随时将已定义规则保存为调查中的数据加载配置。 在功能区的加载表选项卡的配置组中,单击保存下拉箭头,然后单击保存 或另存为 。 选择现有数据加载配置或键入名称以创建新配置。 由于调查和数据加载配置保存在工程中,因此在保存工程之前,更改不会被完全保存。
定义要在知识图谱中创建的关系
您可以使用源表或要素类中的数据建立实体之间的关系。 要在数据加载过程中创建关系,必须在向导的实体页面上定义关系的原始实体和目标实体。 关系是在一个方向上描述的,从原始实体到目标实体。
例如,在描述组织员工的表中,可以使用一个字段定义员工的经理。 您可以定义 WorksFor 关系类型来捕获员工与其经理之间的关联。 在 WorksFor 关系中,原始实体和目标实体都可以具有 Employee 实体类型。 在处理表的每一行时,当前员工是关系的原始实体,作为其经理的员工是关系的目标实体。
与实体一样,表中定义的关系可以与知识图谱中的现有关系合并。 合并关系时,数据加载过程会将表的实体与知识图谱中的现有实体进行比较,并确定是否可以合并原始实体和目标实体。 如果实体可以合并,则将检查知识图谱以确定实体之间是否已经存在相同类型的关系;如果是,则关系也将合并。 例如,如果原始实体可以合并但目标实体不能合并,则会创建从现有原始实体到新目标实体的新关系。
一般来说,如果可能的话,最好在数据加载过程中合并关系。 与实体的情况相同,表或知识图谱中的错误或间隙可能会阻止关系合并。 您可以在加载表过程完成后手动合并关系。
- 单击表底部的空行定义新关系。
- 单击 Origin Entity 列,然后单击在实体页面上定义的实体类型(该实体类型是关系的源)。
- 单击 Relationship Type 列并定义将在知识图谱中创建新实例的关系类型。
- 对于知识图谱中已定义的关系类型,单击下拉列表中的关系类型。 开始在文本框中输入以自动完成现有关系类型的名称。
- 要在知识图谱中定义新的关系类型,请键入新类型的名称。 新类型将在整个向导中使用星号标识。 尽可能使用现有关系类型。
- 如果源表中的字段指定了要创建的关系类型,请单击下拉列表底部的列选项。 列表将更改为显示表中的所有字段。 单击数据指定要在知识图谱中创建的关系类型的字段。
- 要使用 Arcade 表达式指定关系类型,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,指示要创建的关系类型,然后单击确定。
- 单击 Destination Entity 列,然后单击在实体页面上定义的实体类型(该实体类型是关系的目标)。
- 或者,单击 Merge 列以合并关系(如果可能)。
启用合并后,输入数据将与知识图谱中的现有实体和关系进行比较。 如果输入数据与现有关系不对应,则会在知识图谱中创建关系类型的新实例。 必须在向导的属性页面上指定其他规则,以定义将使用哪些关系类型属性来合并关系。
- 单击下一步前进到向导中的属性页面。
定义要在知识图谱中创建的属性
源表中的数据可以存储在知识图谱的实体和关系的属性中。 为此,提供了几个信息列表以供您使用。 包括源表或要素类中所有字段的列表、在向导的实体页面上定义的实体列表以及在向导的关系页面上定义的所有关系的列表。
- 列名称列表分为两个:未使用和已使用字段。 用于识别实体页面上定义的实体的字段正在使用中。 表中的剩余字段出现在未使用列表中。
- 在实体列表中,实体类型在括号中,后跟字段名称。 例如,当表中的 ID 字段存储唯一识别 Employee 实体的员工编号时,列表将显示:(Employee) ID。
- 在关系列表中,每个条目都显示关系的原始实体、关系类型和目标实体。 例如,当原始实体和目标实体均为 Employee 实体并且关系类型为 WorksFor 时,列表将显示:(Employee) ID WorksFor (Employee) ID。
以上三个列表用于定义将源表的数据转换为实体和关系属性的规则。 当您选择实体或关系时,属性表会显示已定义的规则。
对于每个实体类型和关系类型,添加规则来定义如何将源表或要素类中的数据加载到实体类型或关系类型的属性中。 您还可以为创建或更新的实体或关系的每个实例提供将存储在属性中的文本。
要将表中定义的实体和关系与知识图谱中现有的实体和关系合并,请检查将用于唯一标识实例的所有属性规则。 例如,如果源表中的 ID 字段唯一标识 Employee 实体,请选中用于合并以创建新的 Employee 实体或根据需要更新现有的 Employee 实体。 如果 Person 实体由人员姓名和出生日期的组合唯一标识,请定义规则将源表中的相应字段关联到 Person 实体的 fullName 和 birthDate 属性,并为这两个规则选中用于合并。
- 默认情况下,实体列表中的第一个实体处于选中状态,并将在属性表中显示定义该实体的规则。 继续使用此实体或选择另一个图谱项目。
- 单击属性表底部的空行。
- 单击 Property Name 列并为所选图谱项目定义一个属性。
- 对于知识图谱中已定义的属性,单击下拉列表中的属性。 开始在文本框中输入以自动完成现有属性的名称。
- 要在知识图谱中定义新属性,请单击文本框并为新属性键入名称。 新属性将在整个向导中使用星号标识。 尽可能使用现有属性。
- 如果要定义新属性,单击 Data Type 列并单击相应的数据类型。
对于现有属性,数据类型自动显示在 Data Type 列中,您无法更改类型。
- 单击 Property Value 列并在图谱项目的属性中定义用于存储数据的规则。
- 单击表中的字段,其数据将存储在实体或关系的属性中。 该字段将从列名称列表中的“未使用”移动到“已使用”。
- 在文本框中输入一个将保存在此属性中的值,以用于表中定义的所有图谱项目。 该值将根据属性的数据类型进行验证;如果为整型属性提供文本,则不会存储该值。
- 要使用 Arcade 表达式指定值,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,返回将存储在属性中的值,然后单击确定。
- 将表中的数据与知识图谱中的现有项目进行比较以确定其是否可以合并项目时,请检查 Use For Merge 列以包含该属性。
将源表每行中的字段值与知识图谱中实体或关系的关联属性进行比较。 如果所有字段值与所有项目属性匹配,则表描述的项目可以与知识图谱中现有的实体或关系合并。 现有图谱项目将使用源表中指定的附加信息进行更新。
如果所有字段值与所有项目属性不匹配,则表描述的项目无法与知识图谱中现有的图谱项目合并。 使用源表中的数据在知识谱图中创建新的实体或关系。
- 定义规则以将数据加载到所选实体或关系的其他属性中。
- 在实体或关系列表中选择另一个图谱项目并定义其他规则以将源表中的数据转换为知识图谱中的图谱项目属性。
- 单击下一步前进到向导中的空间页面。
注:
您可以将字段从列名称列表拖到属性表中。 该字段将自动显示在 Property Value 列中。 如果字段名称和属性名称匹配,则属性名称将自动显示在 Property Name 列中。 如果字段名称和属性名称不匹配,则字段名称将作为将为图谱项目创建的新属性的名称显示在 Property Name 列中。
定义实体的空间要素
识别源表或要素类中包含表示知识图谱中实体的空间数据的字段。 在向导的实体页面上定义的实体将在表的实体列中列出。
知识图谱仅支持 WGS84 坐标系。 假定所有要素和坐标都使用此坐标系。
当源数据是要素类时,标识属性表中的几何字段。 当源数据是表时,标识一个或多个包含定义实体几何的坐标的字段。 坐标的评估方式与 LocateXT 相同。 例如,当以 UTM 格式提供坐标时,坐标将转换为点几何并与知识图谱中的实体相关联。
当以十进制格式提供坐标时,通常通过先提供纬度值,然后提供经度值来指定坐标。 但是,如果以更数学化的 x,y 格式提供坐标,则必须选中将坐标处理为经度、纬度的选项,而不是生成有效的几何。
- 检查每个实体的 Create Spatial 列以确定是否可用于定义空间要素。
对于现有实体,数据类型显示在 Geometry Type 列中。
- 对于新选中的实体(实体名称旁具有星号),单击下拉箭头并单击相应的几何类型。
空间要素存储在 Spatial Property Name 列中指示的实体的属性中。 无法对属性名称进行更改。
- 对于每个选中的实体,定义其空间要素的创建方式。 单击表中的实体。 在表格下方,将显示输入空间格式下拉列表。 单击下拉列表,然后单击存储在源表或要素类中的空间数据的相应选项。
- 几何 - 存储在源要素类的几何字段中的形状将保存到知识图谱的实体中。 可以使用显示的输入几何字段下拉列表来识别几何字段。 仅存储 ArcGIS 几何格式中定义的形状的字段才能存储在知识图谱中。
- 坐标 - 将根据表中的数据构建实体空间要素。 指定包含要素坐标的字段。 源表中的字段将显示在可用字段列表中。 对于每个存储空间坐标的字段,单击该字段并单击添加;该字段将添加到已选字段列表中。 如果适合表中存储的数据,请选中解释为经度、纬度选项。
- 单击下一步以前进至下一页。
如果已为知识图谱启用出处,则该向导将前进至出处页面。 否则,该向导将前进至检查并运行页面。
定义属性值的出处记录
如果已为知识图谱启用此功能,则可以创建出处记录以确定知识图谱中数据的来源。
将在出处页面顶部列出在向导的实体页面和关系页面上定义的实体和关系的所有属性。 可以创建出处记录以定义存储在这些属性中的值的源。
出处记录可以将属性值与存储在您正在使用的表的字段中的源信息相关联。 您还可以键入 URL、文件路径或者文本,该文本描述了一组属性值的源材料。 例如,如果给定属性的所有值均来自同一网站,则可以为引用该网站 URL 的每个值创建出处记录。 如果您正在使用表格中的信息以创建新的 Document 实体,您还可以创建引用这些文档的出处记录。
如果知识图谱已具有出处记录,则可以将其用作新出处记录的模板。 例如,之前已加载到知识图谱中的其他数据可能源自同一网站。 通过使用现有出处记录作为模板,可以避免拼写错误并确保在不同时间创建的出处记录之间的一致性。
在实体/关系属性表中选择一个或多个属性。 在以下 Provenance 表中,定义将为每个所选属性中的每个值创建出处记录的方式。
- 在实体/关系属性表中选择属性。
实体类型或关系类型显示在 Entity/Relationship 列中,属性显示在 Property 列中。
- 单击某行可选择其描述的属性。
- 按住 Shift 键的同时单击列表中的另一行可选择表格中相邻行描述的许多属性。
- 按住 Ctrl 键的同时单击列表中的其他行可以选择表格中彼此不相邻的多个特定属性。
- 单击页面底部 Provenance 表中的空白行可定义新的出处记录。
- 在 sourceType 列中单击并在随即出现的控件中定义源信息的类型。
支持三种源类型。 出处记录的源可以为知识图谱中的文档、由 URL 或文件路径标识的网站或文件,或者用于定义源材料或者其访问方式的文本。
- 默认情况下,控件底部的值选项处于选中状态。 单击文档、URL 或字符串。 每个出处记录在其源类型属性中都将具有相同的类型。
- 如果源类型是在表的字段中定义的,请单击控件底部的列选项。 该控件将更改为列出表格中的所有字段。 单击其数据指定出处记录源类型的字段。 每个出处记录将在表格相应行的所选字段中具有源类型。
- 要使用 Arcade 表达式指定源类型,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,指示出处记录源类型,然后单击确定。
- 在 source 列中单击并在随即出现的控件中定义出处记录的源。
- 默认情况下,控件底部的值选项处于选中状态。 当源为知识图谱的其他出处记录中使用的 URL 或文本时,请键入该值的一部分。 将搜索知识图谱中的现有出处记录并列出所有匹配的源。 将鼠标悬停在搜索结果列表中的值上可检查现有出处记录的属性。 单击列表中的相应值。 现有出处记录将用作模板 - 将针对此出处记录自动填充 Provenance 表中的源和所有其他列。 每个出处记录在其源属性中都将具有相同的文本。
- 当源为未在其他出处记录中使用的 URL 或文本时,请键入新值。 将搜索现有出处记录,但未找到任何匹配的值。 单击控件底部的新建出处按钮。 每个出处记录在其源中都将具有相同的文本。
- 如果源是在表的字段中定义的,请单击控件底部的列选项。 该控件将更改为列出表格中的所有字段。 单击其数据指定出处记录源的字段。 每个出处记录将在表格相应行的所选字段中具有源。
- 如果新 Document 实体是在实体页面上定义的并且源为这些文档之一,请单击控件底部的实体选项。 该控件将更改为列出在实体/关系属性表中定义的所有新 Document 实体。 单击作为出处记录源的文档实体。 每个出处记录都将引用相应 Document 实体作为其源。
- 要使用 Arcade 表达式指定源,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,指示出处记录的源值,然后单击确定。
- 或者,在 sourceName 列中单击并在随即出现的控件中定义源的标题。
- 默认情况下,控件底部的值选项处于选中状态。 如果已提供模板值并且您希望使用该值,请跳过此步骤。 否则,请输入新标题。 每个出处记录在其源名称属性中都将具有相同的文本。
- 如果标题是在表的字段中定义的,请单击控件底部的列选项。 该控件将更改为列出表格中的所有字段。 单击其数据指定标题的字段。 每个出处记录将在表格相应行的所选字段中具有源名称。
- 要使用 Arcade 表达式指定标题,请单击下拉列表底部的表达式构建器选项 。 使用表达式构建器对话框创建 Arcade 表达式,返回将存储在出处记录的源名称属性中的标题,然后单击确定。
- 或者,在 comment 列中单击并在随即出现的控件中定义有关源材料的附加信息。
请按照与 sourceName 字段相同的步骤进行操作。
- 或者,单击修改方案 ,为知识图谱中的出处记录添加自定义属性。
- 在随即出现的字段视图中,单击表格底部的空白行。
- 为新属性提供名称并定义其数据类型。
- 在功能区字段选项卡的管理编辑内容组中,单击保存。
- 关闭字段视图。
新的出处记录属性随即出现在 Provenance 表中。
- 对于 Provenance 表中显示的任何附加出处记录属性,请提供相应的值。
请按照与 sourceName 字段相同的步骤进行操作。
- 单击下一步前进到向导中的检查并运行页面。
检查配置并加载数据
向导的检查并运行页面中将显示将在知识图谱中创建的实体、关系和属性的摘要。 运行按钮将保持不可用,直到向导中识别的所有问题均已校正。
- 检查将数据从源表或要素类加载到知识图谱中的实体、关系、属性和空间要素的所有规则。
- 要保存最后一组规则以供今后使用,请选中保存配置。 单击显示的列表的下拉箭头,然后单击现有数据加载配置的名称以将其覆盖。 或者,输入一个名称以将规则存储在新的数据加载配置中。
- 选中完成后在新链接图中显示结果,将数据转换过程创建的实体和关系添加到新链接图表中以供您查看。
- 单击运行 。
如果在数据加载过程中发现任何错误,页面底部会显示警告。 单击警告中的查看详细信息链接可在对话框中显示错误列表。 例如,表或属性中的空值或数据类型不匹配会阻止合并两个实体并导致错误。
要保留列表并稍后在评估转换过程的结果时进行查看,请单击复制按钮 。 打开文本编辑器并粘贴复制的消息,然后将其保存到文本文件中。
- 关闭“加载表”视图。
数据加载操作完成后,更新任何打开的调查、地图和链接图表,以查看知识图谱中当前的实体和关系及其属性。 查看和编辑知识图谱中的图谱项目,以合并不应分离的实体和关系、删除错误创建的实体和关系,或根据需要修改属性。
如果您选择将数据加载配置保存到调查中,则可以将其导出到数据加载配置文件以在另一个工程中使用,并将其与源表或要素类一起归档。 保存工程将数据加载配置保存为当前调查的一部分。