我有一个在多个分层树中组织的数据库。 节点按编号组织。以相同编号开头的节点按关系互连。例如:(5) - [connect] - (50) - [connect] - (507)...等我想从第一个父节点开始搜索节点301:节点3.如何在cypher中执行此查询?
答案 0 :(得分:1)
如果您想从第一个父级开始搜索特定节点,我建议您进行以下查询:
MATCH (n {number:1})-[:CONNECT*0..]->(n1) return n, n1;
此查询搜索具有属性number = 1
的节点,并搜索通过CONNECT
关系相关的所有子节点。如果要搜索特定的子节点,则必须以这种方式更改查询:
MATCH (n {number:1})-[:CONNECT*0..]->(n1 {number:101}) return n, n1;
在*0..
部分,您可以定义要搜索的深度,因此您还可以使用*0..n
搜索depth = n。本文档是一个以match / path子句开头的好地方:https://neo4j.com/docs/developer-manual/current/cypher/clauses/match/