我的数据库中的每个节点都有一个包含列表的属性。我需要检查给定列表中的任何项目是否在该属性中。
我正在寻找类似 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/