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

文档序号:9417359阅读:来源:国知局
已定义的语义映射作为种子,借助其他关系型数据库与该关 系型数据库的模式映射,则可以得到新的关系型数据库与给定关联数据本体之间的语义映 射,从而有效地提高了生成语义映射的效率。
[0033] 图3显示了图2中所示的步骤S230的一个实施例的流程图。
[0034] 在步骤S310,根据从第一 RDB到关联数据的本体的第一语义映射,获得关于该第 一语义映射的内部模型表示。其中,该内部模型表示可以采用基于逻辑的表示、基于图结构 的表示或者其他形式的内部模型表示。这里并不限于任何特定的内部模型表示,而是可以 采用本领域技术人员所知晓的任何内部模型表示。
[0035] 在步骤S320,根据从第一 RDB到第二RDB的模式映射,获得关于该模式映射的内部 模型表示。同样,该内部模型表示可以采用基于逻辑的表示、基于图结构的表示或者本领域 技术人员所知晓的其他形式的内部模型表示。
[0036] 在步骤S330,合成关于第一语义映射的内部模型表示以及关于模式映射的内部模 型表示,以获得合成的映射的内部模型表示。例如,对于基于逻辑的内部模型表示,可以将 第一语义映射的逻辑表示与模式映射的逻辑表示进行逻辑消解,来实现映射的合成。对于 基于图结构的表示,则可以将两个图结构表示进行图结构的合并,来实现映射的合成。根据 本发明的一个实施例,可以通过图遍历的方式来进行图结构的合并。
[0037] 在步骤S340,对所合成的映射的内部模型表示进行编译,以获得从第二RDB到关 联数据的本体的第二语义映射。例如,根据本发明的一个实施例,对于基于图结构的表示, 可以对合成的图结构表示通过图遍历的方式来进行编译。
[0038] 本领域技术人员可以理解的是,上述方法可以以软件方式实现,也可以以硬件方 式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以 软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种用于自动 生成语义映射的系统。即使该系统在硬件结构上与通用处理设备相同,由于其中所包含的 软件的作用,使得该系统表现出区别于通用处理设备的特性,从而形成本发明的各个实施 例的装置。
[0039] 图4显示了根据本发明的一个实施例的用于自动生成语义映射的系统的方框图。 其中,该系统包括:语义映射获取模块410,被配置为获得从第一 RDB到关联数据的本体的 第一语义映射;模式映射获取模块420,被配置为获得从第一 RDB到第二RDB的模式映射; 语义映射生成模块430,被配置为根据该第一语义映射以及该模式映射,生成从所述第二 RDB到所述关联数据的本体的第二语义映射。其中,语义映射获取模块所获取的语义映射可 以是采取已知的任何方式生成的。例如,可以是通过手工定义的方式生成的,也可以是通过 其他已有方式生成的。模式映射获取模块所获取的模式映射也可以是利用已有的任何技术 来实现的关系型数据库之间的模式映射。
[0040] 根据本发明的一个实施例,语义映射生成模块430还可以进一步包括如下模块: 语义映射处理模块432、模式映射处理模块434、映射合成模块436、映射编译模块438。
[0041] 其中,语义映射处理模块432被配置为根据从所述第一 RDB到所述关联数据的本 体的第一语义映射,获得关于所述第一语义映射的内部模型表示。模式映射处理模块434 被配置为根据从所述第一 RDB到所述第二RDB的模式映射,获得关于所述模式映射的内部 模型表示。映射合成模块436被配置为合成关于所述第一语义映射的内部模型表示以及关 于所述模式映射的内部模型表示,以获得合成的映射的内部模型表示。映射编译模块438 被配置为对所合成的映射的内部模型表示进行编译,以获得从所述第二RDB到所述关联数 据的本体的第二语义映射。
[0042] 下面将以D2RQ映射为例,参考一个具体的示例描述根据本发明的实施例的各个 模块。为了描述简单起见,这里将从第一个关系型数据库X到给定的关联数据的本体〇的 映射称为D2RQ映射X0,将从第二个关系型数据库Y到第一个关系型数据库X的映射称为模 式映射YX,将从关系型数据库Y到给定的关联数据的本体0的映射称为D2RQ映射Y0。
[0043] 语义映射处理模块根据所接收的D2RQ映射X0,获得关于XO的内部模型表示。该内 部模型表示可以采用基于逻辑的表示、基于图结构的表示或者其他形式的内部模型表示。 这里并不限于任何特定的内部模型表示,而是可以采用本领域技术人员所知晓的任何内部 模型表示。
[0044] 在这里,以基于图结构的表示进行示意性的说明。
[0045] 根据本发明的一个实施例,考虑到D2RQ映射自身可由RDF三元组组成,即〈主语 谓语宾语〉,因此这里将RDF三元组的主语和宾语表示为图上的结点,而RDF三元组的谓 语表示为图上的边。根据本发明的一个实施例,如果RDF三元组的宾语不是统一资源标识 符(URI),而是文字(literal)信息,那么图上相应的是一个空白结点(blank node),并且 该空白结点将指向文字信息里所包括的关系型数据库结点,这里将这种指向的边称之为 IinkToRDB。
[0046] 举例来说,下面显示了一段D2RQ映射,其中每一行代表一个RDF三元组,行间缩进 意味着共用同一个主语。第一行定义了 map: student是一个D2RQ类映射的名称。第二行 定义了它对应的本体类名是onto: Student。第三行定义了它的统一资源标识符模式是参照 "学生"这张表的"名字"这列,特别地,该RDF三元组的宾语是文字信息,内含关系型数据库 的表名Student和列名name。
[0047] map:student rdf:type d2rq:ClassMap ;
[0048] d2rq:class onto:Student ;
[0049] d2rq:uriPattern "Student/@@Student. name@@" ;·
[0050] 经过语义映射处理模块,我们将得到上述D2RQ映射的图结构表示,如图5a所 示。其中上述RDF三元组的主语map:student对应着最下方的结点,右边是该结点通过 边rdf :type指向结点d2rq:ClassMap,意味着这是一个D2RQ类映射。中间是该结点通 过边d2rq:class指向关联数据本体0中的类结点onto:Student。左边是该结点通过边 d2rq:uriPattern指向一个空白结点,继而该空白结点通过边IinkToRDB指向关系型数据 库的结点 Student, name。
[0051] 虽然这里以例子的方式对语义映射处理模块的实现细节进行了说明,但本领域技 术人员可以理解的是,这些仅仅是为了示例的目的,本发明并不限于这些具体实现。
[0052] 模式映射处理模块根据所接收的模式映射YX,获得关于YX的内部模型表示。同 样,这里出于示例性的目的,模式映射的内部模型表示采用基于图结构的表示。
[0053] 与D2RQ映射不同,模式映射自身并没有图结构的特点,出于示例,这里提出如下 的基于图结构的表示方法,但本领域技术人员可以了解的是,这里并不局限于基于图结构 的表示方法,而是可以了用本领域技术人员所知晓的任何表示方法。
[0054] 根据本发明的一个实施例,将每个模式映射名表示为图上的一个结点,将每个关 系型数据库的"表名.列名"表示为图上的一个结点,并且,如果在一个模式映射中"表 名.列名1"和"表名.列名2"共用了同一个变量符号,那么我们引进一个联合结点 (association node),使得该模式映射名对应的结点通过边IinkToAssociation指向该联 合结点,并且该联合结点通过边IinkFromAssociation指向"表名.列名1"和"表名.列 名2"分别对应的两个结点。
[0055] 举例来说,下面给出了一段模式映射,其中Ml是该模式映射名,有两个表名 Undergraduate 和 Student,以及三个列名 idl,id2 和 name。特别的,Undergraduate 表中 的列name与Student表中的列name是共用了同一个变量符合,而Undergraduate表中的 列idl与Student表中的列id2并没有共用任何变量符合。这意味着该模式映射Ml是将 Undergraduate表中的列name映射到Student表中的列name,而保持着Undergraduate表 中的列idl和Student表中的列id2的相对独立。也就是说Ml将本科生的名字映射到学 生的名字,但不保证本科生的ID与学生的ID完全一致。
[0056] Ml: L V'liaim Undergraduate (idl, name)-彐i.d2. Student (id2, name)
[0057] 经过模式映射处理模块,我们将得到上述模式映射Ml的图结构表示,如图5b所 示。其中模式映射名Ml对应着最下方的结点,它通过边IinkToAssociation指向一个联 合结点,继而该联合结点通过边IinkFromAssociation分别指向左边的关系型数据库结点 Undergraduate, name和右边的关系型数据结点Student, name。由于Ml中并没有定义左边 的关系型数据库结点Undergraduate, id和右边的关系型数据结点Student, id的映射关 系,所以这两个结点没有入边或出边。
[0058] 虽然这里以例子的方式对模式映射处理模块的实现细节进行了说明,但本领域技 术人员可以理解的是,这些仅仅是为了示例的目的,本发明并不限于这些具体实现。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1