我有一个属性quantity
对我们的Product
-节点,并期待做一个密码查询,给我所有的节点与quantity = 20
...问题是quantity在neo4j中存储为字符串。有没有办法在密码查询中将属性转换为整数?
// This fails to find the required nodes
MATCH (p:Product) WHERE p.quantity = 20;
// This finds them
MATCH (p:Product) WHERE p.quantity = "20";
// I would like to do this
MATCH (p:Product) WHERE INT(p.quantity) = 20;
- PS:这是一个非常简化的用例,我们没有产品和数量,只是面对现有的neo4j数据,这些数据具有存储为字符串的整数值,我们想对这些字符串进行一些匹配 *
4条答案
按热度按时间e0bqpujr1#
你可以反过来做。
也应该使用params。
或者甚至使用内联属性匹配
33qvvth12#
xdnvmnnf3#
我以前也遇到过这个问题。据我所知,不可能直接在cypher中进行转换。我使用了一个小的Java脚本(使用标准的API)来更改存储值的数据类型。不过这是几个月前的事了,所以它可能在2.0版本中发生了变化。
gopyfrb34#
toInteger为我工作。
我是neo4j版本版本:5.6.0