You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neo4j查询报错:Invalid input '[' 问题修复咨询

解决Neo4j查询语法错误的方案

错误原因分析

  • 第三行的nodes(n1)-[*..2]-(n2)写法违规:nodes()函数必须传入路径变量,不能直接写匹配表达式,这是触发语法报错的核心原因。
  • 原查询里用了COLLECT(p),但MATCH语句未定义路径变量p,后续还会引发额外错误。

修正后的查询语句

MATCH p=(n1:`Anumber`)-[*..2]-(n2)
WHERE n1 <> n2
AND all(node in nodes(p) WHERE node:`Anumber` OR node:`Bnumber`)
WITH n1, n2, COLLECT(p) AS paths
WHERE size(paths) > 1
RETURN n1, n2, size(paths) AS degree, paths

关键修正说明

  • 在MATCH中定义路径变量p:p=(n1:Anumber)-[*..2]-(n2),让p代表这条1-2跳的路径,后续可通过nodes(p)获取路径上的所有节点。
  • 将nodes(n1)-[*..2]-(n2)替换为nodes(p),符合nodes()函数的语法要求,能正确获取路径节点并完成筛选。
  • 保留原逻辑:排除n1与n2为同一节点的情况,确保路径上所有节点都是Anumber或Bnumber类型,最后收集路径并筛选出路径数量大于1的结果。

内容的提问来源于stack exchange,提问作者ilia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:29:59