Gremlin:inject() 和 has() 没有按预期一起工作

Gremlin: inject() and has() not working together as expected

我需要根据传递给 inject() 的列表创建不重复的顶点,该列表非常大,所以我需要使用 inject()。我试过了,但没用:

g.inject(["Macka", "Pedro", "Albert"]).unfold().map(
    coalesce(
        V().has("name", identity()),
        addV("user").property("name", identity())
    )
)

你可以在这里试试: https://gremlify.com/765qiupxinw

为什么这不起作用? 似乎 V().has() 正在返回所有顶点,为什么?

我认为在这种情况下你应该使用 where 步骤而不是 has:

g.inject(["Macka", "Pedro", "Albert"]).unfold().as('n').map(
    coalesce(
        V().where(eq('n')).by('name').by(),
        addV("user").property("name", identity())
    )
)

示例:https://gremlify.com/06q0zxgd2uam