【发布时间】:2012-11-17 19:09:52
【问题描述】:
这是我正在执行的代码:
g.v(452).outE('friend', 'like').outV()
返回 52 个节点...我想按边缘类型将它们分类,例如:
[ {朋友:[v2,v3,v4...]}, {'like': [v5,v7,v9...]} ]
【问题讨论】:
这是我正在执行的代码:
g.v(452).outE('friend', 'like').outV()
返回 52 个节点...我想按边缘类型将它们分类,例如:
[ {朋友:[v2,v3,v4...]}, {'like': [v5,v7,v9...]} ]
【问题讨论】:
以 Gremlin 终端的玩具图为例:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
我添加了一个名为“朋友”的额外边,以使数据更有趣(两个顶点之间会有多条边):
gremlin> g.addEdge(g.v(1), g.v(2), 'friends')
==>e[0][1-friends->2]
gremlin> g.v(1).outE('knows','created','friends')
==>e[7][1-knows->2]
==>e[8][1-knows->4]
==>e[9][1-created->3]
==>e[0][1-friends->2]
从那里您可以执行以下操作:
gremlin> g.v(1).outE('knows','created','friends').groupBy{it.label}{it.inV.next()}.cap
==>{knows=[v[2], v[4]], friends=[v[2]], created=[v[3]]}
【讨论】: