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

我正在寻找类似 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/developer-manual/3.0/cypher/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

关于neo4j - Cypher 查询以检查 list1 是否包含 list2 中的任何项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39327437/

10-10 03:13