缺少某些Neo4j标量函数

问题描述:

使用Neo4j 3.2.0社区版。缺少某些Neo4j标量函数

Neo4j中的属性类型应该与Java基元相匹配。为什么只有整数的标量函数(即toInteger)和浮点数?在导入时(LOAD CSV),将字符串转换为字节,短裤和双打而不是指定标题中的类型将会很有用。 APOC对这些类型也没有任何标量函数。由于数字类型之间存在很大的内存差异,所以会期待这些。任何技术原因或解决方法(即字符串转换为字节|短|双负载下CSV

此外,导入工具允许在标题元数据中的所有数字类型

+0

当使用对象的文字列表看起来像整数和浮点数是支持的唯一编号。例如,没有办法将属性指定为字节(例如{id:1,...} property ** id **默认为整数)。 –

+0

看起来像一个已知的问题https://github.com/neo4j/neo4j/issues/7652 –

+1

Neo4j的一个令人困惑的事情是,类型实际上不同于广告。 Neo4j在引擎盖下使用了64位双精度值和长精度值(不管是整数还是浮点数,尽管有函数名称),并且如果某些属性的所有值都足够低,则会使用一对优化技巧进行存储。 – InverseFalcon

不知道你的意思是什么呢?。与属性类型应该匹配Java基本。据我所知没有义务当你写一个软件做任何事情。

您可以找到类型的Neo4j已经和他们是如何映射到这个不同的语言文件:https://neo4j.com/docs/developer-manual/current/drivers/cypher-values/

希望这有助于。

问候, 汤姆

+0

有一些标量函数内置在Cypher中,用于整数和浮点数,但不是字节,小数和双精度,我觉得它们很奇怪。 Apoc也没有填补空白。节点或关系中的属性类型映射到Java中的基元(除了null)。 –

+0

Neo4j只有Boolean,Integer,Float(显然默认是String)。那么为什么Cypher需要其他标量函数,因为这些是您可以在数据库中使用的唯一函数?你声称有一个缺口......但是可以覆盖数据库中的任何类型,那么差距在哪里? –