我的代码中没有正确使用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"的一个顶点。