我的数据库中的每个节点都有一个包含列表的属性。我需要检查给定列表中的任何项目是否属于该属性。
我正在寻找像match (n) where any(x in n.list where x=[101,102,103]) return n
这样的查询 - 这意味着“检查n.list是否包含101,102,103。如果是,请返回n”
cypher中有类似的内容吗?
答案 0 :(得分:10)
你几乎可以回答你的问题!
检查:https://neo4j.com/docs/developer-manual/3.0/cypher/functions/predicate/#functions-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