我正在努力解决Neo4j问题。我的项目正在使用Cypher查询到远程Neo4j服务器。
我们有节点,并且关系彼此关联,因此存在集群:
(a)->(b)->(c)->(d),(a)<-(f),(a)<-(g)。
单个节点未与其他节点连接:
(h),(i),(j)。
我想查询一个图,该图包含连接到节点(a)的所有节点,无论关系的方向是(b)->(a)还是(a)->(b)。
我读了其他问题,做了谷歌,这是我当前的查询:
MATCH path =(a { ID:'1' })--(neighbor)
RETURN path
但是此查询仅在第一个邻居节点处停止,例如(a)<-(b),不包括节点(c)和(d)。
请帮助我并教我如何包括链接到(a)的所有节点?
谢谢
Yufan
您可以使用*
关系规范中的来使用可变路径长度匹配,请参见http://docs.neo4j.org/chunked/stable/introduction-pattern.html的“可变长度”部分。
要获取集群中的所有节点:
MATCH path =(a { ID:'1' })-[*]-(neighbor) RETURN distinct neighbor
我们知道,使用*
查询的深度不受限制,并且可能会很昂贵。最好提供一个上限,例如[*..20]
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句