怎么解决nebula where中不支持过滤模式

  • nebula 版本:3.0.0
  • 部署方式:单机
  • 安装方式:源码编译
  • 是否为线上版本: N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息 24核, 190G
  • nebula 3.1.0版本之前不支持where中过滤图模式,有什么方式可以实现一样的功能
    例如:
    MATCH p=(s:a{id: ‘1’})<-[inv:b*1…8]-(c)
    where not (:d)-[:b]->(c)
    return p

想到一种方式:
MATCH p=(s:a{id: ‘1’})<-[inv:b*1…8]-(c)
optional match (:d)-[r:b]->(c)
where r is null
return p

使用optional match 好像不行, 因为如果 optional match 没有匹配到的话,在和前面的match 的结果进行 left join 时 会 补NULL, 和你想要表达的语义不相符

嗯嗯,试了optional不可以

这问题是用什么方式解决的呢

可以升级到3.1.0的版本