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

问题描述 投票:0回答:1

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

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

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

gremlin tinkerpop3
1个回答
0
投票

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

g.V().hasLabel("Person").as("a").
  V().hasLabel("Person").as("b").
  where("a", P.eq("b")).by("name").
  where("a", P.neq("b"))
© www.soinside.com 2019 - 2024. All rights reserved.