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,则只会匹配上第三步的红色边和它们两端的点。

    1. nebula> GO 3 STEPS FROM "player100" \
    2. OVER * \
    3. YIELD properties($$).name AS NAME, properties($$).age AS Age \
    4. SAMPLE [1,2,3];
    5. +-----------------+--------------+
    6. | NAME | Age |
    7. | "Spurs" | UNKNOWN_PROP |
    8. | "Tony Parker" | 36 |
    9. | "Manu Ginobili" | 41 |
    10. nebula> GO 1 TO 3 STEPS FROM "player100" \
    11. OVER * \
    12. YIELD properties($$).name AS NAME, properties($$).age AS Age \
    13. SAMPLE [2,2,2];
    14. | NAME | Age |
    15. +---------------------+-----+
    16. | "Manu Ginobili" | 41 |
    17. | "Tony Parker" | 36 |
    18. | "Tim Duncan" | 42 |
    19. | "LaMarcus Aldridge" | 33 |
    20. | "Tony Parker" | 36 |
    21. | "Tim Duncan" | 42 |

    最后更新: October 25, 2021