数据准备
图数据作为一种语义网络拥有极强的表达能力和建模灵活性。数据准备主要是提供关系数据转图数据所需的实体与实体关系,且对其进行属性配置,以实现用图结构表达原数据,便于挖掘数据中蕴含的高维关系。
样例概述
抽图所需的实体为实际问题中客观存在的并且可以相互区别的事物,实体关系为实体之间的联系。
如图所示,导演通过执导关系指向电视剧,此操作可以看作语句中的“主谓宾”结构。其中导演为主语,执导为谓语,电视剧为宾语。那么导演的属性值如姓名为修饰导演的定语,执导的属性值如执导时长为修饰执导的状语,电视剧的属性值如电视剧名为修饰电视剧的定语。
姓名叫张三的导演花了5年的时间执导了一部名字叫《李四传》的电视剧。其中:主语“导演”和宾语“电视剧”为两个实体,谓语“执导”为实体关系,其他信息分别为实体或者实体关系的属性。
交互抽图自动配置实体和实体关系
交互抽图会根据选择的表格自动生成实体和实体关系。
创建数据源后,进入数据准备页面,系统会自动弹出交互抽图窗口,若不想使用交互抽图,可点击右上角x
关闭此窗口,进而手动添加实体和实体关系。
交互抽图只支持PostgreSQL,CSV文件-S3和CSV文件-本地上传方式创建的数据源,在进入数据准备页面后会自动弹出交互抽图窗口。
本节以导演表,电视剧表,导演与电视剧的关联关系表作为例。
(1)添加表格。点击页面添加表格
,选择需要的表格,如图所示。
(2)选择字段。选择完表格后,可点击展开字段
,查看已选择的字段,默认全选,在此可对字段进行去勾选操作,只保留想要的字段。还可点击展开透视
查看表格内容。如图所示。
(3)抽图方案准备。点击下一步
,等待抽图方案生成,如图所示。
(4)选择抽图方案。方案生成后,会自动展示生成的方案,如图所示。
说明:
- 方案选择有多轮,每轮最多展示5个方案供选择。无方案可选择时,展示最终方案。
- 点击
返回字段选择
将返回到第1步,重新开始。 - 任何情况下,点击
使用已选方案
将直接关闭交互抽图窗口,展示数据准备页面,在此仍可对实体和实体关系进行配置,具体配置方法见下节手动添加实体和实体关系
(5)(可选)修改标签名称,属性名称,属性类型,从图中移除不需要的属性。
标签名称修改,如下图所示。
属性名称,属性类型修改,从图中移除不需要的属性,如下图所示。
说明:
当弹窗提示“当前方案存在错误,请调整属性名称、属性类型或标签名称”,必须要对标签名称,属性名称和属性类型做修改。
- 实体标签名称重名
- 同一标签下,存在两个相同名称的属性
- 最终方案。点击
使用已选方案
,交互抽图窗口关闭,回到数据准备页面,完成实体和实体关系的自动配置。
手动配置实体和实体关系
添加实体
(1)添加实体的两种方式:
- 点击界面中央的
添加实体
按钮添加(数据准备界面无内容时,可通过此方式添加实体),如图所示。 - 点击界面右下角的添加图标添加,如图所示。
(2)添加后生成待配置的实体—实体待配置
添加实体关系
连线模式添加实体关系
(1)点击连线图标,进入连线模式,如图所示。
(2)连线模式中,点击左侧“实体”再点击右侧的“实体”后,左侧实体箭头指向右侧实体,箭头中有“待配置”字样为待配置的实体关系,如图所示。
说明:实体关系具有方向性。添加实体关系需要先点击起点实体再点击终点实体。
(3)点击退出图标,退出连线模式。
直接添加实体关系
点击实体图标右侧的添加实体关系按钮。新增了实体并且原来的实体箭头指向新的实体,箭头中有“待配置”字样为待配置的实体关系,如图所示。
说明:实体关系具有方向性。添加实体关系需要先点击起点实体再点击终点实体。
实体配置
本节以配置”导演“实体为例,在数据准备界面上操作。“电视剧“实体配置方法与“导演”实体配置方法一致。
点击实体待配置
,出现实体配置的弹窗如下图所示。
执行上图步骤配置实体。
- 点击实体列中的“表格”选项,选择“director”表,实体配置弹窗下方显示表的两行预览数据。
- 点击实体列中的“实体列”选项,出现表格列名的下拉框,选中表格,选择director_id列。
- 实体列会被用来唯一标识实体,并与其它实体建立实体关系,因此该列的选择需要结合后续与该实体相连的实体关系配置中的表格内容来选择,即该表需要同样具备能唯一标识此实体的列,否则会导致实体关系抽取错误或失败。
- 若某条数据的实体列有为空的情况,则该条数据将会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 输入“导演”作为标签名称。
- 标签名称与其他实体的标签名称不能相同。
- 标签名称限制在30个字符以内。
- 点击
添加属性
按钮,新增属性列。- 属性列有为空的数据内容,则为空数据对应的属性会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 属性类型为时间/数值/YM时间/YMD时间且转换失败的属性将会被丢弃
对于在数据库中是字符类型但属性类型被选为
时间/数值/YM时间/YMD时间
的数据,系统会尝试将其转为数值类型,但会出现转换失败的情况,例如“180cm”因为其带有非数字的字符导致系统无法完成转换。对于此种情况,系统会将转换失败的属性丢弃。 - 实体/实体关系已有重复记录,合并可能造成属性冲突其属性将会被丢弃
- 点击属性列右侧“请选择”窗口,出现表格列名的下拉框,选择
director_zh
。 - 选择属性列后,属性名称自动填充为列名(director_zh),属性类型自动填充(人名);属性名称可以编辑修改,属性类型可以下拉选择。
- 属性名称默认与属性列的名字一致,若出现名字字符超过30个,会出现“最多输入30个字符”的提示信息,并且会自动修正为30个字符。
- 属性列不能重复,若出现重复情况,则出现属性列重复的提示。
- 属性名称不能重复,若出现重复情况,则出现属性名称重复的提示。
属性类型自动填充是系统根据当前列的数据内容,来判断属性类型。
属性类型描述的是图中实体或实体关系属性值所属的范畴或领域,例如”导演“的”姓名“的属性类型是”人名“,”导演“的”出生地“的属性类型是”地区“。更多的属性类型说明如下:
序号 | 中文名 | 说明 |
---|---|---|
1 | 通用 | 所有属性都可以配成该类型 |
2 | 地址 | 详细地址(街道乡镇及以下) |
3 | 血型 | 常见血型 |
4 | 机构名 | 公司名 |
5 | 星座 | 星座 |
6 | 教育程度 | 教育程度 |
7 | 性别 | 性别 |
8 | 商品描述 | 电商平台中商品的标题 |
9 | 语言 | 语言 |
10 | 民族 | 民族 |
11 | 国家 | 国家 |
12 | 职业 | 职业 |
13 | 人名 | 人名 |
14 | 宗教 | 宗教 |
15 | 时间 | 时间戳 |
16 | 年-月 | 年月,例:2022年1月 |
17 | 年-月-日 | 年月日,例:2022年1月1日 |
18 | 生肖 | 生肖,例:虎 |
19 | 数值 | 数值,例:58 |
20 | 手机号 | 手机号 |
21 | 身份证 | 身份证号码 |
用户在选择属性列后,系统会根据属性列的值推理出3-5个可能的属性类型供用户选择。针对不同的属性类型,系统会采用不同的特征提取方式来从原始数据中获取更多维度的信息,从而发现更深层次的规则,因此用户需要选择一个最符合预期的属性类型,如果不确定究竟该选择哪一个,通用是最稳妥的选择。
实体配置说明
- 删除实体:点击
删除实体
,数据准备中的实体会被删除。 - 清空:点击
清空
,实体配置中选择和填写的信息都会清空。 - 删除属性列:点击删除属性列,该条属性列被删除。
- 批量添加:点击
批量添加
,可一次性添加多个属性;点击右上角的全选
,添加该表的所有属性。
实体关系配置
在完成全部实体的实体配置之后,进行实体关系配置。
点击两个实体间的待配置
, 出现实体关系配置的弹窗,如下图所示。
执行上图步骤配置实体关系。
- 点击实体列中的“表格”选项,配置实体关系表格,选择“drama_link2director”表,实体配置弹窗下方显示表的两行预览数据。
- 点击关系列中的“关系列”选项,出现表格列名的下拉框,选中表格,选择id列。
- 关系列用于区分两个相同实体间的同标签的实体关系,例如明星“张三”多次获得“最佳男主角”奖项,就需要有多条获奖边来表示该关系,此时的关系列可选择
获奖时间
等能够区分这些边的字段。 - 若关系列有数据内容为空,则该空数据对应的实体关系将会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 如果实体关系所对应实体标签在已抽出的实体标签中不存在,则该条实体关系将被丢弃。
- 关系列用于区分两个相同实体间的同标签的实体关系,例如明星“张三”多次获得“最佳男主角”奖项,就需要有多条获奖边来表示该关系,此时的关系列可选择
- 点击关系列的标签名,输入为“执导”。
- 标签名称限制在30个字符以内。
- 点击
导演
右侧中的请选择
框,出现表格列名的下拉框,选中表格,选择director_id列。- “导演”为实体关系的起点实体的标签名,“director_id“作为实体关系“执导”的外键(实体“导演”的主键—实体列)。
- 若该实体有多个列作为实体列,则右侧选择框也拥有相同数量的列,且选择顺序相同。
- 若实体关系对应的起点、终点实体的实体列为空,则该空数据对应的实体关系会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 点击
电视剧
右侧中的请选择
框,出现表格列名的下拉框,选中表格,选择drama_id列。- “电视剧”为实体关系的终点实体的标签名,“drama_id”作为实体关系“执导”的外键(实体“电视剧”的主键—实体列)。
- 若该实体有多个列作为实体列,则右侧选择框也拥有相同数量的列,且选择顺序相同。
- 若实体关系对应的起点、终点实体的实体列为空,则该空数据对应的实体关系会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 点击
添加属性
按钮,新增属性列。- 属性列有为空的数据内容,则为空数据对应的属性会被丢弃。数据为"" ,"none", "nan", "null"其中之一则认为是空数据。
- 属性类型为时间/年-月-日/年-月且转换失败的属性将会被丢弃
对于在数据库中是字符类型但属性类型被选为
时间/年-月-日/年-月
的数据,系统会尝试将其转为数值类型,但会出现转换失败的情况,例如“180cm”因为其带有非数字的字符导致系统无法完成转换。对于此种情况,系统会将转换失败的属性丢弃。 - 实体/实体关系已有重复记录,合并可能造成属性冲突其属性将会被丢弃
- 点击属性列右侧
请选择
窗口,出现表格列名的下拉框,选择fetch_time。 - 选择属性列后,属性名称自动填充为列名(fetch_time),属性类型自动填充(数值);属性名称 可以编辑修改,属性类型可以下拉选择。
- 属性名称默认与属性列的名字一致,若出现名字字符超过30个,会出现“最多输入30个字符”的提示信息,并且会自动修正为30个字符。
- 属性列不能重复,若出现重复情况,则出现属性列重复的提示。
- 属性名称不能重复,若出现重复情况,则出现属性名称重复的提示。
属性类型自动填充是系统根据当前列的数据内容,来判断属性类型。属性类型修饰说明见属性类型修饰说明。
实体关系配置说明
- 其删除实体关系、清空、删除属性列、批量添加与实体配置说明相似,见实体配置说明。
- 实体关系配置最下方
反向
按钮,将起始点实体与终点实体互换,其在实体关系中对应的实体列不变。
最终配置
实体配置、实体关系配置完成结果,如下图所示。