neo4j如何比较两个列表并返回不同的项目

时间:2013-12-27 08:45:56

标签: neo4j

我正在使用neo4j MATCH并获取两个用户列表:listA,listB, listB listA 的一部分 如何仅在 listA 中返回用户,而不在 listB 中使用密码查询返回用户 密码如:

  

MATCH listA,listB
  返回列表A - listB

以下是我之前的问题:neo4j cypher multi relationship between nodes

完成请参阅上面链接中的解决方案

2 个答案:

答案 0 :(得分:3)

要返回一个列表中不在另一个列表中的成员,您可以使用FILTER函数(docs),例如

WITH [1,2,3,4,5,6] as listA, [1,2,3] as listB
RETURN FILTER( n IN listA WHERE NOT n IN listB ) as listC

c
4, 5, 6
Returned 1 row in 90 ms

答案 1 :(得分:1)

在最新的Neo4j版本4.0文档here中删除了过滤器功能 而是使用List comprehension

WITH [1,2,3,4,5,6] as listA, [1,2,3] as listB
RETURN [n IN listA WHERE NOT n IN listB] as listC

这将导致输出 4、5、6