dgraph解决社交关系中的正反向查找

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 ,帮我填了个坑

原文地址:https://www.cnblogs.com/wangha/p/10532089.html