1、概述
apoc.generate.simple过程根据指定的节点度数生成图。该过程要求一个非负整数的数组作为参数之一,其中的每个元素是节点的度,例如:[2,2,2,2]表示4个节点,每个节点的度都是2。[2,2,3,3]表示4个节点,其中2个节点的度是2、2个节点的度是3。节点的度数的顺序无关,但是最终生成的必须是合法的图,即每条边必须连接2个节点。[1,2,3,4]这样的序列会产生错误,因为无法构造一个合法的图,其中4个节点的度数分别是1、2、3、4。(不信的话你可以在纸上画来试试?)
2、过程调用接口
过程接口 | CALL apoc.generate.complete( degree, label, relType ) |
参数名 | 类型 | 缺省值 | 可为空? | 说明 |
degrees | 非负整数数组 | [] | 是 | 节点的度数。 |
label | 字符串 | NULL | 是 | 节点标签。如果为空则缺省为Person,并且会为每个Person节点生成一个英文名字保存在name属性中。 |
relType | 字符串 | NULL | 是 | 关系类型。如果为空则缺省为FRIENDS_OF。 |
3、示例
// 8.9(1) 生成一个有6个节点的图。
// 节点标签为NodeSm,边/关系类型为LINKS5。
CALL apoc.generate.simple([2,2,3,3,0,0], 'NodeSm', 'LINKS5')
查询8.9(1) 生成一个小型的图:其中2个节点的度是0、2个是2、2个是3。这是一个“合法”的图。生成的图显示如下: