1. 程式人生 > >dgraph解決社交關系中的正反向查找

dgraph解決社交關系中的正反向查找

wan 分享圖片 技術分享 社交 tour class pre www htm

dgraph解決社交關系中的正反向查找

本篇介紹的是, 社交關系中的關註者與被關註者在dgraph中如何實現查找.

dgraph的基本操作不太清楚的可以看看我之前寫的博客

dgraph實現基本操作

用go實現dgraph的基本操作

查看當前的數據庫中的關系

技術分享圖片

從圖中可以清楚的看到之間的社交關系, 即

wangha 關註 Taoye

ChaoChen 關註 TaoYe

TaoYe 關註 wanghe

查找所有關註TaoYe的用戶

代碼實現:

{
  friendis(func:eq(nameOFen,"TaoYe")){
    ~friend{
        uid
        nameOFen
    }
  }
}

可以看到結果如下:

技術分享圖片

查找所有TaoYe關註的用戶

{
  friendis(func:eq(nameOFen,"TaoYe")){
    friend{
        uid
        nameOFen
    }
  }
}

得到結果

技術分享圖片

註意

有一個使用前提:

你的schema中的predicate必須設置了reverse屬性

技術分享圖片

寫在最後

文檔還是應該好好看!!!

https://tour.dgraph.io

同時非常感謝好友 xhe ,幫我填了個坑

dgraph解決社交關系中的正反向查找