你能再列一下你的需求和预期返回格式么?我把你的建议记录下进行内部反馈
现在期望的结果是随便的出一对 (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
这个可以,group by 后原来YIELD加上max方法就可以选其它元素了,测试过了可以
现在还有个 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
对的,一个是:“我朋友的朋友不是我朋友” ,还有一种需求是"我朋友的朋友不是我关注的人",过滤掉另外一种关系的人。 最后还能获得dst的src。
希望新的2.0版本能支持一下 ,谢谢!
这是个标准的opencypher语法吧,应该要支持的。
要支持的,在排期中的
好的,希望能尽快支持,现在用别的办法根据dst多个点反查关注和我朋友的并集能找到src,但反查关注时遇到粉丝数高的就很慢了,20w粉丝的查一下得1.5秒,基本没法用哦。
这数据量也不小了。
你是基于什么基线判断这个时延的?
更新下进度,研发正在开发这块的功能,不过最近要发布的 2.0 GA 不会带有这个功能哈。
好的,这个功能估计什么时候能上呢?
研发同学没和我说具体的时间,有消息了我再来更新下哈
查询出来这样的数据, 怎么在前端展示呢
请问 查询出来这样的数据, 怎么在前端展示呢
–
要不,你看下我们前端工程师写的这两篇可视化文章呢?btw,mayer 是个社区用户大概是不清楚如何可视化地展示数据的。
请问新的2.0版本支持这个功能了么,:)
暂时还没呢
又半年过去了,麻烦问下新的2.5版本支持这个功能了么?