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