如何获取v_id

您好,想请问下,因为我们的业务问题,会有一些点是直接通过边生成,所以想问下如何去获取这种类型点的v_id,即下图中红框的字段
image
谢谢~

创建顶点时,PRIMARY_ID是不作为属性的,只是用来建索引,所以如果您要在query中使用该字段,有两种方案,一种是创建相同名字的属性,另外一种是将PRIMARY_ID_AS_ATTRIBUTE设为“true”。
我个人常用第二种方案,以下是建schema的一个案例。

# 1. Create graph
CREATE GRAPH PerfTest ()

# 2. Create schema_change job
CREATE SCHEMA_CHANGE JOB change_schema_of_PerfTest FOR GRAPH PerfTest {
  # 2.1 Create vertices
  ADD VERTEX MyNode (PRIMARY_ID id INT)  WITH PRIMARY_ID_AS_ATTRIBUTE="true";

  # 2.2 Create edges
  ADD DIRECTED EDGE MyEdge (FROM MyNode, TO MyNode);
}

# 3. Run schema_change job
RUN JOB change_schema_of_PerfTest

# 4. Drop schema_change job
DROP JOB change_schema_of_PerfTest

不管采用哪种方案,加载数据时一定要向顶点上导入数据,因为顶点上多出一个属性,假如只向边上导入数据,对于新增的顶点,只会给顶点上加PRIMARY ID而不会加属性,最终仍无法获取PRIMARY ID的值。

BTW,说明一下,以上代码建的顶点和边是属于图PerfTest上的,而非global的,所以不是用CREATE VERTEX/EDGE命令,而是用PRIMARY_ID_AS_ATTRIBUTE来添加顶点和边。