函数 listUnion() 可以计算两个列表的全部元素并去重,以列表的形式返回,即返回两个列表的合集(不允许有重复元素)。
Arguments:
- 第一个列表 <list>
- 第二个列表 <list>
Returns:
- 和集 <list>
一般用法
示例:异源别名直接计算
uncollect [[1,2,2],[2,4,5]] as a
uncollect [[2,4,7],[4,5,7]] as b
return table(toString(a), toString(b), toString(listUnion(a, b)))
| toString(a) | toString(b) | toString(listUnion(a, b)) |
|-------------|-------------|---------------------------|
| [1,2,2] | [2,4,7] | [1,2,4,7] |
| [2,4,5] | [4,5,7] | [2,4,5,7] |
示例:异源别名笛卡尔积后计算
uncollect [[1,2,2],[2,4,5]] as a
uncollect [[2,4,7],[4,5,7]] as b
with listUnion(a, b) as c
return table(toString(a), toString(b), toString(c))
| toString(a) | toString(b) | toString(c) |
|-------------|-------------|-------------|
| [1,2,2] | [2,4,7] | [1,2,4,7] |
| [1,2,2] | [4,5,7] | [1,2,4,5,7] |
| [2,4,5] | [2,4,7] | [2,4,5,7] |
| [2,4,5] | [4,5,7] | [2,4,5,7] |
示例图集:(以下示例将在本图基础上运行)
在空图集中依次运行以下各行代码以创建该图数据:create().node_schema("student").node_schema("course")
create().node_property(@*, "name").node_property(@student, "age", int32).node_property(@course, "credit", int32)
insert().into(@student).nodes([{_id:"S001", _uuid:1, name:"Jason", age:25}, {_id:"S002", _uuid:2, name:"Lina", age:23}, {_id:"S003", _uuid:3, name:"Eric", age:24}, {_id:"S004", _uuid:4, name:"Emma", age:26}, {_id:"S005", _uuid:5, name:"Pepe", age:24}])
insert().into(@course).nodes([{_id:"C001", _uuid:6, name:"French", credit:4}, {_id:"C002", _uuid:7, name:"Math", credit:5}])
insert().into(@default).edges([{_uuid:1, _from_uuid:1, _to_uuid:6}, {_uuid:2, _from_uuid:2, _to_uuid:6}, {_uuid:3, _from_uuid:3, _to_uuid:6}, {_uuid:4, _from_uuid:2, _to_uuid:7}, {_uuid:5, _from_uuid:3, _to_uuid:7}, {_uuid:6, _from_uuid:4, _to_uuid:7}, {_uuid:7, _from_uuid:5, _to_uuid:7}])
示例:查找选择了法语或数学课的学生
khop().src({name == "French"}).depth(1) as n1
with collect(n1) as l1
khop().src({name == "Math"}).depth(1) as n2
with collect(n2) as l2
return listUnion(l1, l2)
[
{"id":"S001","uuid":"1","schema":"student","values":{"name":"Jason","age":"25"}},
{"id":"S002","uuid":"2","schema":"student","values":{"name":"Lina","age":"23"}},
{"id":"S003","uuid":"3","schema":"student","values":{"name":"Eric","age":"24"}},
{"id":"S004","uuid":"4","schema":"student","values":{"name":"Emma","age":"26"}},
{"id":"S005","uuid":"5","schema":"student","values":{"name":"Pepe","age":"24"}}
]