如何在neo4j中找到第二级连接?

Ama*_*man 6 neo4j

我的Neo4j图表显示像下面..
300连接到100100被连接到201400.
我想找出neo4j中的第二级连接.例如:300的节点的第二级应该返回201400
是否可以在neo4j中?

在此输入图像描述

在此输入图像描述

当我使用下面的密码查询时:

MATCH(n) - [:CALLED*2] - (结果)WHERE n.name ='300'RETURN结果
它应该只给我201和400,但它返回如下

在此输入图像描述

Bri*_*ood 6

在Neo4j中这很容易.如果你正在使用Cypher,它可能是这样的:

MATCH (n)-[:CALLED]-()-[:CALLED]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)

我在这里假设id财产是持有识别号码的,但显然你可以改变它.

你甚至可以做这样的可变长度路径:

MATCH (n)-[:CALLED*2]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)

但是,这里的部分问题是这将返回节点#200.一个适合您要查找的结果的查询是:

MATCH (n)-[:CALLED]->()<-[:CALLED]-(result)
WHERE n.id = 300
RETURN result
Run Code Online (Sandbox Code Playgroud)

这仅匹配中间节点具有指向它的关系的位置.