在 Gremlin 中,如何在一个 属性 上查询具有相同值的两个或多个顶点?

In Gremlin, how to query two or more vertices with same value on one property?

我想找到两个或多个具有相同 属性 的顶点。例如,找到两个具有相同名称的不同 Person vretices。 我尝试了以下方法:

graph.traversal().V().hasLabel("Person").as("a").where("a", P.eq("a")).by("name").where("a", P.neq("a")).by("vid").toList()

但结果为空(我很确定图中有合格的顶点。) 任何帮助将不胜感激。谢谢

你必须扫描顶点两次。对于您当前的遍历,您仅将每个顶点与其自身进行比较。

g.V().hasLabel("Person").as("a").
  V().hasLabel("Person").as("b").
  where("a", P.eq("b")).by("name").
  where("a", P.neq("b"))