В Gremlin, как запросить две или более вершин с одинаковым значением для одного свойства? - PullRequest
0 голосов
/ 14 октября 2019

Я хочу найти две или более вершин, которые имеют одно и то же свойство. Например, найдите два разных человека с одним и тем же именем. Я пробовал следующее:

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 Любая помощь будет принята с благодарностью,Спасибо.

1 Ответ

1 голос
/ 14 октября 2019

Вы должны сканировать вершины дважды. При текущем обходе вы сравниваете каждую вершину только с собой.

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