我有一个大的neo4j数据库,其中包含各种数字信息,我想对其进行计算(例如总和,平均等)。不幸的是,我没有意识到Cypher不允许类型转换,并将数字属性存储为字符串。有什么办法可以对这些属性进行计算吗?无论是动态转换/转换,还是某种方式对整个数据库进行大修,以将所有这些属性转换为整数。
非常感谢, BSG
更新 我通过编写一个简单的Java程序来遍历索引,找到所需的属性,并将它们重新存储为整数,从而解决了这个问题。但是,由于Jatin的答案绝对正确(也许是一个更好的解决方案;我只是想能够使用Cypher),我会接受它作为答案。非常感谢!
答案 0 :(得分:0)
简单。请改用Java API。
for(Relationship r: node.getRelationships()){
Integer p = (Integer) r.getProperty("value");
}
这假设Relationship
包含Integer
属性作为属性。如果没有,则获取String并在String上执行Integer.parseInt
。
这是最简单的方法。一般来说,我更喜欢Java api而非cypher。更好的性能和更多的控制