首页 > 解决方案 > 路径中心的 Neo4j / Cypher 节点

问题描述

我在密码中有一条线性路径:

MATCH path = (s)-[:SOMETHING*]->(e)

我想要的是该路径中间的节点。我怎么才能得到它?

非常感谢您的时间!

标签: neo4jcypher

解决方案


您可以使用nodes(path)来获取路径中的节点列表。您可以使用length(path)它来获取它的长度,因此:

MATCH path = (s)-[:SOMETHING*]->(e)
RETURN nodes(path)[length(path)/2] as middle

应该让你成为你的中间节点。


推荐阅读