基于Neo4j图数据库的时空数据存储 下载本文

内容发布更新时间 : 2024/5/30 13:58:57星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于Neo4j图数据库的时空数据存储

作者:廖理

来源:《信息安全与技术》2015年第08期

【 摘 要 】 针对采用关系型数据库对时空数据建模和存储时,存在数据关系结构转换复杂、多表关联查询语句复杂和效率低、扩展性差等问题,提出一种基于图数据库的时空数据模型。该模型将时态地理信息系统的时间、空间和属性三个基本要素整合建模和存储,并在语义上显式表达时态地理信息系统的时空特性。

【 关键词 】 时态地理信息系统;图数据库;时空数据 Application Research of Neo4j in Spatio-temporal Data Storage Liao Li

(School of Computer Science , Chongqing University Chongqing 400030 )

【 Abstract 】 Traditional spatio-temporal data model based on relational database, which will result in hard to convert problem domain model to relational model, complicated query and low expansibility. In view of this, we propose the spatio-temporal data model based on graph database. The data model integrated TGIS’s three key elements: space, time and attributes, expressed spatio-temporal characteristics of TGIS explicitly.

【 Keywords 】 tgis; graph database;spatio-temporal data 1 引言

时态地理信息系统(Temporal GIS,简称TGIS)是将时间作为与空间同等重要的因素引入到GIS中,并以时空数据库为组织基础,以时空数据模型为概念基础的计算机系统。其应用包括事件预测、环境监测、城市演化、交通管理、地震救援、全球或区域气候、物流配送、实时GIS、面向大数据的GIS数据挖掘与分析等。TGIS要求能够对历史数据的变化进行有效的管理,方便历史状态的重建、变化的跟踪、未来趋势的预测,从而探求现实世界各种时空现象的动态变化规律。

在传统的GIS中,空间对象包含图形、拓扑关系和属性三方面信息,通常将图形与拓扑关系放入一个关系表中,属性描述信息放入另一个关系表中,并且将其分开存放,导致进行关系操作困难,而且语义上割裂了地理实体空间、时态和属性信息三个密切关联的基本要素,需要使用繁琐的对象关系映射技术(Object- Relationship Mapping,ORM)进行转换,而图数据库以图论为基础,可用来显示表达时空实体和时态关系,在将领域对象模型转换存储时代价最小,对很多地理实体来说,其领域对象模型本事就是一个图结构,链表、散列和树等数据结构

龙源期刊网 http://www.qikan.com.cn

也可以抽象成图来表示,图数据库还拥有高扩展性、无范式约束、灵活性高等特点。为此,本文提出一种应用图数据库的时空数据模型建模和存储方法,以解决关系型数据库在存储时空数据时存在的数据关系结构转换复杂、多表关联查询语句复杂和效率低、扩展性差等问题。 2 图数据库

2.1 图数据库基本原理

图数据库是一种利用图结构存储和查询数据的数据库系统,如开源的Neo4j。其理论基础是图论,图的基本要素是节点和边,对应图数据库三大基本要素是节点、关系和属性,节点可以代表地理实体且包含任意多的属性(键值对),利用在节点上添加标签可以在语义上更直接的表达领域对象;关系连接相应的节点,可以表达地理实体或者领域对象之间相应的变化和关系,在图数据库中关系是第一等的,而非关系型数据库需要大量的内部操作如外键连接或者额外的Map-Reduce操作,同时也可以拥有任意多属性,具有方向性也使其支持数据的回溯、倒查等遍历特性;属性是节点和关系中具体的值,它让节点和关系能更语义的表达相应领域模型。

一般的数据库系统主要涉及四种操作:增、删、查、改(CRUD),图的查找和搜索可以通过图的遍历和相关图论算法完成,图数据库支持复杂的查询,而关系数据库则需要大量的连接操作(Join Operations)不仅费时且复杂,图数据库对于连接操作只需要一个起始节点,然后利用其免索引邻接(Index-Free Adjacency)特性实现无关于数据规模的查询性能,图数据库借助于灵活的图存储结构特别适合路径查询和模式发现,对于根据历史数据预测未来趋势有巨大潜力,关系数据库利用结构化查询语言(SQL)进行查询,图数据库也有相应的查询语言如Cypher、SPARQL和基于路径的Gremlin等,其中Cypher是一种声明式、类SQL、灵活且表达力强的查询语言,且应用较为广泛。

总体来说,相比于关系数据库静态、刚性和不灵活的本质使得改变Schemas满足不断变化的业务模型非常困难,图数据库因为其无模式特点,使得它更能适应领域变化以及天生的可添加性,使得我们可以添加新的节点、属性、关系,甚至子图而不影响现有业务逻辑因而扩展性高,对于具有复杂关联关系的数据处理也十分高效,利用图的多关系可以在语义上更直接表达多维时空数据,因此图数据库在社会学如社交网络、推荐系统、地理空间(通讯、物流、公路交通、路径选择等)、数据管理、网络、授权管理等领域有着广泛应用。 3 基于Neo4j图数据库的时空数据建模

时间、空间和属性是时空数据建模的三个核心基本要素,属性信息可以直接利用图数据库图模型的节点和关系的属性键值对表达,结合时间和空间模型即可对时空数据建模。 3.1 基于Neo4j图数据库的时间表达模型

龙源期刊网 http://www.qikan.com.cn

时空数据模型中时间的表达分为三种:基于时间间隔方法、基于时间点方法和基于时间方法。基于时间间隔方法是把时间分为划分为一些时间间隔,该方法基于这些间隔的关系,如“在……之前”或“在……之后”等,基于时间点的方法是把时间表达为事件、活动、观察所发生的时刻,基于时间方法综合了基于时间点和基于时间间隔。利用图数据库中的链接表可以方便表达基于时间间隔方法,利用时间线树可以方便表达基于时间点方法,综合二者即可得基于时间方法,同时可以根据领域模型直接将时间作为属性添加到节点实体中。 3.2 基于Neo4j图数据库的空间表达模型

时空数据中的空间信息可以通过节点和属性表达,针对地籍变更、土地划拨、城市规划、公路交通等空间信息可以使用R-Trees数据结构方便表达,而R-Trees本身就是Neo4j图数据库的一个图结构,传统时空数据模型多是基于关系数据库,缺少对地理实体或现象的显示定义和基础关系描述,必须将领域数据模型转换为关系存储和运算,通过基于属性图可以将时空数据的时间、空间和属性等整合和统一表达,在语义上显示描述地理实体或现象。 4 Neo4j Spatial库

Neo4j Spatial是一个让Neo4j能够进行完整的空间操作的库,支持ESRI Shapfile文件和OSM数据的导入,支持大多数的几何形状如点、线、多边形等,能够对时空数据进行拓扑操作如包含、覆盖、相交等。此外,Neo4j Spatial除了本身的基于空间结构的R-Tree索引外,可以灵活的支持其他索引,只要能够将数据映射为几何形状都可以使用Neo4j Spatial处理。这些特征使得Neo4j对时空数据的分析和处理效率更高、使用范围更广。 5 结束语

传统时空数据模型基于关系型数据库构建和存储,所以必须将问题领域模型转换成关系结构,转换代价较高,将空间信息和时间信息割裂开来,同时关系数据库受其范式限制难于扩展、灵活性差、对于较为复杂的查询涉及大量连接操作(Join)导致效率极低。本文基于快速发展的图数据库,提出基于图数据库的时空数据模型构建和存储,将TGIS的三个核心要素:时间、空间、属性紧密结合形成一个整体,显示表达了时空数据及其拓扑关系,语义上更加接近地理学,可以更加快速的满足业务逻辑的变化、提高扩展性,利用图论相关算法和模型可以进一步分析时空数据、预测未来趋势、指导实践。 参考文献

[1] Tu,E.,Kasabov,N.,Othman, M.,Yuxiao Li Worner, S.,Jie Yang,

ZhenghongJia.NeuCube(ST) for spatio-temporal data predictive modelling with a case study on ecological data[C].Neural Networks (IJCNN),Piscataway,NJ:IEEE,2014:638-645. [2] 王军利,朱茵,周海淞等.基于GIS-T的交通管理综合信息平台的架构设计[J].交通运输系统工程与信息,2005,5(2):116-120.