自定义变量
Nebula Graph允许将一条语句的结果作为自定义变量传递给另一条语句。
OpenCypher兼容性
当引用一个变量的点、边或路径,需要先给它命名。例如:
nebula> MATCH (v:player{name:"Tim Duncan"}) RETURN v;
+----------------------------------------------------+
| v |
+----------------------------------------------------+
| ("player100" :player{name: "Tim Duncan", age: 42}) |
+----------------------------------------------------+
示例中的v
就是自定义变量。
原生nGQL
nGQL扩展的自定义变量可以表示为$var_name
,var_name
由字母、数字或下划线(_)构成,不允许使用其他字符。
自定义变量仅在当前执行(本复合查询中)有效,执行结束后变量也会释放,不能在其他客户端、执行、session中使用之前的自定义变量。
用户可以在复合查询中使用自定义变量。复合查询的详细信息请参见复合查询。
示例
nebula> $var = GO FROM "player100" OVER follow YIELD follow._dst AS id; \
GO FROM $var.id OVER serve YIELD $$.team.name AS Team, \
$^.player.name AS Player;
+---------+-------------+
| Team | Player |
+---------+-------------+
| Nuggets | Tony Parker |
+---------+-------------+