欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

图数据库实践系列 (二)--Neo4J空间数据存储

程序员文章站 2022-05-15 12:24:43
...

上讲回顾:介绍了Neo4j的概念和安装,同时包括介绍了Git和Maven两个工具。本文会介绍Neo4j Spatial项目以及空间数据(矢量)的存储。 1.Neo4j Spatial 简介1.1Neo4j Spatial概念 Neo4j Spatial项目是图数据库Neo4j的一个插件,它通过将空间数据映射到图模型(gr

上讲回顾:介绍了Neo4j的概念和安装,服务器空间,同时包括介绍了Git和Maven两个工具。本文会介绍Neo4j Spatial项目以及空间数据(矢量)的存储。

1.Neo4j Spatial 简介 1.1Neo4j Spatial概念

Neo4j Spatial项目是图数据库Neo4j的一个插件,它通过将空间数据映射到图模型(graph model),它将对象和关系当作顶点和边存储在图模型中。因而使得Neo4j具有空间数据的导入,香港虚拟主机,存储,查询等功能[8]。Neo4j Spatial支持的地理要素遵循OpenGIS的规范[9],包括点(point),线段(line-string),面(polygon),多点(multipoint),多线段(multi-linestring)等简单要素。Neo4j Spatial使用R树作为空间索引,主要是集成了Lucene 的索引库,支持的空间查询包括覆盖(cover),被覆盖(cover by),包含(contian),相交(intersect)等。一般而言,R树会将叶子结点(COUNT,LEVEL,)上几何要素分组并用它们的数据矩形来表示,相比PostGIS所使用的优化过GisT[13]索引要低效,会使Neo4j在范围查询上效率有所不及PostGIS,但它对适合图模型的数据(如网络数据)操作效率非常高[14]。综上所述,Neo4j在符合图数据模型的分析中如邻近搜索,香港虚拟主机,路径分析等这些特定类型的应用有非常大的优势。

1.2 Neo4j Spatial特性

Neo4j Spatial的部分核心特性包括