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

标签 java type-conversion neo4j cypher

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

非常感谢, BSG

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

最佳答案

简单。请改用 Java API。

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

这是假设Relationship 包含以Integer 作为属性的属性。如果没有,则获取字符串并对字符串执行 Integer.parseInt 操作。

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

关于java - 更改neo4j数据库中属性的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18237292/

相关文章:

java - 如何将 C++ 中的 double 转换为 Java

r - 如何将整数转换为R中的分类数据?

performance - 带索引和不带索引的插入性能

java - mvn clean install 不要使用最后的 .class 版本

java - 将不同的 GWT 实现返回到 GAE 上的移动和桌面客户端

java - SaxonParserTest 缺少 SaxonXQDataSource?

python - pandas read_csv 列 dtype 设置为十进制但转换为字符串

python - Heroku Neo4j 问题

neo4j - 让我的 Neo4j 查询更快

Java清除集合不释放堆