Neo4j子图投影字符串查询报错求助:语义与语法问题排查
问题修复方案
1. 修正全图投影语句的语法错误
原始gds.graph.project语句中,节点标签列表与关系配置间缺少逗号,导致语法异常。修正后的语句:
CALL gds.graph.project( 'apps_undir', ['App', 'Genre'], {Genre_Category: {orientation: 'UNDIRECTED'}} )
2. 修正子图投影的节点过滤条件
你遇到的语义错误源于三个核心问题:
- 字符串值
Action、RPG未用单引号包裹,被识别为无效变量 - 从CSV数据来看,Genre节点的属性应为
genre而非name(CSV列名为Genre,导入时未修改属性名的情况下) - 逻辑运算符优先级问题,需给
n.genre = 'Action' OR n.genre = 'RPG'添加括号,避免逻辑判断偏差
修正后的子图投影语句:
CALL gds.beta.graph.project.subgraph( 'subapps', 'apps_undir', "n:App OR (n:Genre AND (n.genre = 'Action' OR n.genre = 'RPG'))", '*' )
3. 属性名验证
若导入数据时Genre节点的属性确实为name,将上述语句中的n.genre替换为n.name即可。可先执行以下查询确认节点属性:
MATCH (g:Genre) RETURN g LIMIT 5
内容的提问来源于stack exchange,提问作者user3452643
相关产品推荐
相关产品推荐

