如何使用cypher验证路径中是否存在某些节点

时间:2013-10-22 09:53:42

标签: neo4j cypher

我希望获得两个节点之间的所有路径,以便这些路径中存在节点列表中的至少一个节点。

我怎么能用cypher做到这一点?

1 个答案:

答案 0 :(得分:2)

假设您已将节点列表提供为cypher集合,这可以完成这项工作吗?

MATCH path=(start)-[r:*1..100]-(end)
WHERE ANY(node_on_path in NODES(path) 
  WHERE node_on_path IN node_collection)

您也可以尝试使用一系列值来检查路径上的节点,例如

MATCH path=(start)-[r:1..100]-(end)
WHERE ANY(node_on_path in NODES(path)
  WHERE node_on_path.some_property IN list_of_acceptable_values)