自定义变量

Nebula Graph允许将一条语句的结果作为自定义变量传递给另一条语句。

OpenCypher兼容性

当引用一个变量的点、边或路径,需要先给它命名。例如:

  1. nebula> MATCH (v:player{name:"Tim Duncan"}) RETURN v;
  2. +----------------------------------------------------+
  3. | v |
  4. +----------------------------------------------------+
  5. | ("player100" :player{name: "Tim Duncan", age: 42}) |
  6. +----------------------------------------------------+

示例中的v就是自定义变量。

原生nGQL

nGQL扩展的自定义变量可以表示为$var_namevar_name由字母、数字或下划线(_)构成,不允许使用其他字符。

自定义变量仅在当前执行(本复合查询中)有效,执行结束后变量也会释放,不能在其他客户端、执行、session中使用之前的自定义变量。

用户可以在复合查询中使用自定义变量。复合查询的详细信息请参见复合查询

Note

自定义变量区分大小写。

示例

  1. nebula> $var = GO FROM "player100" OVER follow YIELD dst(edge) AS id; \
  2. GO FROM $var.id OVER serve YIELD properties($$).name AS Team, \
  3. properties($^).name AS Player;
  4. +-----------+-----------------+
  5. | Team | Player |
  6. +-----------+-----------------+
  7. | "Spurs" | "Tony Parker" |
  8. | "Hornets" | "Tony Parker" |
  9. | "Spurs" | "Manu Ginobili" |
  10. +-----------+-----------------+

最后更新: October 27, 2021