在 Cypher CREATE 子句中指定 属性 的原始类型

Specifying the primitive type of a property in a Cypher CREATE clause

与 Java API 的 possible 相反,似乎没有办法指定数字 属性 是否是 byteshortintlong:

CREATE (n:Test {value: 1}) RETURN n

似乎总是创建一个 long 属性。我试过 toInt(),但显然在 "integer" 的数学意义上比在计算机数据类型意义上更能理解它。

有没有什么方法我忽略了实际强制类型?

我们已经定义了一个模型并希望使用 Cypher 语句插入测试数据,但是使用该数据的代码随后失败并显示 ClassCastException,因为类型不匹配。

如果您 运行 您的密码查询使用嵌入式 API 那么 您可以在哈希图中提供具有正确键入值的参数。

对于远程用户来说,这并不重要,因为它来回经历 JSON 序列化,无论如何都会丢失类型信息。所以它只是 "numeric".

为什么要关心数字类型?

你也可以只使用 ((Number)n.getProperty("value")).xxxValue() (xxx = int,long,byte)