获取与TinkerVertex属性中的键对应的值

gsm*_*fra 2 java groovy graph gremlin tinkerpop

在Gremlin-Groovy中,给定一个TinkerVertex对象,检索与其属性中的键对应的值的最清晰/最快的方法是什么,如果不存在则返回默认值(例如null)?

这就是我目前的做法:

def eval(vertex, field) {
    prop = vertex.property(field)
    prop.isPresent() ? prop.value() : null
}
Run Code Online (Sandbox Code Playgroud)

当顶点没有所需的字段时会vertex.property(field).value()产生异常,所以我不得不添加该条件.

即使它有点短,这个操作一直都在进行,这让我感到困惑,因为我还没有找到更多的"gremlinish"解决方案.

Dan*_*itz 6

您所做的更短版本是:

vertex.property(field).orElse(null)
Run Code Online (Sandbox Code Playgroud)

orElse(default) 将返回值(如果存在),否则返回提供的默认值.