Cypher查询检查list1是否包含来自list2的任何项



数据库中的每个节点都有一个保存列表的属性。我需要检查给定列表中的任何项是否在该属性中。

我正在寻找像match (n) where any(x in n.list where x=[101,102,103]) return n这样的查询-这意味着"检查n.list是否包含101,102,103。如果是,返回n"

在cypher中有类似的东西吗?

你差不多有你问题的答案了!

检查这个:https://neo4j.com/docs/cypher-manual/current/functions/predicate/#functions-any, any谓词存在。

查询中唯一的错误是x=[101,102,103],您应该通过x IN [101,102,103]更改

所以最后的查询是:

MATCH (n) 
WHERE any(x IN n.list WHERE x IN [101,102,103])
RETURN n

最新更新