根据边的属性匹配

我如果在nebula-python里面使用的话,可以先用show_edges展示所有的边,拿到结果后再遍历所有的边,每条边执行一下单条的语句,再把结果合并(这些都在python客户端去实现),这样应该可以实现我的需求,我先尝试一下吧。顺便有个体验的小问题,我看nebula-studio中没有停止查询这个按钮,如果我的查询要查的数据资源比较多,时间很长,我想中途停止这条查询只能把nebula的服务停掉,不然graph占用的内存越来越多,挺麻烦的,可以考虑设置个停止查询的按钮吧

1 个赞

哈哈,抱歉呀,我提一个 issue ,看看这方面有没有可能做的更好。

https://github.com/vesoft-inc/nebula/issues/3463

嗯嗯,如果是在应用层通过多条 query 做是更好的缓解方式。

studio 上停 query 有两个方面

  1. nebula 数据库可以承受结果,但是浏览器内存不足,这时候通常关掉 tab,刷新
  2. nebula 数据库资源被占用,想要杀死一个还在运行的 query

如果是 2 的话,现在有 ngql 去 query 运行的语句,并且可以用 kill杀掉哈。
如果是 1 的话现在确实还没有功能能解决,除非关闭、刷新,你指的是哪个情况?

我说的是2,如果是公司的服务器的话,是没有kill的权限的(尝试kill过),我只能停掉服务(docker-compose安装的) :hot_face:

studio 里做 kill 的 GUI 确实是一个可以有的需求,但是,请注意 studio 也只是一个 client ,不可能有超过登录的用户的权限哈,你现在用的用户是什么 role?咱们看看这个 role 不具备 kill 是不是合理。

我们是没有权限安装软件的,但是是有docker操作的权限的。因此kill、写这些操作我们都没权限,但是我可以通过docker-compose down去停掉nebula的服务。如果能在studio中有某种机制可以直接停掉查询的进程的话,我觉得对于体验而言是比较好的吧。(因为使用这个studio不一定是懂计算机的人,如果还让他登陆服务器去kill的话会不会有点太为难,如果服务器不对他开放,岂不是还要有运维人员去专门删这个查询进程?或者直接在安装的时候就要求kill的权限?)


我使用这样的查询语句也不行吗?这个报错是什么意思(我想先查edges找到所有的边,然后再通过srcVID和dstVID去找到对应的属性)

这两个操作在 console 里,你的role 没有权限对么?

show SHOW QUERIES - Nebula Graph Database 手册
kill 终止查询 - Nebula Graph Database 手册

这里的 GO 没有必要了吧,LOOKUP 已经有了起点和终点了

我还想找到起始点和终点的属性,我最终的目的就是想找到对应的name,因为我知道起始点和终点的vid并没用

这块不是这个话题的重点,只是个体验问题,我们跳过它吧 :joy: