在Gremlin查询语言中获取边属性以及源和目标顶点ID

时间:2018-09-14 15:00:41

标签: gremlin tinkerpop tinkerpop3

我正在尝试检索边缘属性作为值以及目标和源节点ID。

我当前的数据库如下:

边缘:

_id _label _outV _inV name ID
0   edge   0     1    E    0

节点:

_id _label _name ID
0   node   A     0
1   node   B     1

我已经尝试过以下查询:

>g.V().as('a').outE('edge').as('b').inV().values('ID').as('to').
 select('b').valueMap().as('edge').
 select('a').values('ID').as('from').
 select('to','edge','from')
==>[to:0,edge:[ID:0,name:E],from:1]

我想要得到的是

[to:0,ID:0,name:E,from:1]

此外,Edge元素可以包含任意数量的属性。

有没有办法做到这一点?

谢谢!

编辑: 最终查询:

gremlin> g.V().outE('edge').limit(1).
......1>   project('weight','id','from','to').
......2>     by(coalesce(values('weight'),constant(''))).
......3>     by(id).
......4>     by(outV().id()).
......5>     by(inV().id())
==>[weight:,id:0,from:0,to:1]

0 个答案:

没有答案