Получить свойства ребер, а также идентификатор исходной и целевой вершин в языке запросов Gremlin - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь получить свойства ребер как значения, а также идентификаторы целевого и исходного узлов.

Моя текущая база данных выглядит так:

Край:

_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 могут содержать произвольное количество свойств.

Есть ли способ достичь этого?

Спасибо!

EDIT: Окончательный запрос:

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]

1 Ответ

0 голосов
/ 14 сентября 2018

Использование project():

gremlin> g.V().has('name','marko').
......1>   outE().limit(1).
......2>   project('weight','id','from','to').
......3>     by('weight').
......4>     by(id).
......5>     by(outV().id()).
......6>     by(inV().id())
==>[weight:0.4,id:9,from:1,to:3]
...