如何在 Neo4j 中找到二级连接?

how to find 2nd level of connections in neo4j?

我的 neo4j 图表如下所示..
300 连接到 100 并且 100 连接到 201400.
我想找出 neo4j 中的第二级连接。 例如:300 的第 2 级节点应该 return me 201400
在neo4j中可以吗?

当我使用以下密码查询时:

MATCH (n)-[:CALLED*2]-(result) WHERE n.name = '300' RETURN result
It should give me only 201 and 400 ,but it return like below

这在 Neo4j 中非常容易。如果您使用的是 Cypher,它可能类似于:

MATCH (n)-[:CALLED]-()-[:CALLED]-(result)
WHERE n.id = 300
RETURN result

我在这里假设 id 属性 是保存标识号的内容,但显然您可以更改它。

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

MATCH (n)-[:CALLED*2]-(result)
WHERE n.id = 300
RETURN result

这里的部分问题是,这将 return 节点 #200。符合您查找结果的一个查询是:

MATCH (n)-[:CALLED]->()<-[:CALLED]-(result)
WHERE n.id = 300
RETURN result

这只匹配中间节点有关系指向它的地方。