当前位置:首页 > 基于本体的科学数据库语义集成若干关键技术研究
中国科学院研究生院硕士学位论文 第二章 语义万维网和数据库语义集成
对用户提交的查询语句(如SPARQL)根据语义关系进行重写,转换为对相应数据库的SQL查询,然后再对SQL返回结果进行可能的“语义包装”,最终反馈给用户,主要有两个步骤 [27][28]:
1). 建立本体和数据库的语义映射关系 其语义映射关系是通过所谓的RDF视图来表示,它将每个要集成的关系数据库表看作为本体的一个视图。一个RDF视图有两部分组成:视图头部和视图体。视图头部是关系数据库表模式的说明,而视图体是有一些RDF三元组组成,描述了本体中的概念和数据库模式的语义映射关系。当RDF视图初步建立之后,还会对RDF视图进行一些预处理,如根据RDFS的rdfs:subClassOf、rdfs:subPropertyOf的语义对原RDF视图进行扩展,以及对视图体的三元组按照subject进行分组。
2). 对语义查询语句进行重写 首先需要对语义查询语句进行预处理,这包括对语义查询中的三元组进行Skolem化,和对三元组按照subject进行分组。经过预处理之后,就可以用查询语句的三元组和预处理后的RDF视图进行匹配,得到匹配后的视图头部集合,利用这个就能重写出SQL语句。图2-7是一个语义查询语句匹配、转换的过程:
图2-7 Dartgrid语句查询重写示例
Dartgrid是国内利用本体进行数据语义集成具有代表性的研究成果,其有一系列图形工具,帮助用户半自动化注册数据、建立数据和本体的语义映射关系。“中医药数据网格”[29]是Dartgrid的应用成果, 根据[26],此系统已经对中国中医科学院的70多个异构数据库进行集成,其利用的本体有28个类,255个属
17
中国科学院研究生院硕士学位论文 第二章 语义万维网和数据库语义集成
性,9个子类限制和25个子属性限制。但是其有一些局限性,如支持本体的描述语言为RDF/RDFS,而不是OWL, 这就大大限制了本体的描述能力,概念之间的很多关系以及推理能力会因为这种限制而丧失。当然,其不采取OWL可能有其自身原因,一者当时OWL可能还不成熟,再者可能在中医药领域中概念之间的关系本来就不复杂。不过Dartgrid的研究者们意识到了这个限制,支持OWL描述的本体属于其下一步计划。 2.3.5 RDF Gateway
RDF Gateway[30][31]是一个开发和发布语义Web应用的平台,能够帮助人们构建新一代智能语义Web应用。RDF Gateway的设计目标是提供一个完整的收集、查询、转换和发布信息的应用程序平台。RDF Gateway为开发者设计了一个基于服务器端的脚本语言RDFQL。RDFQL是对Javascript的扩展,能对分布式、异构的数据源进行功能强大的联合查询。开发人员可以利用RDF Gateway编写和发布RSP(RDQL Sever Page)页面来构建自己的完整应用程序。RDF Gateway主要有以下几个特点: ? 自带RDF数据库引擎; ? 对分布式数据源进行联合查询; ? 利用推理规则进行数据验证和转换; ? 功能齐全的Web服务器;
? 为开发应用程序提供了集成的查询和脚本语言。图2-8是RDF Gateway
的构架。
图2-8 RDF Gateway架构图
RDF Gateway声称其数据集成功能可以动态的对分布、异构的数据源进行语义集成,该语义集成消除了所有的数据源必须共享一个通用模式的限制。RDF
18
中国科学院研究生院硕士学位论文 第二章 语义万维网和数据库语义集成
Gateway能够在模式之间利用逻辑推理能力进行查询,以至于让用户认为其数据源的模式是被整个系统内其他数据源所共享。如图2-9所示有三个系统A,B,C,其自身的模式分别是customers, employees,和persons。系统C可以以自身的模式person来查询,而RDF Gateway通过RDF模式语义上等价的类和属性进行推理检索,则可以返回用系统A的customer和用系统B的employee的查询结果。
图2-9 RDF Gateway系统集成示意图
下面是RDF Gateway提供的两个数据库集成实例,其中一个数据库source_a有一个表customer, 另外一个数据库source_b有一个表employee。这两个数据库不仅表不相同,而且数据字段也不一样。它们通过中间的RDF 模式形成映射关系如图2-10。
图2-10 RDF Gateway模式映射图
RDF Gateway是一个商业化的开发和发布语义Web应用的平台,从实用的角度,为开发人员提供了一个快速构建和发布语义Web应用的环境,其主要的应用有语义万维网搜索[32]和Nokia语义万维网服务[33]。但其存在的不足(主要是对数据语义集成部分)有:对于不同数据源集成必须用到的RDF模式,没有足够的规定和说明,只能靠开发人员自己去定义,而且一旦RDF模式需要改变或者进化,其会带来一系列的问题;其简单的把数据库表看作一个RDF类,把表
19
中国科学院研究生院硕士学位论文 第二章 语义万维网和数据库语义集成
中的列作为该类的属性,这在很多情况下,从语义层次来讲是不完备的甚至毫无意义的;其数据库模式和RDF模式的映射机制只适用简单的一一对应关系,但实际情况往往复杂得多。 2.3.6 D2RQ
前三个研究成果都是专注于某一学科领域,GEON是关于地学数据的集成,SEMEDA是关于生物学数据的集成,Dartgrid虽然提供一些通用工具,但主要还是专注于中医药领域。D2RQ则不同,其不是关注某个学科领域的数据集成,其主要目标是把传统的关系数据库转化以RDF或者OWL形式描述的语义数据,这样可以通过语义查询语句(如SPARQL[48])对这些“语义数据”进行语义集成检索。
D2RQ[34][40]是德国卡尔斯鲁厄大学研究的一个课题,其前身是D2R MAP[35][39]。它们之间的区别是:D2R MAP是静态的把关系数据转换为语义三元组形式来描述数据;D2RQ是动态的,其通过对语义查询语句重写,转换为对各个关系数据库查询的SQL语句,然后再对结果进行重组,返回用户想要的结果。图2-11是D2RQ的原理图。
图2-11 D2RQ 原理图
D2RQ提供一个声明性的语言,用来定义关系数据库和本体之间的语义联系,其引擎通过分析该语义联系,将语义查询转化为相应数据库的SQL查询,然后再重组SQL查询返回的结果。
上面的程序片断表明数据库Database1中的表Conference和本体中的概念
20
共分享92篇相关文档