График Dgraph пересекается

У меня есть запрос GraphQL+, в котором я хочу найти общих друзей двух человек. Но я действительно не мог найти какую-либо возможность использовать какое-то пересечение двух графиков... кто-то может мне помочь? Вот мой код:

{
  catarinas_friends(func: eq(name, "Catarina"))
  {
    friend 
    {
      name
    }
  }

  michaels_friends(func: eq(name, "Michael")) {
    friend
    {
      name
    }
  }
# I want to intersect those two
}

0 ответов

Это работает для вас?

{
  var(func: eq(name@., "Michael")) {
    MF as friend
  }

  var(func: eq(name@., "Amit")) {
    CF as  friend
  }

  in_common(func: uid(MF)) @filter(uid(CF)){
    name@.
  }

}

с этим набором данных https://tour.dgraph.io/master/intro/4/ У вас могут быть общие друзья.

Вы также можете использовать запросы K-кратчайшего пути

Средняя в ответе - самая близкая общая сущность.

Другие вопросы по тегам