我试图执行
httpd24
导致了这个错误:
RETURN nodes(path1) + reverse(nodes(path2))
这是一个最小的例子:
输入:
Type mismatch: expected Node, List<Node> or List<List<Node>> but was List<Any>
预期结果: [1,2,3,3,2,1]
实际结果:
WITH range(1, 3) AS xs
RETURN xs + reverse(xs)
相反,我必须使用此解决方法:
Type mismatch: expected Integer, List<Integer> or List<List<Integer>> but was List<Any> (line 2, column 13 (offset: 35))
"return xs + reverse(xs)"
^
我认为reverse(xs)应该与xs本身具有相同的元素类型,而是将其类型擦除为&#34; Any&#34;。这是预期的行为吗?
答案 0 :(得分:0)
(您应该为这种意外的reverse()
行为创建新的neo4j issue。)
作为原始问题的解决方法,您可以撤消用于获取path2
的匹配模式,以便NODES(path2)已经“反转”#34;这将消除需要使用reverse()
功能。
例如,如果您目前有:
MATCH path2=(:Person {id: 1})-[:LIKES]->(:Cat {id: 2})
你可以这样做:
MATCH path2=(:Cat {id: 2})<-[:LIKES]-(:Person {id: 1})