POST 的 Neo4j 空间工作但不工作密码
Neo4j Spatial work for POST but not work cypher
我用过 Neo4j 3.0.4 + Spatial。
我正在使用 curl,我已经调用了:
addSimplePointLayer,(create nodes),addNodeToLayer
在这一点上,我尝试:
findGeometriesWithinDistance
并且工作完美(我需要将纬度、经度逐个更改经度、纬度...)
但我需要在密码中使用,例如:
START n=node:geom('withinDistance:[40.39742917035895,-3.495200140744832, 100.0]')
WITH n
WHERE n:TypeX
RETURN n;
这永远不会 return 结果,因为 "geom" 是空的。我没有任何索引,我尝试使用提供程序 "spatial" 创建一个新索引,但没有用(我读到选项已被删除)。
我可以把TypeX的所有节点都放在geom索引中吗?或者我可以在没有索引的情况下使用withinDistance吗? (我认为在什么地方不可能使用这个)
在 Neo4j 3.x 的空间扩展中删除了索引提供程序以支持使用 procedures。相反,您可以直接从 Cypher 调用过程。例如:
要创建一个 SimplePointLayer:
CALL spatial.addPointLayer("geom")
然后向图层添加Restaurant
个节点:
MATCH (r:Restaurant) WITH collect(r) AS restaurants
CALL spatial.addNodes("geom", restaurants) YIELD node
RETURN count(*)
然后执行近距离查询:
CALL spatial.withinDistance("geom",{latitude: 40.39742917035895,longitude:-3.495200140744832}, 100.0) YIELD node AS restaurant
RETURN restaurant
这些过程的文档仍在制作中,但是 Github project README and in this post 上有一些文档。
我用过 Neo4j 3.0.4 + Spatial。
我正在使用 curl,我已经调用了:
addSimplePointLayer,(create nodes),addNodeToLayer
在这一点上,我尝试:
findGeometriesWithinDistance
并且工作完美(我需要将纬度、经度逐个更改经度、纬度...)
但我需要在密码中使用,例如:
START n=node:geom('withinDistance:[40.39742917035895,-3.495200140744832, 100.0]')
WITH n
WHERE n:TypeX
RETURN n;
这永远不会 return 结果,因为 "geom" 是空的。我没有任何索引,我尝试使用提供程序 "spatial" 创建一个新索引,但没有用(我读到选项已被删除)。
我可以把TypeX的所有节点都放在geom索引中吗?或者我可以在没有索引的情况下使用withinDistance吗? (我认为在什么地方不可能使用这个)
在 Neo4j 3.x 的空间扩展中删除了索引提供程序以支持使用 procedures。相反,您可以直接从 Cypher 调用过程。例如:
要创建一个 SimplePointLayer:
CALL spatial.addPointLayer("geom")
然后向图层添加Restaurant
个节点:
MATCH (r:Restaurant) WITH collect(r) AS restaurants
CALL spatial.addNodes("geom", restaurants) YIELD node
RETURN count(*)
然后执行近距离查询:
CALL spatial.withinDistance("geom",{latitude: 40.39742917035895,longitude:-3.495200140744832}, 100.0) YIELD node AS restaurant
RETURN restaurant
这些过程的文档仍在制作中,但是 Github project README and in this post 上有一些文档。