按传出边缘类型对邻居进行分组,并将自身添加到结果列表中



我想要这样的结果:

[
{
"vertex": [ the_vertex_itself ]
},
{
"outgoingEdgeGroup1": [ list_of_outgoing_neighbors_with_edge_type_outgoingEdgeGroup1 ]
},
{
"outgoingEdgeGroup2": [ list_of_outgoing_neighbors_with_edge_type_outgoingEdgeGroup2 ]
}
]

我可以得到这个:

[
{
"outgoingEdgeGroup1": [ list_of_outgoing_neighbors_with_edge_type_outgoingEdgeGroup1 ]
},
{
"outgoingEdgeGroup2": [ list_of_outgoing_neighbors_with_edge_type_outgoingEdgeGroup2 ]
}
]

带有以下查询:

g.V('{unitId}').outE().group().by(label()).by(inV().fold())

但是我该如何附加到目标顶点本身呢?

一种方法就是使用union。如果您需要一个更完整的键/值类型的结构,也可以通过添加project步骤或嵌套group步骤来创建。

使用航线数据集:

gremlin> g.V(44).union(identity().values('city'),inE().group().by(label()).by(outV().fold())).fold()
==>[Santa Fe,[contains:[v[3742],v[3728]],route:[v[13],v[31],v[20],v[8]]]] 

相关内容

  • 没有找到相关文章

最新更新