使用许多选择步骤是否会影响查询 gremlin 的性能或者选择步骤如何在 gremlin 中执行
does using many choose step effect the performance of the query gremlin Or How is a Choose step executed in gremlin
我有一个简单的收藏夹查询,它告诉一个人是否喜欢某个项目
g.V().has('personId','3f857b1').choose(identity().out('favourite').has('itemId','48a680b'),constant('Already_favourite'),choose(V().has('itemId','48a680b'),constant('NotFavourite'),constant('InvalidItem')))
像在其他编程语言中那样编写嵌套的选择步骤是一种不好的做法吗
我想知道我们是否可以在 gremlin 中实现存储过程
is it a bad practice to write nested choose steps
不,但我仍然会以不同的方式编写您的查询。如果项目不存在,不要浪费计算时间并迅速停止遍历。另一方面,如果它存在,则尝试通过它的 id 找到它;不要为每个相邻顶点获取 itemId
属性:
result = g.V().has('itemId', '48a680b').as('item').
V().has('personId','3f857b1').coalesce(
out('favourite').where(eq('item')).constant('Already_favourite'),
constant('NotFavourite')).tryNext().orElse('InvalidItem');
我有一个简单的收藏夹查询,它告诉一个人是否喜欢某个项目
g.V().has('personId','3f857b1').choose(identity().out('favourite').has('itemId','48a680b'),constant('Already_favourite'),choose(V().has('itemId','48a680b'),constant('NotFavourite'),constant('InvalidItem')))
像在其他编程语言中那样编写嵌套的选择步骤是一种不好的做法吗
我想知道我们是否可以在 gremlin 中实现存储过程
is it a bad practice to write nested choose steps
不,但我仍然会以不同的方式编写您的查询。如果项目不存在,不要浪费计算时间并迅速停止遍历。另一方面,如果它存在,则尝试通过它的 id 找到它;不要为每个相邻顶点获取 itemId
属性:
result = g.V().has('itemId', '48a680b').as('item').
V().has('personId','3f857b1').coalesce(
out('favourite').where(eq('item')).constant('Already_favourite'),
constant('NotFavourite')).tryNext().orElse('InvalidItem');