与使用Java API的possible相反,似乎没有办法指定数字属性是byte
,short
,int
或long
:
CREATE (n:Test {value: 1}) RETURN n
似乎总是创建一个long
属性。我已经尝试toInt()
,但显然在数学意义上“整数”比在计算机数据类型意义上更容易理解。
我是否有某种方式可以忽略实际强制类型?
我们已经定义了一个模型,并希望使用Cypher语句插入测试数据,但是由于类型不匹配,使用数据的代码会因ClassCastException
而失败。
答案 0 :(得分:3)
如果您使用嵌入式API运行cypher查询,那么 您可以使用正确键入的值在散列映射中提供参数。
对于远程用户来说,它并不重要,因为它来回传递JSON序列化,无论如何都会丢失类型信息。所以它只是"数字"。
为什么要关心数字类型?
你也可以使用((Number)n.getProperty("value")).xxxValue()
(xxx = int,long,byte)