v1=graph.addVertex(label,"l1","submit_time",Fri Apr 26 21:01:36 PDT 2019) //v[2345432]
v2=graph.addVertex(label,"l2","start_time",Fri Apr 26 22:01:36 PDT 2019) // v[409632904]
v3=graph.addVertex(label,"l2","start_time",Fri Apr 26 22:01:36 PDT 2019) //v[204824704]
v4=graph.addVertex(label,"l2","start_time",Fri Apr 26 23:01:36 PDT 2019). //v[307241008]
Edge e1 = v1.addEdge("e1", v2);
Edge e2 = v1.addEdge("e1", v3);
Edge e3 = v1.addEdge("e1", v4);
g.V().hasLabel("l2").group().by(map{(it.get().value("start_time").getYear()+1900)+"/"+(it.get().value("start_time").getMonth()+1)+"/"+it.get().value("start_time").getDate()+" "+it.get().value("start_time").getHours()})
我们得到以下输出:输出1:2019/4/26 23:[v[30724108]],2019/4/26 22:[v[409632904],v[204824704]]
有谁能帮我得到每个聚合值(由l2聚合,所有l2顶点都有到l1的边),所以我需要在单个查询中也得到它对应的l1标签顶点。例如:输出2:2019/4/26 23:[v[307241008]],v[2345432]2019/4/26 22:[v[409632904],v[204824704]],v[2345432]谢谢。
1条答案
按热度按时间fcipmucu1#
让我先用一个合适的脚本来创建示例图,这样其他人就可以更容易地遵循:
并且您的查询格式正确:
现在,如果要添加所有
l1
顶点,不能再使用简单的Map
为了你的结果。每个条目都需要自己的Map,因此可以捕获第三个字段。因此,您需要展开Map并使用project()
步骤:这将产生: