为什么SELECT执行类似hasId()的步骤会更改所选内容

  • 本文关键字:SELECT 执行 hasId gremlin
  • 更新时间 :
  • 英文 :


我的代码中没有正确使用select((吗?当我出于某种原因重新选择("配对"(时,它最初包含的内容在执行某个步骤后已经更新。使用as((标记的内容难道不应该保留包含的内容吗?

g.V()
.hasLabel("Project")
.hasId("parentId","childId").as("pair")
.select("pair")
.hasId("parentId").as("parent")
.select("pair") // no longer what it was originally set to

我认为这是意料之中的事。您(大概(找到了两个具有hasId("parentId","childId")的顶点,因此第一个select("pair")当然会显示每个顶点。但是,然后再次过滤hasId("parentId")并终止包含id为"childId"的顶点的遍历器。它被过滤掉,因此永远不会触发第二个/最后一个select("pair")步骤,因此只会返回id为"parentId"的一个顶点。

最新更新