MATCH语句使用,通过边属性过滤

  • nebula 版本:3.1.0
  • 部署方式:单机
  • 安装方式:RPM
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 有一个场景,用MATCH语句,需要比较2种边上面的属性进行比较,详细情况如下

这个语句可以查询出来结果,但是没有做条件过滤

MATCH p = (v:yw{ywlx: "查封登记"})-[e1:cf]->()<-[e2:dy]-(v3:yw{ywlx: "抵押登记"})   return p;

得到的结果返回

<("YW3" :yw{jssj: 2022-11-11, qssj: 2016-02-10, ywh: "YW3", ywlx: "查封登记"})-[:cf@0 {jssj: 2022-07-23, qssj: 2020-02-03, type: "查封登记"}]->("BDC1" :bdc{bdcid: "BDC1"})<-[:dy@0 {djsj: 2021-02-03, dyr: "小明"}]-("YW1" :yw{jssj: 2022-07-20, qssj: 2015-02-03, ywh: "YW1", ywlx: "抵押登记"})>
<("YW5" :yw{jssj: 2022-11-01, qssj: 2018-02-21, ywh: "YW5", ywlx: "查封登记"})-[:cf@0 {jssj: 2019-03-20, qssj: 2011-02-03, type: "查封登记"}]->("BDC5" :bdc{bdcid: "BDC5"})<-[:dy@0 {djsj: 2016-02-03, dyr: "王五"}]-("YW6" :yw{jssj: 2022-11-18, qssj: 2016-02-23, ywh: "YW6", ywlx: "抵押登记"})>
<("YW4" :yw{jssj: 2022-12-12, qssj: 2022-02-18, ywh: "YW4", ywlx: "查封登记"})-[:cf@0 {jssj: 2019-10-20, qssj: 2015-02-03, type: "查封登记"}]->("BDC2" :bdc{bdcid: "BDC2"})<-[:dy@0 {djsj: 2012-01-03, dyr: "小青"}]-("YW2" :yw{jssj: 2022-06-18, qssj: 2018-02-07, ywh: "YW2", ywlx: "抵押登记"})>

然后我想根据边的属性进行比较,用的语句如下:

MATCH p = (v:yw{ywlx: "查封登记"})-[e1:cf]->()<-[e2:dy]-(v3:yw{ywlx: "抵押登记"}) where e1.cf.qssj < e2.dy.djsj  return p;

这个语句不报错,但是也没有结果返回,是不是不支持where条件

感觉跟我遇到的问题有点像,判断属性的时候只是对单独一个()-[]->()做比较,路径里面任何其它片段对它这个片段来说都是null。

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