SAMPLE
历史版本兼容性
SAMPLE
仅能在GO
语句中使用,语法如下:
- 列表
sample_list
必须包含3个自然数元素,例如GO 1 TO 3 STEPS FROM "A" OVER * SAMPLE [1,2,4]
。 SAMPLE [1,2,4]
中的1
表示系统在第一步时自动选择1条边继续遍历,2
表示在第二步时选择2条边继续遍历,4
表示在第三步时选择4条边继续遍历。如果某一步没有匹配的边或者匹配到的边数量小于指定数量,则按实际数量返回。- 因为表示返回第一到第三步的所有遍历结果,因此下图中所有红色边和它们的原点与目的点都会被这条
GO
语句匹配上,而黄色边表示GO
语句遍历时没有选择的路径。如果不是GO 1 TO 3 STEPS
而是GO 3 STEPS
,则只会匹配上第三步的红色边和它们两端的点。
nebula> GO 3 STEPS FROM "player100" \
OVER * \
YIELD properties($$).name AS NAME, properties($$).age AS Age \
SAMPLE [1,2,3];
+-----------------+--------------+
| NAME | Age |
| "Spurs" | UNKNOWN_PROP |
| "Tony Parker" | 36 |
| "Manu Ginobili" | 41 |
nebula> GO 1 TO 3 STEPS FROM "player100" \
OVER * \
YIELD properties($$).name AS NAME, properties($$).age AS Age \
SAMPLE [2,2,2];
| NAME | Age |
+---------------------+-----+
| "Manu Ginobili" | 41 |
| "Tony Parker" | 36 |
| "Tim Duncan" | 42 |
| "LaMarcus Aldridge" | 33 |
| "Tony Parker" | 36 |
| "Tim Duncan" | 42 |
最后更新: October 25, 2021