Neo4j 3.0.0 + Cypher 空间
Neo4j 3.0.0 + SPATIAL in Cypher
我已经从源代码编译了最新的 Neo4j Spatial
(neo4j-spatial-0.16-neo4j-3.0.0-server-plugin.jar)
并将其放入我的 Neo4j 3.0.0
插件文件夹中。
浏览器中列出了扩展程序,我可以 POST
调用空间功能。
不过,我相信我也应该能够使用 Neo4j 3.0.0
中漂亮的新 CALL
功能来进行 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
但是,我收到 "There is no procedure with the name spatial.addPointLayer
registered for this database instance." 错误,并且在 jexp 示例中也可以看到相同的调用失败...我不确定我是参加聚会太早了还是错过了什么东西?
插件需要位于特定于数据库的插件文件夹中,而不是 "Neo4j CE 3.0.x/Plugins" 文件夹中。
在 Neo4j 3.0 中,对于基本操作,您不需要空间插件。
默认支持 point
和 distance
。此支持假定您将 lat/lon 属性 键设置为 latitude
和 longitude
.
您可以使用它们来计算两个节点之间的距离,例如:
MATCH (a:City {name:'London'}), (b:City {name:'Barcelona'})
RETURN distance(point(a), point(b))/1000 as dist
您可以在这个图形师中找到详细示例:
http://gist.asciidoctor.org/?dropbox-14493611%2Fcypher_spatial.adoc#_spatial_procedures
其次,在Neo4j 3.0中出现了存储过程,这里是neo4j官方支持的一套过程:
https://github.com/neo4j-contrib/neo4j-apoc-procedures
它提供了更多的空间特征。
我已经从源代码编译了最新的 Neo4j Spatial
(neo4j-spatial-0.16-neo4j-3.0.0-server-plugin.jar)
并将其放入我的 Neo4j 3.0.0
插件文件夹中。
浏览器中列出了扩展程序,我可以 POST
调用空间功能。
不过,我相信我也应该能够使用 Neo4j 3.0.0
中漂亮的新 CALL
功能来进行 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
但是,我收到 "There is no procedure with the name spatial.addPointLayer
registered for this database instance." 错误,并且在 jexp 示例中也可以看到相同的调用失败...我不确定我是参加聚会太早了还是错过了什么东西?
插件需要位于特定于数据库的插件文件夹中,而不是 "Neo4j CE 3.0.x/Plugins" 文件夹中。
在 Neo4j 3.0 中,对于基本操作,您不需要空间插件。
默认支持 point
和 distance
。此支持假定您将 lat/lon 属性 键设置为 latitude
和 longitude
.
您可以使用它们来计算两个节点之间的距离,例如:
MATCH (a:City {name:'London'}), (b:City {name:'Barcelona'})
RETURN distance(point(a), point(b))/1000 as dist
您可以在这个图形师中找到详细示例:
http://gist.asciidoctor.org/?dropbox-14493611%2Fcypher_spatial.adoc#_spatial_procedures
其次,在Neo4j 3.0中出现了存储过程,这里是neo4j官方支持的一套过程:
https://github.com/neo4j-contrib/neo4j-apoc-procedures
它提供了更多的空间特征。