怎么样获取这些二度关注来自谁的关注呢? follow._src 好像不能与distinct 和 MINUS同时使用

你能再列一下你的需求和预期返回格式么?我把你的建议记录下进行内部反馈:handshake:

现在期望的结果是随便的出一对 (dst, src)

可能会有列出几个src的需求,不过不会有取全部src的需求,因为可能src有几十w条。

好的,我晚点整理一下发出来,谢谢!

如果是随便找出一条记录那可以用 group by 就能解决:

go 2 STEPS from 1001 OVER follow where follow._dst!=1001 YIELD follow._dst AS dst, follow._src AS src \
| GROUP BY $-.dst YIELD $-.dst AS dst, MAX($-.src) AS src
1 个赞

这个可以,group by 后原来YIELD加上max方法就可以选其它元素了,测试过了可以 :+1: :+1: :+1:

现在还有个 MINUS过滤的问题,因为除了取二度关注要排重之外,还要过滤我一度关注的人,使用MINUS过滤之后怎么取 src 呢 (本来准备不用minus,先在外面把一度取出来后,改用条件!udf_is_in()来过滤,发现性能会差10倍,所以还是想看下minus )

下面是使用 minus过滤掉一度关注的dst结果,如何获取这些dst的 src呢?

(user@nebula) [friend]> (go 2 STEPS from 33630944 OVER follow where follow._dst!=33630944 yield follow._dst as dst  minus go from 33630944 OVER follow ) | limit 5
==============
| dst        |
==============
| 85526278   |
--------------
| 23098204   |
--------------
| 1839767264 |
--------------
| 60309343   |
--------------
| 15851767   |
--------------
Got 5 rows (Time spent: 80.447/127.197 ms)

你好,你的问题可以简单的描述为,“我朋友的朋友不是我朋友” 的查询,如果是带有其他属性的话在 nebula 1.0 里不是很好描述,需要像你说的用到 in 或者 client 端做下处理。

后面类似查询,我们考虑在 nebula 2.0 实现对应的 MATCH 支持:

MATCH (a)--(b)--(c)
WHERE NOT (a)--(c)
RETURN a, b, c
3 个赞

对的,一个是:“我朋友的朋友不是我朋友” ,还有一种需求是"我朋友的朋友不是我关注的人",过滤掉另外一种关系的人。 最后还能获得dst的src。

希望新的2.0版本能支持一下 ,谢谢!

这是个标准的opencypher语法吧,应该要支持的。

要支持的,在排期中的

好的,希望能尽快支持,现在用别的办法根据dst多个点反查关注和我朋友的并集能找到src,但反查关注时遇到粉丝数高的就很慢了,20w粉丝的查一下得1.5秒,基本没法用哦。

这数据量也不小了。
你是基于什么基线判断这个时延的?

更新下进度,研发正在开发这块的功能,不过最近要发布的 2.0 GA 不会带有这个功能哈。

好的,这个功能估计什么时候能上呢?

研发同学没和我说具体的时间,有消息了我再来更新下哈

查询出来这样的数据, 怎么在前端展示呢

请问 查询出来这样的数据, 怎么在前端展示呢


要不,你看下我们前端工程师写的这两篇可视化文章呢?btw,mayer 是个社区用户大概是不清楚如何可视化地展示数据的。

请问新的2.0版本支持这个功能了么,:)

暂时还没呢

又半年过去了,麻烦问下新的2.5版本支持这个功能了么?