构建NEO4J Cypher Graph Query以显示路径中的中间节点

时间:2014-10-04 23:21:30

标签: graph neo4j cypher

所以我看到这篇StackOverflow文章介绍了如何在一定距离内获取所有节点。 Neo4j/Gremlin/Cypher: how to get all nodes until i reach a certain distance (depth) in a map-like setup?

但是,我还要想象这个节点集合。但是,生成的查询

MATCH (n { handle: '" + handle + "' })-[r:EDGE*1..4]->x "
              "RETURN r, n.handle,x.handle")

n将为我提供起始节点,x将为我提供每个路径的最后一个节点。 r给了我一份关系清单。我想看到每个路径中的中间节点列表。但是,似乎关系存储在URL中,并且抓取每个URL并解析它似乎效率低下。

有没有办法构造查询,以便我可以在路径中获取中间节点?

1 个答案:

答案 0 :(得分:0)

您可以按照自己的意愿返回路径或路径节点。

MATCH path = (n:Label { handle: {handle} })-[r:EDGE*1..4]->(x)
RETURN r, n.handle,x.handle, path, nodes(path)