基于MongoDB的历史地理超媒体数据组织方式研究

2018-11-23 07:35曹飞飞段淼然
地理空间信息 2018年11期
关键词:文档对象数据库

曹飞飞,陈 刚*,段淼然,张 笑

(1.南京大学 地理与海洋科学学院,江苏 南京210023;2.江苏省地理信息技术重点实验室,江苏 南京210023)

地理信息技术在建设历史地理数据库、编制电子地图集和研制历史地理信息系统等[1]历史地理研究方面均有广泛应用;尤其在建设中国历史地理信息系统(CHGIS)、中国历代人物传记资料库、丝绸之路地理信息系统等历史地理信息系统方面已取得很好的应用效果,而上述系统均建立在传统关系型数据库的基础上。近年来出现了高并发读写、海量数据高效读写、高扩展性和可用性等新需求,使得非关系型数据库的应用逐渐流行,其中MongoDB最常见。周怀许[2]等基于MongoDB设计了地籍数据库;江颖[3]等基于MongoDB设计了闽西客家文化数据库,并探讨了MongoDB的性能优势;张恩[4]等设计了基于MogondDB的海量空间数据存储与并行系统。MongoDB是以文档形式进行数据存储的非关系型数据库,其设计原则遵循CAP理论和最终一致性。

在历史地理超媒体系统建设中,数据组织是工作的基础,艾海滨[5]等利用关系数据库、地理空间数据库与多媒体数据库相结合的方式,实现了多媒体数据在GIS中的组织。对超媒体模型的研究已比较成熟,其中以Dexter模型为代表,2001年陈刚[6]等结合GIS设计了面向对象的超媒体地理信息系统模型(OOMH-GIS);但对于超媒体模型在超媒体数据组织中的具体实现,需要做进一步研究。本文以南朝梁将领侯景的叛乱事件为例,结合历史地理超媒体数据特点与 MongoDB的优点,设计了基于MongoDB的历史地理超媒体数据组织方式,探索了从多种历史文献中提取历史事件数据并进行组织管理的方法。

1 研究理论与对象

1.1 历史地理超媒体与OOMH模型

超媒体是一种采用非线性网状结构对块状多媒体信息(包括文本、图像、视频等)进行组织和管理的技术,是超文本技术的进一步发展。历史地理超媒体数据是指来源于正史文献、地方志、考古资料、学术文献以及新闻报道等多种渠道和多种媒体(文本、图形、图像、音频、视频)形式的地理数据,一般采用网状结构的链将其组织起来[7]。历史地理超媒体数据具有时空复合性、来源丰富、媒体类型多样、文本数据不易结构化等特点。

历史地理超媒体数据通过超媒体链接的方式进行分布式存储,数据间通过一定的时序关系和空间逻辑进行同步展示,其依赖的基础主要是超媒体模型。本文使用的OOMH-GIS模型是一种面向对象的超媒体模型,它将数据存储与信息网络构建进行隔离,屏蔽了不同媒体数据在信息网络中存取与操作的差异性,分层如图1所示。

图1 OOMH-GIS模型分层示意图

1.2 MongoDB

MongoDB是一种开源的非关系型数据库,具有灵活、可扩展、高性能等优点。采用MongoDB建立超媒体数据库的优势在于:①“无模式”的文档存储方式使数据组织拥有更大灵活性,更加易于整合多源异构数据,也便于根据不同数据结构进行调整;②MongoDB支持自动分片,该分布式存储便于数据库进行横向拓展,当数据量较大时,其性能优势更为明显;③MongoDB文档自动生成12位的“_id”标识,具有全局唯一性,可作为超媒体中链对象的锚点,实现链对象;④MongoDB支持内嵌文档,为超媒体网络中数据块之间的关联提供了更加多样的形式;⑤MongoDB支持空间数据索引,可提升GIS中基于位置的查询与检索性能。

1.3 “对象—文档”数据组织方式

结合MongoDB与OOMH-GIS模型的特点,本文设计了“对象—文档”(OD)数据组织方式。该组织方式中,“对象”是指具有意义的地理实体或最小的原子事件,是具有固定类型数据集合、操作方法和消息接口的数据单元,表现为超媒体网络中的一个节点;“文档”是指数据在MongoDB中具体存储方式。

图2 模型层次分解示意图

OD数据组织方式运用类对象来确定数据模式,以MongoDB文档为装载容器,充分利用了OOMH-GIS模型中信息成员层的定义:首先预定义一系列描述基础信息的基础类,它们是不可再分的表示独立信息结构的基础元素,可在使用时进行动态扩充和更新;再根据表达主题的内容构建主题类,主题类以预定义的基础类为父类,继承属性和方法,组合成主题类,形成表达特定主题的信息集群(如地名、事件等);然后将子类实例化为具体的对象;最后通过文档来封装对象。OD数据组织方式与模型各层对应关系见图2。

OD数据组织方式的特点为:①基础类具有原子性,预定义的基础类是描述特定信息的集合,在数据组织过程中可动态更新、扩充,满足非结构化超媒体数据的不确定性要求;②主题类(子类)是将基础类重新组合并扩充新属性而构成的描述特定主题的信息集合,该构建模式没有固定限制,可充分表达不同数据的特点;③不再将“链对象”和“空间对象”视为特殊存在,而是与其他对象一样,共享数据驱动和操作方法。

1.4 研究对象与数据源

“侯景之乱”是南北朝时期南朝梁将领侯景发动的武装叛乱事件,时间上从公元548年到公元552年,空间范围在建康城及其周边区域。本文以“侯景之乱”事件为例,构建历史地理超媒体数据库。

数据来源主要包括基础地理信息、历史文献和互联网多媒体资料。基础地理信息以CHGIS数据为主,配合《东晋建康城示意图》;历史文献是本文的核心资料,包括《梁书》《资治通鉴》和《建康实录》;互联网多媒体资料主要是百科介绍、纪录片等。

2 研究实例

2.1 数据组织的逻辑关系

“侯景之乱”超媒体信息网络以历史文献为基础,以地图数据为空间定位的重要依据,网络多媒体数据则是其重要组成部分。信息网络由时间信息成员、人物信息成员、地名信息成员和事件信息成员4个中心展开,如图3所示,每个层级的描述都可根据实际需求和其他类别对象数据进行灵活关联。这样的设计可实现复杂的数据关系,而这种跨类型、跨级别的灵活引用关系是构建超媒体信息网络的关键。

2.2 信息提取

事件信息提取流程如图4所示,先从各种基础资料中划分语句;再从语句中提取信息,形成初步的语料库;然后对比不同文献形成的语料库中的语句内容,归并描述同一事件的内容;最后将不同文献描述同一事件的语句集合提取出来,作为基本的动作(Action)。 Action是构成事件最基本的完整单元,它与文献资料是一一对应的,可从中提取并生成基本信息、时间对象、文献信息等详细内容。

图3 信息成员拓扑关系图

图4 事件信息提取流程图

2.3 文档数据结构设计

通过对基础资料进行信息提取,得到以事件、人物、地名、时间为中心的历史地理资料。文档数据结构是将基础资料与人物、地名、事件关联起来的关键,包括事件的基本描述信息、文献信息、Action开始信息、Action过程信息和Action结果信息。本文以事件关系设计为例,介绍MongoDB文档数据结构,如图5所示。

图5 事件文档数据结构图

2.4 应用实例

基于OD数据组织方式构建了“侯景之乱” 历史地理超媒体数据库,并在此基础上设计实现了“侯景之乱”历史地理超媒体信息系统(图6)。该系统可实现对事件、人物、地名的查询,同时可利用WebGIS在地图上展现历史事件的时空演变过程。

图6 历史地理超媒体信息系统

3 技术难点

本文主要面临两个方面的问题:①数据提取过程中,从文献中自动提取事件相关数据较困难;②使用MongoDB存储数据时,存在数据冗余。

虽然目前中文自然语言处理在分词、命名实体标注等方面较成熟,但还是较难从文本中自动提取特定事件的相关要素(时间、地点、人物)。本文先使用中文自然语言处理工具进行命名实体(时间、地名、人名)的标注,再通过阅读理解梳理得到事件信息。采用MongoDB作为OD超媒体数据结构的载体,简化了数据库设计的工作流程,使数据更加直观、便于理解和管理,但MongoDB的使用策略导致其数据具有一定的冗余,需考虑如何减少数据冗余,使数据结构更加清晰、简洁。

4 结 语

本文根据历史地理超媒体数据多源异构的特点,结合非关系型数据库MongoDB在超媒体数据管理中的优势,以“侯景之乱”历史事件为切入点,整合基础地理信息时空框架、历史文献、多媒体资料等多种数据,对超媒体数据组织方法及其实践进行了探讨,得出以下结论:

1)提出了OD数据组织方式,即以预定义类为基础,主题类为框架,对象为具体意象,文档为载体的预定义类→主题类→信息成员→文档数据组织方式。

2)以Action为中心,从多种历史文献中抽取了以时间、地名、人物、事件4个时空要素为核心的超媒体关系网络;并构建了“侯景之乱”历史地理超媒体数据库,证明了OD数据组织方式的可行性与有效性。

在历史地理超媒体数据组织方面,仍存在文本信息自动提取能力低下和数据存在冗余的问题,在今后的研究中将探究提升历史文本中事件信息自动识别与提取能力以及减少数据冗余的方法。

猜你喜欢
文档对象数据库
浅谈Matlab与Word文档的应用接口
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
有人一声不吭向你扔了个文档
攻略对象的心思好难猜
数据库
基于RI码计算的Word复制文档鉴别
基于熵的快速扫描法的FNEA初始对象的生成方法
数据库
数据库
区间对象族的可镇定性分析