Cypher的Ne​​o4j 3.0.0 + SPATIAL

时间:2016-05-13 21:47:41

标签: neo4j cypher neo4j-spatial

我已从源代码编译了最新的Neo4j Spatial (neo4j-spatial-0.16-neo4j-3.0.0-server-plugin.jar)并将其放入我的Neo4j 3.0.0插件文件夹中。

扩展程序列在浏览器中,我可以POST调用空间功能。

但是,我相信我也应该能够使用CALL中的漂亮新Neo4j 3.0.0功能进行Cypher次呼叫,如下所示:

CALL spatial.addPointLayer('cities');

Stefan的更新提到了这里:

How do I create a spacial index in neo4j using only cypher?

这里显示:

http://jexp.github.io/graphgist/idx?dropbox-14493611%2Fcypher_spatial.adoc

但是,我得到了一个"没有为此数据库实例注册名称为spatial.addPointLayer的过程。"错误,并且可以在jexp示例中看到相同的调用失败...我不确定我是否太早参加聚会或错过了某些内容?

2 个答案:

答案 0 :(得分:0)

插件需要位于特定于数据库的插件文件夹中,而不是在" Neo4j CE 3.0.x /插件"文件夹中。

答案 1 :(得分:0)

在Neo4j 3.0中,对于基本操作,您不需要空间插件。

默认支持pointdistance。此支持假定您将lat / lon属性键设置为latitudelongitude

您可以使用它们来计算两个节点之间的距离,例如:

MATCH (a:City {name:'London'}), (b:City {name:'Barcelona'})
RETURN distance(point(a), point(b))/1000 as dist

您可以在此graphgist中找到详细示例:

http://gist.asciidoctor.org/?dropbox-14493611%2Fcypher_spatial.adoc#_spatial_procedures

其次,在Neo4j 3.0中出现存储过程,neo4j支持官方程序集:

https://github.com/neo4j-contrib/neo4j-apoc-procedures

这提供了一些更多的空间特征。