匹配边定长疑惑

nebula3.0.0

MATCH ()-[e0:日期]->() where e0.名称 == ‘边-020’ RETURN e0 LIMIT 20

MATCH ()-[e0:日期*1]->() where e0.名称 == ‘边-020’ RETURN e0 LIMIT 20
为啥第一个能查出数据,第二个查不到数据呢

()-[e0:日期]->() 和 ()-[e0:日期*1]->()不等价吗
求大佬解惑

*1 表示这是一个定长多步的 pattern, 此时长度为1

match (v)-[e:type*1]-(v2) 为例
对定长 pattern 来说返回边时会将中间经过的边都放在一个 list 返回, 所以不能直接用 e.prop == 10 来过滤属性, 这时的 e 是一个 list 而不是一个 edge

可以观察下:
match (v)-[e:type*1]-(v2) return v2match (v)-[e:type]-(v2) return v2 的结果是一样的, v2都是点.
match (v)-[e:type*1]-(v2) return ematch (v)-[e:type]-(v2) return e 的结果不同, 前者会返回一个 list of edges, 后者则是 edge

厉害

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