【发布时间】:2017-09-07 16:29:41
【问题描述】:
我尝试执行
RETURN nodes(path1) + reverse(nodes(path2))
导致此错误的原因:
Type mismatch: expected Node, List<Node> or List<List<Node>> but was List<Any>
这是一个最小的例子:
输入:
WITH range(1, 3) AS xs
RETURN xs + reverse(xs)
预期结果: [1, 2, 3, 3, 2, 1]
实际结果:
Type mismatch: expected Integer, List<Integer> or List<List<Integer>> but was List<Any> (line 2, column 13 (offset: 35))
"return xs + reverse(xs)"
^
相反,我必须使用此解决方法:
WITH range(1, 3) AS xs
RETURN xs + [i IN range(size(xs) - 1, 0, -1) | xs[i]]
我相信 reverse(xs) 应该与 xs 本身具有相同的元素类型,但它的类型被擦除为“Any”。这是预期的行为吗?
【问题讨论】: