我是Neo4J的新手,正在从事一个项目。我刚刚编写了以下Cypher查询来创建一个节点,只要它与另一个节点的距离超过一定距离。这是Cypher的查询:
MATCH(p:Point)
WITH p, p.Lat AS Lat1, p.Lng as Lng1, 53.3809441 as Lat2, -1.4901356 as Lng2
WITH p, Lat1, Lng1, Lat2, Lng2, (degrees(acos((sin(radians(Lat1))*sin(radians(Lat2)))+ (cos(radians(Lat1))*cos(radians(Lat2))*cos(radians(Lng1 - Lng2))))) * 60 * 1.1515 * 1.60934 * 1000) AS DM
WHERE DM > 558
WITH COUNT(p) AS c,
FOREACH(item IN CASE WHEN c = 0 THEN [1] ELSE [] END | CREATE (n:Point {Lat: 53.3809441, Lng: -1.4901356}))
我在最后一行指向管道符号“|”时出现语法错误。我很困惑,因为一切似乎都适合我。任何人都可以告诉我,我做错了吗?
答案 0 :(得分:2)
删除WITH COUNT(p) AS c,
后的逗号。这可能是一种疏忽。
FOREACH是一个不是表达式的条款。