可以在知识图谱中创建实体和关系来表示现有的表格数据。 表字段中的数据可以转换为实体和关系的属性。 可以将要素类几何加载到实体的空间要素中。
定义如何使用加载表向导将表格数据转换为知识图谱项目。 当定义转换过程时,可以保存作业。 转换数据的指令将作为数据加载配置保存在当前工程的调查中。 可以修改现有数据加载配置以适应类似的表和要素类。
当运行转换过程时,数据将被加载到当前调查的知识图谱中。 可以创建一个新的链接图表来查看和评估转换过程的结果。
数据加载配置用于指定如何读取和处理表中的数据。 加载表过程在知识图谱中创建实体和关系来表示数据。
打开“加载表”向导
打开“加载表”向导以将表格数据导入调查的知识图谱。
- 在 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 几何格式中定义的形状的字段才能存储在知识图谱中。
- 坐标 - 将根据表中的数据构建实体空间要素。 指定包含要素坐标的字段。 源表中的字段将显示在可用字段列表中。 对于每个存储空间坐标的字段,单击该字段并单击添加;该字段将添加到已选字段列表中。
- 单击下一步前进到向导中的检查并运行页面。
检查配置并加载数据
向导的检查并运行页面中将显示将在知识图谱中创建的实体、关系和属性的摘要。 运行按钮将保持不可用,直到向导中识别的所有问题均已校正。
- 检查将数据从源表或要素类加载到知识图谱中的实体、关系、属性和空间要素的所有规则。
- 要保存最后一组规则以供今后使用,请选中保存配置。 单击显示的列表的下拉箭头,然后单击现有数据加载配置的名称以将其覆盖。 或者,输入一个名称以将规则存储在新的数据加载配置中。
- 选中完成后在新链接图中显示结果,将数据转换过程创建的实体和关系添加到新链接图表中以供您查看。
- 单击运行 。
- 如果在数据加载过程中发现任何错误,页面底部会显示警告。 单击警告中的查看详细信息链接。
随即出现一个显示错误列表的对话框。 例如,表或属性中的空值或数据类型不匹配会阻止合并两个实体并导致错误。
- 要保留列表并稍后在评估转换过程的结果时进行查看,请单击复制按钮 。 打开文本编辑器并粘贴复制的消息,然后将其保存到文本文件中。
- 关闭“加载表”视图。