【发布时间】:2017-01-12 15:18:57
【问题描述】:
我的数据库中的每个节点都有一个包含列表的属性。我需要检查给定列表中的任何项目是否在该属性中。
我正在寻找类似 @987654321@ 的查询 - 这意味着 “检查 n.list 是否包含 101、102、103。如果是,则返回 n”
在 cypher 中有类似的东西吗?
【问题讨论】:
我的数据库中的每个节点都有一个包含列表的属性。我需要检查给定列表中的任何项目是否在该属性中。
我正在寻找类似 @987654321@ 的查询 - 这意味着 “检查 n.list 是否包含 101、102、103。如果是,则返回 n”
在 cypher 中有类似的东西吗?
【问题讨论】:
你的问题已经有了答案!
检查这个:https://neo4j.com/docs/cypher-manual/current/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
【讨论】: