Match 每一跳的点属性过滤

  • nebula 版本:3.2.0

  • 部署方式:单机

  • 安装方式: RPM

  • 是否为线上版本:N

  • 硬件信息

    • 磁盘: SSD
    • CPU、内存信息:8CPU,16G
  • 问题的具体描述

  • 在Match变长路径(多跳)查询中,如何对每一跳的点属性进行过滤查询?谢谢!

MATCH p=(v:player)-[e:follow|serve*1..2]-(v2)
where id(v) == 'player100' and v2.player.name=='Tony Parker'
## 所有边属性过滤
and ALL(e_ in e where (e_.degree >= 95 and type(e_) == 'follow'))
## 每一跳的点属性过滤??请指教,谢谢!
return v,e,v2;

我在上个帖子回复你了,你的需求描述不是很清晰,所以我只能猜测你的意思。对每一跳的点进行过滤是指路径中的所有点吗,还是每一跳的终点或起点,还是不包括 v 和 v2 的其他点?
cypher 语法中 pattern 可以定义变量,你可以通过引用变量进行过滤或者其他操作,你也可以通过不同功能的子句或表达式操作变量来进行过滤或其他操作。对于变长 pattern 来说,显式地定义了起点、终点还有变长边的变量,但是并没有能力定义变长拓展途径点(intermediate nodes)的变量。

2 个赞

好的,谢谢!

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