在搜索时,往往图谱中与某个节点关联的周围节点数量繁多,我们需要通过一定的条件过滤留下满足需求的结果,dgraph 默认是根据uid排序
{
find_follower(func: uid(MICHAELS_UID)){
name
age
follows (first: 3){ # 获取前3条
name
age
}
}
}
如果需要根据别的字段排序, 可以更改为follows (orderdesc: name) (first: 3) orderdesc为倒排, 正排为orderasc,这样便实现了按照name倒排取前三个的效果。
另一种情况,很多时候我们的边是带有权重的,需要根据边权重的大小排序,可以更改为 follows @facets(orderdesc: weight) (first: 3), @facets为获取边属性的关键字, weight为定义的边的某个属性,具体字段名根据实际情况决定。