用于为关系型数据库自动生成语义映射的方法和系统的制作方法

文档序号:9417359阅读:638来源:国知局
用于为关系型数据库自动生成语义映射的方法和系统的制作方法【
技术领域
】[0001]本发明涉及数据处理,更具体地,涉及用于为关系型数据库自动生成语义映射的方法和系统。【
背景技术
】[0002]数据集成一直是企业数据管理中重要的课题之一,尤以关系型数据集成最为普遍。经典的关系型数据集成需要设计一个全局的数据模式(schema),使得各个局部的关系型数据库RDB(RelationalDatabase)能映射到这个全局的数据模式上。然而,这样一个全局的数据模式往往很难预先设计好,特别是当各个局部的关系型数据库有动态的增加或删减时。因此,数据管理业界逐渐推崇无模式(schema-less)的数据集成方法,其中关联数据(LinkedData)备受重视。关联数据采用资源描述框架RDF(ResourceDescriptionFramework)数据模型,利用统一资源标识符URI(UniformResourceIdentifier)命名数据实体,来发布和部署实例数据和类数据,从而可以通过超文本传输协议HTTP(HypertextTransferProtocol)揭示并获取这些数据,同时强调数据的相互关联、相互联系以及有益于人机理解的语境信息。[0003]通过语义映射(semanticmapping)可以将关系型数据发布成关联数据,例如,常用的语义映射工具有:D2RQ[0004](http://www4.wiwiss.fu-berlin.de/bizer/d2rq/)>SquirrelRDF[0005](http://jena.sourceforge.net/SquirrelRDF)>OpenLinkVirtuoso[0006](http://virtuoso,openlinksw.com/)等等。[0007]关系型数据有模式,而模式由表(table)组成,表由列(column)组成。相应的,关联数据有本体(ontology),而本体由类(class)和属性(property)组成。以D2RQ映射为例,D2RQ提供了两种方式,其一是将关系型数据缺省地发布,这样产生的关联数据的本体是由新定义的类名(即关系型数据库中的表名)和属性名(即关系型数据库中的列名)组成;其二是给定关联数据的本体,将关系型数据指定地发布,使得关系型数据库中的表名和列名与关联数据的本体中已经定义的类名和属性名能够映射起来。对于缺省定义的D2RQ映射,其发布的关联数据常常繁琐而无意义,因此更多的时候是给定关联数据的本体,将关系型数据指定地发布。当面对数百个甚至上千个的关系型数据库需要发布成关联数据时,手工定义D2RQ映射无疑是耗时费力的。同样地,对于其他的语义映射工具也存在这样的问题。【
发明内容】[0008]针对上述问题,希望提供一种用于自动生成语义映射的解决方案。[0009]根据本发明的一个方面,提供了一种用于为关系型数据库RDB自动生成语义映射的方法。该方法包括:获取从第一RDB到关联数据的本体的第一语义映射;获取从所述第一RDB到第二RDB的模式映射;以及根据所述第一语义映射以及所述模式映射,生成从所述第二RDB到所述关联数据的本体的第二语义映射。[0010]根据本发明的另一个方面,提供了一种用于为关系型数据库RDB自动生成语义映射的系统。该系统包括:语义映射获取模块,被配置为获取从第一RDB到关联数据的本体的第一语义映射;模式映射获取模块,被配置为获取从所述第一RDB到第二RDB的模式映射;以及语义映射生成模块,被配置为根据所述第一语义映射以及所述模式映射,生成从所述第二RDB到所述关联数据的本体的第二语义映射。[0011]通过本发明的实施例的方法和系统,可以有效的提高从关系型数据库生成语义映射的效率。【附图说明】[0012]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。[0013]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。[0014]图2显示了根据本发明的一个实施例的用于自动生成语义映射的方法的流程图。[0015]图3显示了根据本发明的一个实施例的用于实现图2所示的步骤的进一步的流程图。[0016]图4显示了根据本发明的一个实施例的用于自动生成语义映射的系统的方框图。[0017]图5a-5c分别显示了根据本发明的一个实施例所获得的各个图结构表示的示意图。【具体实施方式】[0018]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。[0019]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。[0020]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。[0021]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。[0022]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。[0023]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为"硬盘驱动器")。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。[0024]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括--但不限于--操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。[0025]计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,[0026]调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。[0027]在关系型数据库的关系模型中,无论是实体还是实体之间的关系,均由单一的结构关系、即二维表来表不。每个表由行和列组成。表的每一行为一个兀组,每一列为一个属性。属性的值具有相应的数据类型和取值范围。关联数据的数据模型是RDF模型,RDF模型可以用三元组的方法来表示,即主语、谓语、宾语构成。[0028]下面将参考图2描述根据本发明的一个实施例的用于自动生成语义映射的方法。[0029]在步骤S210,获得从第一RDB到关联数据的本体的第一语义映射。其中,该语义映射可以是采取已知的任何方式生成的。例如,可以是通过手工定义的方式生成的,也可以是通过其他已有方式生成的。[0030]在步骤S220,获得从第一RDB到第二RDB的模式映射。其中,可以利用已有的任何技术来实现关系型数据库之间的模式映射。[0031]在步骤S230,根据该第一语义映射以及该模式映射,生成从所述第二RDB到所述关联数据的本体的第二语义映射。[0032]这样,通过利用一个当前第1页1 2 3 4 
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1