neo4j可以查询与关系相关的所有节点吗?

时间:2014-06-08 10:03:16

标签: neo4j graph-databases nosql

我正在努力解决Neo4j问题。我的项目是使用Cypher查询到远程Neo4j服务器。

我们有节点和关系与其他节点相关联,因此存在集群:

(a) - >(b) - >(c) - >(d),(a)&lt ;-(f),(a)&lt ;-(g)。

单个节点未与其他节点连接:

(h),(i),(j)。

我想查询包含连接到节点(a)的所有节点的图表,无论关系的方向如何,(b) - >(a)或(a) - >(b)。

我已经阅读了其他问题,google,这是我当前的查询:

MATCH path =(a { ID:'1' })--(neighbor)
RETURN path

但是这个查询只在第一个邻居节点停止,如(a)&lt ;-(b),节点(c)和(d)不包括在内。

请帮助我并教我如何包含链接到(a)的所有节点?

谢谢

雨帆

1 个答案:

答案 0 :(得分:1)

您可以使用关系规范中的*来使用可变路径长度匹配,请参阅http://docs.neo4j.org/chunked/stable/introduction-pattern.html,部分"可变长度"。

获取群集中的所有节点:

MATCH path =(a { ID:'1' })-[*]-(neighbor) RETURN distinct neighbor

我们知道使用*查询无限深度并且可能很昂贵。提供上限的良好做法,例如[*..20]