我如何获得图表中特定关系船类型的所有节点

How do i get all nodes in the graph on a certain relation ship type

我构建了一个小图表,其中所有屏幕都连接在一起,屏幕的流量根据 system/user 而变化。所以 system/user 是关系类型。

我正在寻找从起始屏幕获取与特定关系链接的所有节点。我不关心深度,因为我不知道图表的深度。 像这样,但是下面的查询需要获得结果,并且它的 returning 不正确的连接不匹配属​​性 {path:'CC'}

匹配 (n:screen {isStart:true})-[r:NEXT*0..{path:'CC'}]-() returnr,n

几点建议:

  1. 确保您已经为 :screen(isStart) 创建了一个索引:

    CREATE INDEX ON :screen(isStart);
    
  2. 您确定要包含长度为 0 的路径吗?如果不是,请从您的查询中取出 0..
  3. 您没有指定 :NEXT 关系的方向性,因此数据库必须同时查看传入和传出 :NEXT 关系。如果合适,指定方向性。

  4. 要尽量减少结果行数,请添加 WHERE 子句以确保当前路径无法进一步扩展。

这是结合了最后 3 条建议的建议查询(根据您的需要进行修改):

MATCH (n:screen {isStart:true})-[r:NEXT* {path:'CC'}]->(x)
WHERE NOT (x)-[:NEXT {path:'CC'}]->()
return r,n;