2

我有一个 GraphQL+- 查询,我想在其中获得两个人的共同朋友。但我真的找不到任何选项来使用两个图的某种交集......有人可以帮助我吗?这是我的代码:

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

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

1 回答 1

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-最短路径查询

响应中的中间一个是最接近的公共实体。

于 2019-10-10T19:03:53.543 回答