我正在努力解决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)的所有节点?
谢谢
雨帆
答案 0 :(得分:1)
您可以使用关系规范中的*
来使用可变路径长度匹配,请参阅http://docs.neo4j.org/chunked/stable/introduction-pattern.html,部分"可变长度"。
获取群集中的所有节点:
MATCH path =(a { ID:'1' })-[*]-(neighbor) RETURN distinct neighbor
我们知道使用*
查询无限深度并且可能很昂贵。提供上限的良好做法,例如[*..20]
。