Neo4j新Cypher关系模式:可变长度路径查询待弃用告警修复
你遇到的弃用警告来自Neo4j新版对可变长度路径关系绑定语法的调整,旧写法中直接在可变长度关系模式中声明变量的方式已列入待弃用列表,以下是符合新规范的正确写法:
场景1:仅需要返回路径,不需要单独使用关系集合变量
直接移除MATCH语句中关系模式的变量绑定即可,不会触发弃用提示:
MATCH path = (p:Person)-[:father|mother*0..5]->(a:Person) RETURN path LIMIT 25
场景2:后续逻辑需要使用该路径下的所有关系集合
不要在MATCH的关系模式中绑定变量,而是通过relationships()函数显式提取路径中的关系赋值给变量即可:
MATCH path = (p:Person)-[:father|mother*0..5]->(a:Person) WITH path, relationships(path) AS r // 此处可正常使用变量r做关系属性过滤、统计等后续操作 RETURN path LIMIT 25
原写法触发警告的原因
你修改后的查询依然触发提示,是因为MATCH语句中仍然保留了[r:father|mother*0..5]的变量绑定写法,这个语法本身就是待弃用的,和后续是否再次提取关系变量没有关联,移除MATCH阶段关系模式里的变量r即可解决警告问题。
内容的提问来源于stack exchange,提问作者David A Stumpf
相关产品推荐
相关产品推荐

