如何在Cypher查询中将NaN表示为文字?
场合
我在数据库中有一个NaN值:
match (a) with max(a.CONCENTRATION) as m return m
将返回
m
---
NaN
Cypher reference in Neo4j提到这可能是存储特殊值的结果:
特殊值java.lang.Double.NaN被视为大于所有其他数字。
我尝试了什么
然而,现在它在那里,我不知道如何在搜索中匹配它们,因为你得到以下错误
输入
match (a) where a.CONCENTRATION = NaN return a limit 10
错误
Variable `NaN` not defined (line 1, column 35 (offset: 34))
其他参考
Cypher reference in Neo4j没有提到NaN文字,除非我错过了它。
我用谷歌搜索'Cypher NaN',但我得到的最接近的是如何添加inf / NaN,它没有被直接解决(How to add infinity, NaN, or null values to a double[] property on a node in Cypher/Neo4j)。
答案 0 :(得分:3)
无法指定文字,但这应该有效:
FILE: \\Share\Location\STUDENTS.txt
USER: d155a9dd-be60-9dcb-9009-02d634192545
TYPE: person
OPER: refresh
Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.
如果参数无法(根据需要)转换为数字, MATCH (a)
WHERE TOFLOAT(a.CONCENTRATION) <> a.CONCENTRATION
RETURN a
LIMIT 10;
将返回NULL。但是,即使可以转换参数,结果也不会等于参数,除非是数字开头。
答案 1 :(得分:0)
这在Neo4j 3.5中有效:
MATCH(a) 应力(a。浓度)='NaN' 返回a LIMIT 10;