查询结果怎么同时得到 节点和 边

查询结果怎么同时得到 节点和 边

边的获取与打印可以参考以下代码,用一个SetAccum来收集边,最后打印出来。

CREATE QUERY test_query(VERTEX<Step> source, 
                        int max_step_num) FOR GRAPH demo_graph{
  SetAccum<Edge> @@EdgeSet; #边的集合
  OrAccum @visited;

  ##### Initialization  #####
  Steps = {source};

  ##### Find steps  #####
  WHILE(Steps.size() > 0) LIMIT max_step_num DO
    Steps = SELECT t
            FROM   Steps:s -(Step_NextStep:e)-> Step:t
	        WHERE  t.@visited == False
	        ACCUM  @@EdgeSet += e, #遍历的过程中向@@EdgeSet中添加边
      	           t.@visited += Truex
    ;
  END;

  ##### Print result  #####
  PRINT @@EdgeSet; #打印边的集合
}