在这里,属性r.weight的值是一个字符串。我尝试了以下几种可能将其转换为整数:
INT(r.weight)
Integer.parseInt(r.weight)
convert(INT,r.weight)
但是没有任何方法有效。是否有适当的函数可以做到这一点?
reduce(total = 0, r in relationships(p): total + INT(r.weight))
注意:这不是Gremlin类型转换的重复问题。
版本:1.9.5
在这里,属性r.weight的值是一个字符串。我尝试了以下几种可能将其转换为整数:
INT(r.weight)
Integer.parseInt(r.weight)
convert(INT,r.weight)
但是没有任何方法有效。是否有适当的函数可以做到这一点?
reduce(total = 0, r in relationships(p): total + INT(r.weight))
注意:这不是Gremlin类型转换的重复问题。
版本:1.9.5
toInt()
已被弃用,应改用toInteger()
。例如,toInteger(r.weight)
- 这个可以正常工作。MATCH ()-[r]->(n:Person {name:"Ada"})
RETURN sum(toInteger(r.weight)) AS total_weights_in;
MATCH ()<-[r]->(n:Person {name:"Ada"})
RETURN sum(toInteger(r.weight)) AS total_weights_in;
正如上面的评论所述,在1.9.x版本的Cypher中没有简单的方法可以实现这一点。作为解决办法,您可以使用neo4j-shell
并使用gsh
或jsh
或eval
命令执行一个脚本,该脚本会迭代所有关系并将weight
属性的值从字符串转换为数字。