用户关系查询,以及一些建议

  • nebula 版本:v2-ga
  • 部署方式 单机
  • 是否为线上版本: N

schema

假设有以下schema:

// user顶点
create tag user(
	name string NOT NULL
);

// follows边,
create edge follows(); 

关键词:followings (关注列表) ,followers(粉丝列表),following(是否已关注)

问题1: 查询用户列表,包含用户关注状态

需求:在社交软件中,通常查看用户列表时都会有一个 [关注] 或 [已关注] 的按钮,表示我(登录用户) 是否已关注该用户 , 并可根据不同状态进行关注或取消关注的操作。

这就需要在返回的列表数据中包含一个 布尔值类型的 following 字段来表示用户关注状态,true则表示已关注,false则未关注

这个得从数据库查询时就要处理好。就是查询语句中传入登录用户的id,根据这个id去检索列表中每个用户的关注状态,并添加一个 following 字段。

查询结果类似于:

[
	{name:"jack", following: true},
	{name:"ben", following: false},
	{name:"jene", following: false},
]

这个要怎么写 ?

2,查询好友列表怎么写 ?

.

3,A和B的共同关注怎么写 ?

.

以上查询nGQL不行的话,可以用match,拜托了。

另外,提个建议。

官网只有简单粗糙的文档,没有实践的使用案例。

我建议你们可以弄一些经典案例出来,每个领域弄一个。

比如社交领域的,以微博为例,查询粉丝列表、关注列表、好友列表、A和B的共同关注、用户推荐等等,列出这些常见业务的语句案例。

还有金融、风控等其他领域也要做一些经典案例出来。

大家想知道的是这些常见业务的语句写法,如果有了这些经典案例的话,大家也不需要死磕文档不停地测试或到处问了,你们也不用老是要去回答重复或繁杂的问题了。

这样可以减少大家的时间和精力,降低门槛,这样会越来越多人关注nebula。

7 个赞