多跳路径写法

  1. 如果只想要最大步数的结果, 不需要在go语句里指定最小步数: Go n steps from Vid over Edge
  2. 过滤上一步的结果应该用$-.本地的验证:
(root@nebula) [nba]> go FROM "Tim Duncan" over like YIELD like._dst as dst
+-----------------+
| dst             |
+-----------------+
| "Manu Ginobili" |
+-----------------+
| "Tony Parker"   |
+-----------------+
Got 2 rows (time spent 137800/142579 us)

Wed, 30 Jun 2021 10:54:50 CST

(root@nebula) [nba]> go FROM "Tim Duncan" over like YIELD like._dst as dst | go from $-.dst over serve
+------------+
| serve._dst |
+------------+
| "Spurs"    |
+------------+
| "Hornets"  |
+------------+
| "Spurs"    |
+------------+
Got 3 rows (time spent 315327/321535 us)

Wed, 30 Jun 2021 10:54:54 CST

(root@nebula) [nba]> go FROM "Tim Duncan" over like YIELD like._dst as dst | go from $-.dst over serve where $-.dst!="Tony Parker"
+------------+
| serve._dst |
+------------+
| "Spurs"    |
+------------+
Got 1 rows (time spent 344265/350669 us)

Wed, 30 Jun 2021 10:55:34 CST

(root@nebula) [nba]> go FROM "Tim Duncan" over like YIELD like._dst as dst | go from $-.dst over serve where $-.dst!="Manu Ginobili"
+------------+
| serve._dst |
+------------+
| "Spurs"    |
+------------+
| "Hornets"  |
+------------+
Got 2 rows (time spent 377198/383893 us)

你好,

2 我的场景应该是这样的, 感谢你

3 我们现在的实际场景就是查询0 to N的场景, 需要过滤出A-B-C的这种最大跳数的, 像这种过滤出最大跳数的有没有写法能代替呢??? 大神

看了下你的场景, 理解成从 vertex1 出发沿 relationship1 拓展后, 用拓展的结果 dst 沿着 relationship2 做第二次拓展, 并且用 relationship2 上的属性做过滤, 对吗?

用你2中的语句, 本地是可以完成过滤的:

(root@nebula) [nba]> GO 1 to 2 steps FROM "Tim Duncan" OVER like YIELD like._dst AS dst | GO FROM  $-.dst OVER serve
+-----------------+
| serve._dst      |
+-----------------+
| "Hornets"       |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Trail Blazers" |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
Got 8 rows (time spent 653396/666356 us)

Wed, 30 Jun 2021 14:23:25 CST

(root@nebula) [nba]> GO 1 to 2 steps FROM "Tim Duncan" OVER like YIELD like._dst AS dst | GO FROM  $-.dst OVER serve WHERE $$.team.name!="Spurs"
+-----------------+
| serve._dst      |
+-----------------+
| "Hornets"       |
+-----------------+
| "Trail Blazers" |
+-----------------+
Got 2 rows (time spent 735798/742767 us)

Wed, 30 Jun 2021 14:26:19 CST

(root@nebula) [nba]> GO 1 to 2 steps FROM "Tim Duncan" OVER like YIELD like._dst AS dst | GO FROM  $-.dst OVER serve WHERE $$.team.name!="Hornets"
+-----------------+
| serve._dst      |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Spurs"         |
+-----------------+
| "Trail Blazers" |
+-----------------+
| "Spurs"         |
+-----------------+
Got 7 rows (time spent 750760/760247 us)

Wed, 30 Jun 2021 14:26:25 CST
1 个赞

是的, 你这个是完全正确, 我想要的也是这个结果, 但是还有一点实现不了我这, 就是这个返回最大跳数的点

现在还支持不了

该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。