Значение по умолчанию, когда свойство отсутствует на шаге project () в Gremlin? - PullRequest
0 голосов
/ 19 июня 2019

У меня есть следующий график:

g.addV('TEST').property(id, 't1')
g.addV('TEST').property(id, 't2').property('a', 1)

Если я сделаю: g.V('t2').project('a').by(values('a')) обход работает и возвращает карту с ключом a, потому что свойство есть.

Но если у меня естьшаг проекта в моем обходе, подобный следующему: g.V('t1').project('a').by(values('a'))

Поскольку отсутствует a, возвращается ошибка, есть ли способ вернуть нулевое или пустое значение в таком случае из шага by(), чтобы избежать этой ошибки?

1 Ответ

1 голос
/ 19 июня 2019

Вы можете использовать coalesce():

gremlin> g.V().project('a').by(coalesce(values('a'),constant('default')))
==>[a:default]
==>[a:1]
...