是否可以判断 Gremlin Drop() 步骤是否做了任何事情?
Is it possible to tell whether a Gremlin Drop() step did anything?
我有一个以 drop() 结尾的遍历来删除一个顶点。我希望能够区分删除顶点的 drop() 和不匹配任何内容的遍历之间的区别。
我尝试向其中一个较早的节点添加一个别名,并在遍历结束时 select()ing 它,但即使遍历确实匹配,这也不会 return 任何东西图。
例如
g.V('id', '1').as('flag')
.out('has_child')
.drop()
.select('flag')
.toList()
诀窍是 drop()
是一个过滤步骤,因此它会从遍历流中删除对象。您可以通过 sideEffect()
:
来解决这种情况
gremlin> g.V().has('person','name','marko')
==>v[1]
gremlin> g.V().has('person','name','marko').sideEffect(drop())
==>v[1]
gremlin> g.V().has('person','name','marko')
gremlin>
顶点的 return 意味着它存在并被删除,但如果没有值被 returned 那么它一开始就不存在而被删除。
我有一个以 drop() 结尾的遍历来删除一个顶点。我希望能够区分删除顶点的 drop() 和不匹配任何内容的遍历之间的区别。
我尝试向其中一个较早的节点添加一个别名,并在遍历结束时 select()ing 它,但即使遍历确实匹配,这也不会 return 任何东西图。
例如
g.V('id', '1').as('flag')
.out('has_child')
.drop()
.select('flag')
.toList()
诀窍是 drop()
是一个过滤步骤,因此它会从遍历流中删除对象。您可以通过 sideEffect()
:
gremlin> g.V().has('person','name','marko')
==>v[1]
gremlin> g.V().has('person','name','marko').sideEffect(drop())
==>v[1]
gremlin> g.V().has('person','name','marko')
gremlin>
顶点的 return 意味着它存在并被删除,但如果没有值被 returned 那么它一开始就不存在而被删除。