在neo4j数据库中更改属性的数据类型

时间:2013-08-14 16:30:44

标签: java type-conversion neo4j cypher

我有一个大的neo4j数据库,其中包含各种数字信息,我想对其进行计算(例如总和,平均等)。不幸的是,我没有意识到Cypher不允许类型转换,并将数字属性存储为字符串。有什么办法可以对这些属性进行计算吗?无论是动态转换/转换,还是某种方式对整个数据库进行大修,以将所有这些属性转换为整数。

非常感谢,  BSG

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

1 个答案:

答案 0 :(得分:0)

简单。请改用Java API。

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

这假设Relationship包含Integer属性作为属性。如果没有,则获取String并在String上执行Integer.parseInt

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