在neo4j上的分层树中搜索

时间:2017-01-09 13:45:21

标签: search neo4j tree cypher

我有一个在多个分层树中组织的数据库。 节点按编号组织。以相同编号开头的节点按关系互连。例如:(5) - [connect] - (50) - [connect] - (507)...等我想从第一个父节点开始搜索节点301:节点3.如何在cypher中执行此查询?

1 个答案:

答案 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/