从 Neo4j 中的 属性 数组中提取值
Extract value from property array in Neo4j
我有这样的东西:
MATCH (a)-[rel]->(b), x
WHERE x.id = rel.allIds.contains(5)
RETURN x
其中 rel.allIds 是一个数字数组。
如何用密码进行 contains 查询?
注意:我使用的是Neo4j 2.1.5版本
使用ANY
检查每个ID是否相等。
MATCH (a)-[rel]->(b), x
WHERE has(x.id) and ANY(someid IN rel.allIds WHERE someid = x.id)
RETURN x
这会遍历 rel.allIds
中的所有项目,将每个项目绑定到 someid
,然后检查它是否与 X 的 ID 相同。
更广泛地说,匹配项中额外的 x
匹配图表中的任何内容。我猜你有一个非常小的图,因为以这种方式匹配是非常低效的。您可能想要为该关系创建一个节点,然后 link 它到 x,因为这不是您希望经常 运行 的查询。
我有这样的东西:
MATCH (a)-[rel]->(b), x
WHERE x.id = rel.allIds.contains(5)
RETURN x
其中 rel.allIds 是一个数字数组。
如何用密码进行 contains 查询?
注意:我使用的是Neo4j 2.1.5版本
使用ANY
检查每个ID是否相等。
MATCH (a)-[rel]->(b), x
WHERE has(x.id) and ANY(someid IN rel.allIds WHERE someid = x.id)
RETURN x
这会遍历 rel.allIds
中的所有项目,将每个项目绑定到 someid
,然后检查它是否与 X 的 ID 相同。
更广泛地说,匹配项中额外的 x
匹配图表中的任何内容。我猜你有一个非常小的图,因为以这种方式匹配是非常低效的。您可能想要为该关系创建一个节点,然后 link 它到 x,因为这不是您希望经常 运行 的查询。