Как найти следующих, кто также следует за мной с Gremlin - PullRequest
2 голосов
/ 01 апреля 2012

Какой самый прямой способ найти все узлы, которые имеют двунаправленное ребро с конкретным узлом, используя Gremlin? Например, я хочу найти всех пользователей, за которыми я следую, которые также следуют за мной. Если я следую за ними, а они следуют за мной, тогда мы должны быть друзьями. В противном случае отношения являются односторонними.

Ответ может быть слишком очевидным для меня, чтобы увидеть. Я придумал это, но это кажется более сложным, чем необходимо:

me=g.v(_id); me.out('follows').as("following").out('follows').filter{it == me}.back("following")

1 Ответ

4 голосов
/ 03 апреля 2012

Решение:

me.out('follows').out('follows').retain([me]).back(2)

Это говорит:

  1. Начни со мной.
  2. Выясни, за кем я следую.
  3. Выясните, за кем они следуют.
  4. Убей пути, которые не ведут ко мне.
  5. Возвращайся к тем людям, которые следуют за мной. (за которыми я следую).
...