在Cypher CREATE子句中指定属性的基本类型

时间:2015-01-27 11:54:23

标签: neo4j cypher

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

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

似乎总是创建一个long属性。我已经尝试toInt(),但显然在数学意义上“整数”比在计算机数据类型意义上更容易理解。

我是否有某种方式可以忽略实际强制类型?

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

1 个答案:

答案 0 :(得分:3)

如果您使用嵌入式API运行cypher查询,那么 您可以使用正确键入的值在散列映射中提供参数。

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

为什么要关心数字类型?

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