属性引用

WHEREYIELD 可引用点或边的属性。

引用点的属性

引用起点的属性

  1. $^.tag_name.prop_name

其中符号 $^ 用于获取起点属性,tag_name 表示起点的 tagprop_name 为指定属性的名称。

引用终点的属性

  1. $$.tag_name.prop_name

其中符号 $$ 用于获取终点属性,tag_name 表示终点的 tagprop_name 为指定属性的名称。

示例

  1. nebula> GO FROM 100 OVER follow YIELD $^.player.name AS startName, $$.player.age AS endAge;

该语句用于获取起点的属性名称和终点的属性年龄。

引用边

引用边的属性

使用如下方式获取边属性:

  1. edge_type.edge_prop

此处,edge_type为边的类型,edge_prop为属性,例如:

  1. nebula> GO FROM 100 OVER follow YIELD follow.degree;

引用边的内置属性

一条边有四个内置属性:

  • _src: 边起点 ID
  • _dst: 边终点 ID
  • _type: 边类型
  • _rank: 边的 rank 值

获取起点和终点 ID 可通过 _src_dst 获取,这在显示图路径时经常会用到。

例如:

  1. nebula> GO FROM 100 OVER follow YIELD follow._src, follow._dst, follow._type, follow._rank;
  2. ===========================================================
  3. | follow._src | follow._dst | follow._type | follow._rank |
  4. ===========================================================
  5. | 100 | 101 | 26 | 0 |
  6. -----------------------------------------------------------
  7. | 100 | 102 | 26 | 0 |
  8. -----------------------------------------------------------
  9. | 100 | 106 | 26 | 0 |
  10. -----------------------------------------------------------

该语句通过引用 follow._src 作为起点 ID 和 follow._dst 作为终点 ID,返回起点 100 follow 的所有邻居点。其中 follow._src 返回起点 ID,follow._dst 返回终点 ID。