Dgraph 图相交

Posted

技术标签:

【中文标题】Dgraph 图相交【英文标题】:Dgraph graph intersect 【发布时间】:2018-05-06 18:06:02 【问题描述】:

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


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

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

【问题讨论】:

【参考方案1】:

这对你有用吗?


  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-Shortest Path Queries

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

【讨论】:

以上是关于Dgraph 图相交的主要内容,如果未能解决你的问题,请参考以下文章

Plotly:将时间序列/烛台图与气泡/散点图相结合

dgraph 使用简介

dgraph实现基本操作

dgraph cluster docker-compose 安装

dgraph 基本查询语法 一

dgraph 基本查询语法 三