go查询理解歧义问题

提问参考模版:

  • nebula 版本:3.2.v
  • 部署方式:单机
  • 安装方式:Docker
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘 ssd
    • CPU、内存信息 m1, 32GB mem
  • 问题的具体描述

针对如下的go查询,所要表达的是从 player100 点开始拓展,通过
第一种理解
player100 --follow -->(v)-- serve → (v)

还是
第二种理解
player100 --follow–>(v) 或者 player100 --serve–>(v)

哪种理解方式是正确的呢?

GO FROM "player100" OVER follow, serve \
        YIELD properties(edge).degree, properties(edge).start_year;

是第二种

1 个赞

我一直理解的也是第二种。之所以有这个怀疑是因为看到了大佬在b站的一个视频
https://www.bilibili.com/video/BV1b3411v7r5/?spm_id_from=333.999.0.0&vd_source=aebdaa6542955fc72a7c93a277fe6b00
中的相关的一个查询


感觉这么查询是有问题的吧?
期待大佬回复

1.x的go可以不写yield子句, 它的默认yield子句是yield follow._dst, attitude._dst, watch._dst…

这个语法的区别我清楚。我的意思是为了达到ppt所说的查询目的,我感觉图中的查询有问题. 图中的查询只能查询到从user_8开始的,并且边是 follow或者attitude或者watch或者own或者similar关系的dst点;而其本来要查询的目的是用户user_8关注的人点赞的过的视频,看过的视频,发布的视频以及与发布视频相似的视频。还是我理解有问题 :hot_face:

区别在于你是隐含的 1 steps,截图的是 1 to 3 steps 哈。

go 只返回最后一跳,所以 1 to 3 steps 返回了 1 steps, 2steps, 3steps 的最后一跳

解释清晰明了。感谢wey老大

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。