如何在 gremlin 中使用小于 CHOOSE 步骤的内部选项
How to use less than inside option of CHOOSE step in gremlin
.choose(values('points')
.option(lt(500), updating the vertex properties)
.option(gt(500), updating and creating new properties)
.option(none,creating new vertex ))
points 是整数
类型的顶点 属性
我想在选项中执行小于和大于操作。我在上面尝试 way.Please 如果我错了请纠正我。
如果有任何其他方法可以执行此操作,请告诉我。
谢谢
此功能尚未在 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
请注意,由于这些嵌套的 choose()
操作,您并不局限于 constant()
。您可以添加任何您喜欢的匿名遍历,如:
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
.choose(values('points')
.option(lt(500), updating the vertex properties)
.option(gt(500), updating and creating new properties)
.option(none,creating new vertex ))
points 是整数
类型的顶点 属性我想在选项中执行小于和大于操作。我在上面尝试 way.Please 如果我错了请纠正我。
如果有任何其他方法可以执行此操作,请告诉我。
谢谢
此功能尚未在 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
请注意,由于这些嵌套的 choose()
操作,您并不局限于 constant()
。您可以添加任何您喜欢的匿名遍历,如:
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