当 Gremlin 中的 project() 步骤缺少属性时的默认值?

Vas*_*sar 2 gremlin

我有以下图表:

g.addV('TEST').property(id, 't1')
g.addV('TEST').property(id, 't2').property('a', 1)
Run Code Online (Sandbox Code Playgroud)

如果我这样做: g.V('t2').project('a').by(values('a'))遍历工作并返回带有键的映射,a因为属性在那里。

但是,如果我的遍历中有项目步骤,如下所示: g.V('t1').project('a').by(values('a'))

因为a缺少它会返回错误,在这种情况下,有没有办法从by()step返回 null 或空值以避免此错误?

ste*_*tte 7

您可以使用coalesce()

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