小编ste*_*sin的帖子

Cypher:类似于`sort -u`来合并2个集合?

假设我在一个属性中有一个带有集合的节点

START x = node(17) SET x.c = [ 4, 6, 2, 3, 7, 9, 11 ];
Run Code Online (Sandbox Code Playgroud)

和某个地方(即从.csv文件)我得到另一个价值集合,比方说

c1 = [ 11, 4, 5, 8, 1, 9 ]
Run Code Online (Sandbox Code Playgroud)

我把我的收藏品视为一套,元素的顺序无关紧要.我需要的是将xc与c1合并为魔术操作,以便生成的xc仅包含两者中的不同元素.想到了以下想法(尚未经过测试):

LOAD CSV FROM "file:///tmp/additives.csv" as row
START x=node(TOINT(row[0]))
MATCH c1 = [ elem IN SPLIT(row[1], ':') | TOINT(elem) ]
SET
x.c = [ newxc IN x.c + c1 WHERE (newx IN x.c AND newx IN c1) ];
Run Code Online (Sandbox Code Playgroud)

这不起作用,它将给出一个交集,但不是一个不同项的集合.更多RTFM给出了另一个想法:使用REDUCE()?但怎么样?

如何使用新的内置函数UNIQUE()扩展Cypher,它接受收集和返回集合,清理表单重复?

UPD.似乎FILTER()函数是接近但交叉点的东西:(

x.c = FILTER( newxc IN x.c + c1 WHERE (newx IN …
Run Code Online (Sandbox Code Playgroud)

neo4j cypher

7
推荐指数
1
解决办法
360
查看次数

标签 统计

cypher ×1

neo4j ×1