如何使用cypher查询在neo4j中进行遍历?

时间:2015-01-11 17:29:25

标签: neo4j traversal

我尝试做的只是从一个节点开始,搜索所有已连接的特定标签节点。但是我不想返回起始节点。我该怎么做?

示例:

  

...< - [:父]< -anode< - [创建] -user- [创建] - GT;阳极 - [:父] - GT;阳极-....->节...

我想要做的是从用户节点开始并返回所有关系,但不包括用户节点。

2 个答案:

答案 0 :(得分:2)

这将返回一个列表,列出通过距离最远为10的created关系连接的所有节点。

MATCH user-[:created*1..10]->(anode:CertainLabel)
RETURN DISTINCT anode

根据您的图表,您可以摆脱10,但如果它很大且复杂,删除最大值可能会导致查询运行速度非常慢

答案 1 :(得分:1)

这与我所寻找的一致。

START u = node(26)
MATCH (u)-[rels*1..10]->(node) unwind rels as r
          RETURN DISTINCT id(startNode(r)),endNode(r)