1

我有一个包含各种数字信息的大型 neo4j 数据库,我想对其进行计算(例如总和、平均值等)。不幸的是,我没有意识到 Cypher 不允许类型转换,并将数字属性存储为字符串。有什么方法可以对这些属性进行计算?即时转换/转换,或者以某种方式彻底检查整个数据库以将所有这些属性转换为整数。

非常感谢,bsg

更新 我通过编写一个简单的 Java 程序来遍历我的索引、找到所需的属性并将它们重新存储为整数来解决了这个问题。但是,由于下面 Jatin 的回答绝对正确(也许是一个更好的解决方案;我只是想能够使用 Cypher),我会接受它作为答案。非常感谢!

4

1 回答 1

0

简单的。请改用 Java API。

for(Relationship r: node.getRelationships()){
   Integer p = (Integer) r.getProperty("value");
}

这是假设Relationshipcontains 属性具有Integeras 属性。如果没有,则获取字符串并Integer.parseInt在字符串上执行。

这是最简单的方法。一般来说,我更喜欢 Java api 而不是 cypher。更好的性能和更多的控制

于 2013-08-14T16:40:43.037 回答