如果我进行以下Cypher查询,我的结果符合预期:
MATCH (:Keydata {key:"kgv"})<-[k:KEYDATA]-(s:Symbol)
WHERE k.value>15.0
RETURN k.value
但是如果我的符号节点之前匹配:
MATCH (s:Symbol)
MATCH (:Keydata {key:"kgv"})<-[k:KEYDATA]-(s)
WHERE k.value>15.0
RETURN k.value
我得到了这个错误:不知道如何比较它。左:&#34; EVN&#34; (串);右:15.0(双)
我正在使用Neo4j 2.0.1
答案 0 :(得分:0)
您正在将String
值与double值进行比较,这是不可能的。你有两个选择。将值存储在其他类型中或使用Neo4j 2.1.0-M01并使用toFloat()
方法。 E.g。
WHERE toFloat(k.value)>15.0
答案 1 :(得分:0)
MATCH (s:Symbol),(:Keydata {key:"kgv"})<-[k:KEYDATA]-(s)
WHERE k.value>15.0
RETURN k.value
正在工作。好像多个MATCHES有不同的含义