我遵循多个教程并且都展示了相同的Cypher查询,因此它必须是正确的,但我收到了以下错误:
Neo.ClientError.Statement.SyntaxError未知程序输出:
node
代码:
call spatial.addWKTLayer('geom', 'wkt')
------- THEN --------
MATCH (v:Venue) WITH collect(v) as venues
CALL spatial.addNodes('geom', venues)
YIELD node
RETURN count(*)
答案 0 :(得分:5)
查看代码我注意到addNodes过程在去年11月更改了签名,以返回添加的节点数,而不是添加的节点流。我相信,这支持使用批量加载功能更快地添加节点,因此也支持更多的节点。由于您传入节点,因此返回节点也没有实际价值。
现在应该做些什么:
call spatial.addWKTLayer('geom', 'wkt')
------- THEN --------
MATCH (v:Venue) WITH collect(v) as venues
CALL spatial.addNodes('geom', venues)
YIELD count
RETURN count
如果您真的想要产生节点,请一次添加一个:
call spatial.addWKTLayer('geom', 'wkt')
------- THEN --------
MATCH (v:Venue)
CALL spatial.addNode('geom', v)
YIELD node
RETURN count(*)
Github问题==> Link to Issue
答案 1 :(得分:2)
通常这意味着您正在从过程调用中输出错误的变量。尝试检查您要调用的过程的签名,以获取变量:
call dbms.procedures() yield name, signature
where name contains 'spatial.addNodes'
return name, signature