一种灾害本体和关系数据库间语义映射构建的方法

文档序号:6606309阅读:183来源:国知局
专利名称:一种灾害本体和关系数据库间语义映射构建的方法
技术领域
本发明属于地球空间信息系统领域,尤其涉及一种灾害本体和关系数据库间语义 映射构建的方法。
背景技术
目前,全球计算机科学领域中关于语义网的研究越来越多。构建语义网的主要目 标是提供一个通用的语义框架,实现数据在不同应用之间的共享和集成。本体作为语义网 的基础,它是领域知识概念化和模型化的一种途径,可以被用来描述数据的语义信息。它的 目标是捕获领域的相关知识,提供对该领域知识的共同理解,确定该领域内共同认可的词 汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇之间相互关系的明确定义。 本体能够在不同的建模方法、范式、语言和软件工具之间进行翻译和映射,以实现不同系统 之间的互操作和继承;它可以对知识的概念和互相间的关系进行较为精确的定义,而不单 是一个存放数据的结构,因此在词语和语义上都比数据库所能表示的信息丰富的多。尽管语义网在诸如信息检索等许多应用领域取得了阶段性成功,但是它距离真正 的实际应用仍有一个很长的过程。其中最为主要的一个原因是目前万维网上绝大多数数据 仍然以关系数据库的方式存储,致使语义网应用程序不能自由地访问和操纵这些数据,从 而限制了语义网的发展。因此,如何在语义网环境下使用现有的存储在关系数据库中的数 据时语义网相关研究中的一个重要问题。关系数据库和本体间的数据互操作问题实际上可以归结为关系数据库模式和本 体间的映射问题。在传统的关系数据库中,关系表的结构及其完整性约束都是由关系数据 库模式定义的,并且关系数据库模式和本体间存在着许多近似的对应关系,例如关系数据 库模式中的表可以对应到本体中的类。因此,实现关系数据库和本体之间数据的互操作性 可以通过构建关系数据库模式和本体间映射的途径来解决。现有的映射工具可以分为两类一是使用映射语言或工具创建数据库与本体之间 的映射规则文件,再通过特定处理器对该文件进行处理;二是直接处理映射规则,未生成映 射文件。生成映射规则文件的方式具有更大的灵活性,不仅可以实现动态映射,而且在数据 库模式修改后,通过简单修改映射文件即可更新映射规则。直接处理映射规则的方式相对 简单,不需要用户进行后续处理,可直接得到映射规则处理后的结果,但这种方法通常都是 一次性完成,即一旦原始数据库经过修改,则需要重新生成映射结果。灾害本体是领域本体,是本体在灾害领域的延伸。它同一般本体的最大差别是涉 及到地里对象的空间关系。后者的各种属性可以存到在关系数据库中。在构建灾害本体和 关系数据库模式间语义映射时,可以参见现有的一些映射方法和工具,但后者不能完全满 足灾害本体和关系数据库模式间语义映射的构建需求。

发明内容
为了解决上述问题,本发明的目的在于提供一种灾害本体和关系数据库间语义映射构建的方法,通过建立关系数据库与灾害本体的映射关系,有效提高了数据的检索效率。为了达到上述目的,本发明提供一种灾害本体和关系数据库间语义映射构建的方 法,所述方法包括步骤1、将数据库与灾害本体通过中间模型建立映射关系;步骤2、从所述数据库中提取出参与灾害本体语义映射的信息,生成关系数据库模 式;步骤3、根据所述关系数据库模式,建立灾害本体与关系数据库模式的映射关系;步骤4、输出得到的所述灾害本体与关系数据库模式的映射关系。优选的,所述方法还包括步骤5、基于所述灾害本体与关系数据库模式的映射关系,自动创建灾害本体的实 例。优选的,所述中间模型为统一建模语言UML图。优选的,所述关系数据库模式和所述灾害本体的映射关系为四元组作为元素构成 的集合{id, S,GD_onto, C},其中id为单元标识符,用于唯一标识该四元组;S和GD_0nt0分别为数据库模式和灾害本体中的元素,且满足P (s) = GD_onto ;C描述数据库和灾害本体之间的关系。优选的,所述灾害本体为{(TA,La, Α),Ra(A, 0A),Ij,其中:TA为事件发生的时刻, La为事件发生的位置,A为灾害事件现象;Ra为灾害事件与其作用对象之间的关系集合,Oa 为灾害事件作用对象,Ia为具体地理灾害事件集合。由上述技术方案可知,通过结合关系数据库内容的具体情况提出了基于数据处理 表达式的语义映射方法,并成功建立了灾害数据库与地理本体的映射关系。与现有方法相 比,该方法不需要改变现有数据库模式,只在必要的时候对数据进行处理,且可以建立数据 库与灾害本体之间对等的映射关系,有效地促进了地理空间信息语义共享和集成,提高了 地理空间数据的检索效率。此外,在映射方法的基础上实现了灾害本体实例自动创建,可以 有效地减少手工创建带来的效率低下极易出错的问题。


图1为本实施例中灾害本体和关系数据块间语义映射构建的方法流程图;图2为本实施例中本体与数据库的构建过程示意图;图3为本实施例中数据库与本体通过中间模型实现建立映射关系的示意图;图4为本实施例中关系数据库模式与本体之间的映射关系示意图。
具体实施例方式为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和 附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释 本发明,但并不作为对本发明的限定。下面为了更好的理解本实施例中的技术方案,首先对本实施例中使用到的以下术 语进行解释
关系数据模式对某一类数据的结构、联系和约束的描述称为数据模式。这里简单 地给出关系数据库模式的一个定义,即一个关系数据库模式(S)由一组关系模式组成,其 中包含数据库的基表结构(T)和完整性约束(C)两个部分。基表结构定义关系(表)的结 构、属性(列)及其数据类型与长度等;完整性约束定义施加在数据上的语义约束。本体,是把有关科学领域的知识、信息和数据抽象成由一个具有共识的对象(或 实体),并按照一定的关系而组成的体系,同时进行概念化处理和明确定义,最后以形式化 表达。灾害本体属于本体的一个种类,是本体在自然灾害领域的延伸,是对自然灾害事 件概念模型明确的形式化描述。灾害本体可作如下定义GD_onto = {(Ta,La,A),Ra(A,0a), IA},其中TA为事件发生的时刻,La为事件发生的位置,A为灾害事件现象;RA为灾害事件与 其作用对象之间的关系集合,Oa为灾害事件作用对象。领域中Ra可以定义为η维笛卡尔积 的子集,即Ra (AijOm) X (A2, 0Α2) X... X (Αη, 0Αη),其中每一个关系Ra表示灾害事件之间的 二元关系。Ia= {Ik|k e Ν,Ν为整数}为具体地理灾害事件集合。Ik为具体的地理灾害事 件,由地理灾害事件概念中的各项属性赋值后形成,包括时间、位置、事件现象以及事件与 其作用对象之间的关系等属性项。关系数据库模式和本体之间的映射可以如下定义给定一个关系数据库模式S和 一个本体GD_onto,二者之间的映射P是由四元组作为元素构成的一个集合{ρ},其中,ρ表 示一个基本的映射单元,可以写成{id,S,GD_onto,C}的形式。id为单元标识符,用于唯一 标识该四元组;S和GD_onto分别为S和GD_onto集合中的元素,且满足P (S) = GD_onto ; C描述S和GD_onto之间的关系,例如,等价关系、包含关系、相交关系、不相交关系等。参见图1,为本实施例中灾害本体和关系数据块间语义映射构建的方法流程图,具 体步骤如下步骤101、将数据库与灾害本体通过中间模型建立映射关系;参见图2,为本实施例中关系数据库映射到本体语义模型的示意图,通过图2所 示的过程可知,本体与数据库拥有的共同基础是现实世界与在此基础上抽象得到的概念模 型。由于无法将灾害本体或数据库还原成现实世界,概念模型则成为本体与数据库拥有的 能实现映射关系的唯一共同基础。概念模型是一种网状模型,它更能直接地描述现实世界。 但概念模型是一种抽象的模型,需要采用某种方式来表达。鉴于在构建本体时已经创建了 UML(统一建模语言)辅助概念模型,而且UML图是一种标准交流工具,可以继续采用该模 型作为实现数据库与本体映射的中间模型(图3)。中间模型以构建灾害本体时创建的UML 辅助模型为基础,在保证语义完整情况下去除与数据库中不相关的概念而生成,最终消除 关系数据库模式和本体在模型上的异构性。步骤102、从数据库中提取出参与灾害本体语义映射的信息,生成关系数据库模 式;提取关系数据库模式的主要目的是将关系数据库中参与灾害本体语义映射的表、 字段、约束等信息提取并显示出来,供定义映射关系时参考使用。如下表所示,提取的地震 灾害数据库表及字段。
5 在此需要做两项复杂处理一是将“房屋建筑(轻微;中等)损坏(M2) ”字段内容 拆分成“房屋建筑轻微损坏(M2)”和“房屋建筑中等损坏(M2)”两项;二是将“地震日期” 和“发震时间”合并成“地震时间”数据项。具体处理方法将在下一步设置数据处理表达式 时介绍。步骤103、根据关系数据库模式,建立灾害本体与关系数据库模式的映射关系;一旦消除了数据库与本体模型之间的差异性,即可在数据库模式与本体概念之间 寻找映射关系。一般数据库中的表总是对应于本体中的概念或对象属性,表的记录则对应 于需要创建的本体实例,表的字段对应于本体中的数据类型属性。由此可建立数据库与本 体之间的映射关系假设函数Map是将数据库模式映射到本体模型时需要处理的表达式;
rR0对于数据库表T,存在Map(T)=彳 其中,Rq为本体模型中对应的对象属性,Cm为
lCM。
本体模型中对应的概念;对于数据库表T的字段Ft,存在Map (Ft) = Rd。其中,Rd为本体模型中对应的数据 类型;并且,对于本体模型的所有属性RM,存在(R0 U Rd) e Rm。经过以上步骤后,即可寻找数据库模式与本体模型之间各元素的对应关系,并设 置相应的数据处理表达式从而建立二者之间的映射关系。如图4所示。步骤104、输出得到的灾害本体与关系数据库模式的映射关系。寻找数据库模式与本体模型的对应关系只是为设置最终的数据处理表达式奠定了基础,仍需要对数据库模式相应的数据内容作必要的处理,才能使二者之间建立对等的 映射关系。在此提取了地震灾害数据库模式、生成了灾害本体的辅助概念模型,并提供了数 据处理函数。以处理“房屋建筑(轻微冲等)损坏(M2) ”字段为例,生成的数据处理表达式 为“StringT0Int(Split(" xinjiang_data.房屋建筑(轻微;中等)损坏(M2) 〃,“;")
)="地震.轻度损坏房屋"”,意即将数据库表Xinjing_data字段“房屋建筑(轻微; 中等)损坏(M2)”的数据内容按符号“;”分割后的第一项结果转换成整型并对等于本体 概念“地震”的属性项“轻度损坏房屋”。执行灾害本体与关系数据库映射工作的研究人员必须同时了解数据库内容和相 应的本体内容,因此在实际情况中,映射工作可能需要本体构建人员、数据库管理人员的共 同参与。本体构建人员需要将本体模型转换成本体概念模型,以供数据库库管理人员参考。 数据库管理人员需要提供数据库相关信息以帮助本体映射人员寻找数据库与本体之间的 对应关系并设置相应的数据处理表达式。步骤105、基于灾害本体与关系数据库模式的映射关系,自动创建灾害本体实例。以投入实际运行的“全国空间信息系统”为实验对象,基于电子政务空间数据库和 灾害数据库数据,进行基于语义映射的灾害本体实例的自动创建。通过二者之间的映射关 系,把数据库中的数据赋值到相应的本体实例中,从而实现本体实例的自动创建。本文定义的映射规则文件格式如下所示。一个完整的类映射由多个数据属性映 射、对象属性映射和一个“实例命名规则”,由此可创建一个完整的灾害本体实例。其中,“实 例命名规则”由“表名.字段名”和字符串组合而成;数据属性映射由“数据属性名”、对应的 “表名.字段名”以及处理表达式构成。对象属性映射即是另外一个完整的本体类的映射。< 类名 >〈[实例命名规则]/><映射关系表达式><数据属性名/><表名.字段名/><处理表达式/></映射关系表达式><对象属性>< 类名 >......</ 类名 ></对象属性></ 类名 >完整映射规则如下所示〈Class value="地震〃 ><InstanceName value=" xinjing_data.地震时间+xinjing_data.参考地 名+'地震'“/><MapExpression><DatatypePropertyName value="严重损坏房jl〃 />
<TabIeCoIumnName value = “ xinjing_data.房屋建筑严重破坏 (M2)〃/><TypeConverter value = “ stringToInt( ‘$1),“ /></MapExpression><MapExpression><DatatypePropertyName value = 〃轻it损坏房 〃 /><TabIeCoIumnName value = " xinjing_data.房屋建筑(轻微;中 等)损坏(M2) “ /><TypeConverter value = “ split( '$1,)
〃 /></MapExpression>......<ObjectProperty value =〃 地震的震中〃 >〈Class value =〃 震中〃 ><InstanceName value = " Xinjiang_data. jft M W fe] +Xinjiang_data.参考地名+'地震震中'“/><MapExpression><DatatypePropertyName value =‘‘参考地名‘‘/>〈TabIeCoIumnName value = " Xinjiang_data.参考地名〃 /><TypeConverter value = “ stringToDouble ( '$1,)〃 /></MapExpression>......</Class></ObjectProperty></Class>读取关系数据库中数据时,仍以灾害本体模型对象中的根节点对象为循环的起始
点,即从“地震”类的开始读取数据。但实例的创建则从本体概念模型中的叶节点对象开始, 即先创建“地震位置”实例,最后创建“地震”实例。创建实例前先根据映射规则中定义的 命名规则判断目标本体中是否存在该实例,如果存在则直接获取该本体实例并将其设置为 相应的对象属性值。如果不存在,则创建该实例,同时记录该实例名,在其父实例创建后将 其设置为对应对象属性的值。灾害本体实例的创建还涉及实例与其他实例之间的关系(即本体中的对象属性) 以及实例命名规则问题。如果将本体概念模型看作一个树模型,则按照从叶节点到根节点 顺序创建本体实例。因为叶节点没有子节点,其关系最简单,最易创建。而根节点的子节点 (包括子节点的子节点,依此类推)最多,其关系最复杂,最难创建。由上述技术方案可知,通过结合关系数据库内容的具体情况提出了基于数据处理 表达式的语义映射方法,并成功建立了灾害数据库与地理本体的映射关系。与现有方法相 比,该方法不需要改变现有数据库模式,只在必要的时候对数据进行处理,且可以建立数据 库与灾害本体之间对等的映射关系,有效地促进了地理空间信息语义共享和集成,提高了 地理空间数据的检索效率。此外,在映射方法的基础上实现了灾害本体实例自动创建,可以
8有效地减少手工创建带来的效率低下极易出错的问题。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
权利要求
一种灾害本体和关系数据库间语义映射构建的方法,其特征在于,所述方法包括步骤1、将数据库与灾害本体通过中间模型建立映射关系;步骤2、从所述数据库中提取出参与灾害本体语义映射的信息,生成关系数据库模式;步骤3、根据所述关系数据库模式,建立灾害本体与关系数据库模式的映射关系;步骤4、输出得到的所述灾害本体与关系数据库模式的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤5、基于所述灾害本体与关系数据库模式的映射关系,自动创建灾害本体的实例。
3.根据权利要求1所述的方法,其特征在于,所述中间模型为统一建模语言UML图。
4.根据权利要求1所述的方法,其特征在于,所述关系数据库模式和所述灾害本体的 映射关系为四元组作为元素构成的集合Ud,S,GD_onto, C},其中id为单元标识符,用于唯一标识该四元组;S和GD_onto分别为数据库模式和灾害本体中的元素,且满足P(S) = GD_onto ; C描述数据库和灾害本体之间的关系。
5.根据权利要求1所述的方法,其特征在于,所述灾害本体为{(TA,La,A), Ra (A, 0A), IA},其中TA为事件发生的时刻,La为事件发生的位置,A为灾害事件现象;RA为灾害事件与 其作用对象之间的关系集合,Oa为灾害事件作用对象,Ia为具体的地理灾害事件集合。
全文摘要
本发明提供一种灾害本体和关系数据库间语义映射构建的方法,属于地球空间信息系统领域,所述方法包括步骤1、将数据库与灾害本体通过中间模型建立映射关系;步骤2、从所述数据库中提取出参与灾害本体语义映射的信息,生成关系数据库模式;步骤3、根据所述关系数据库模式,建立灾害本体与数据库模式的映射关系;步骤4、输出得到的所述灾害本体与数据库模式的映射关系,通过建立数据库与灾害本体的映射关系,有效提高了数据的检索效率。
文档编号G06F17/30GK101916260SQ201010232329
公开日2010年12月15日 申请日期2010年7月21日 优先权日2010年7月21日
发明者刘纪平, 李青元, 栗斌, 王勇, 王振峰, 石丽红, 谭海, 陶坤旺 申请人:中国测绘科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1