Star

已知A 和 C,D是二度关系的情况下,能查出B和E,但是怎么知道 B->C,E->D的关系啊?

A -> B -> C 已知A, C能找查出B
A -> E -> D 已知A, D能找查出E

已知A 和 C,D是二度关系的情况下,查出B和E也好查,但是怎么知道 B->C,E->D的关系啊?

已知 33630944 的2度关注有10000005,10011385两个点,通过下面的语句能查出num==2的为他们中间的点,但是怎么知道中间的点与10000005,10011385这两个点的关系呢?

执行如下:

(user@nebula) [friend]> (go from 33630944 over follow YIELD follow._dst as uid union all go from 10000005,10011385 over follow REVERSELY YIELD distinct follow._dst as uid ) | group by $-.uid YIELD $-.uid as uid, count(*) as num | order by num desc |  limit 5
==================
| uid      | num |
==================
| 47633975 | 2   |
------------------
| 76764760 | 2   |
------------------
| 41149340 | 1   |
------------------
| 49846528 | 1   |
------------------
| 96605986 | 1   |
------------------
Got 5 rows (Time spent: 6.217/50.244 ms)

如果是单个点查询出来默认就知道关系了,主要是要批量查询 C,D的这些点,比如一页有30个,要请求30次效率就太低了

直接 go from 2 steps from 33630944 over follow yield follow._src as uid_src, follow._dst as uid 不行么,直接能查出100000005,10011385作为uid,以及他们的uid_src.

需求上取关注的关注要排除掉我关注的人,所以用MINUS做了过滤,用MINUS过滤之后 follow._src 就获取不到了。所以想换一种解决办法,先查出关注的关注并排除掉我关注的人的结果集之后,再来查这些dst和我的关系。所以有了现在这个查A 和 多个点关系的问题。

浙ICP备20010487号