Neo4j Spatial适用于POST,但不适用于工作密码

时间:2016-09-01 09:00:43

标签: neo4j spatial

我使用过Neo4j 3.0.4 + Spatial。

我正在使用curl,我已经打过电话了:

addSimplePointLayer,(create nodes),addNodeToLayer

在这一点上,我尝试:

findGeometriesWithinDistance

完美工作(我需要改变lat,lon by lon,lat ...)

但我需要在密码中使用,例如:

START n=node:geom('withinDistance:[40.39742917035895,-3.495200140744832, 100.0]') 
  WITH n 
  WHERE n:TypeX
  RETURN n;

这永远不会返回结果,因为" geom"是空的。我没有任何索引,我尝试使用提供者"空间"创建一个新索引,而不是工作(我已经阅读过该选项已删除)。

我可以将TypeX的所有节点都放在geom index中吗?或者我可以在没有索引的情况下使用withinDistance吗? (我认为在哪里不可能使用这个)

1 个答案:

答案 0 :(得分:0)

已在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 READMEthis post中有一些文档。