Эта функция не была реализована в Apache TinkerPop 3.4.2. Это давно открытый выпуск: TINKERPOP-1084 . Я думаю, что если вы хотите эту функциональность, вам придется сделать вложенный choose()
:
gremlin> g = TinkerFactory.createModern().traversal()
==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
gremlin> g.V().hasLabel('person').
......1> choose(values('age').is(lt(29)),
......2> constant('lt29'),
......3> choose(values('age').is(gt(29)),
......4> constant('gt29'),
......5> constant('29')))
==>29
==>lt29
==>gt29
==>gt29
Обратите внимание, что вы не ограничены constant()
в результате этих вложенных choose()
операций. Вы можете добавить любой понравившийся вам анонимный обход, как в:
gremlin> g.V().hasLabel('person').
......1> choose(values('age').is(lt(29)),
......2> constant('lt29'),
......3> choose(values('age').is(gt(29)),
......4> math('_ - 29').by('age'),
......5> constant('29')))
==>29
==>lt29
==>3.0
==>6.0