一种基于语义查询重写的柔性数据服务组合的方法

文档序号:6612421阅读:146来源:国知局
专利名称:一种基于语义查询重写的柔性数据服务组合的方法
技术领域
本发明涉及针对以web为媒介的数据服务的集成与组合技术领域,主要是一种基于语义 查询重写的柔性数据服务组合的方法。
技术背景当前大多数的Internet数据信息都是通过Web服务的方式来对外发布的,传统的web服 务都是通过固定的输入、输出接口来对外提供信息资源,并且常常需要通过服务组合的方式 来得到用户想要的数据。在本文中,我们把这种对外发布并提供大量数据资源的web服务称 作数据服务,简称DS。随着Internet上的数据资源以几何级的速度增长,这种通过固定的输入、输出接口方式来 对外提供信息资源已经不能满足用户的应用需求。例如, 一个web服务能够提供的个人信息 有名字、年龄、地址、电话号码、电子邮件地址等等,而客户想査询的信息可能只包含名 字及年龄,或者是名字、电话号码和电子邮件地址。这就要求web服务提供灵活的、细粒度 的査询接口,以适应客户这种灵活的、细粒度的查询要求。同时,为了满足这种灵活的、细 粒度的查询要求,由于目前所采用的服务组合技术大都针对工作流的方式进行的,因此不能 满足用户这种灵活査询的要求。为了解决上述的问题,本发明提出了一种基于语义査询重写 的柔性数据服务组合的方法,以满足用户灵活、方便的获得日益增长的Internet上的数据资源。 发明内容本发明要解决上述技术所存在的缺陷,提供一种基于语义查询重写的柔性数据服务组合 的方法,利用该方法,互联网上的用户只要给定所期望的查询请求,就可以自动生成一个可 组合、执行的数据服务序列,依次执行并组合这些生成的数据服务序列,用户就可以得到他 所需要的数据资料。本发明解决其技术问题所釆用的技术方案这种基于语义查询重写的柔性数据服务组合 的方法,主要包括以下步骤(1)、数据源数据本体模型的建模与发布; (2) 、数据源数据服务(DS)模型的建立与发布;DS模型采用OWL View来描述DS的内 容及能力,并且OWL View通过图的方式来表示各个DS输入、输出参数之间的语义关系;(3) 、用户输入査询请求并将査询请求发送给查询重写器;(4) 、查询重写器调用基于图模型的DS的匹配算法,找出可用于完成査询要求的候选DS 集;(5) 、在候选DS集的基础上,调用DS组合执行器;(6) 、 DS组合执行器调用基于査询重写的DS组合算法,找出一个可完成査询要求的、可 组合的DS序列;(7) 、按照最后生成的DS序列,依次执行并组合数据服务,得到用户想要查询的数据集, 并返回用户査询结果。本发明中用户所拥有的数据源数据是通过DS服务并且以语义本体图的方式向外发布的, 并且DS的内容和能力的描述分别用于DS的筛选及组合。 本发明上述步骤(4)中匹配步骤(3.1) 、对接受到查询请求进行分割,切割后的查询请求的每一子块对应于一个图;(3.2) 、把切割后对应的查询子块存储在一个查询子块缓冲池中,用于下次匹配时使用;(3.3) 、用切割后每个子块对应的图与DS集合中每个DS的内容描述图进行匹配,如是某 个DS的内容描述图的子图,则这个DS是这个査询子块所对应的候选的DS,如其中某个 查询子块找不到对应的DS,则查询无法执行;(3.4) 、重复上述的匹配步骤,直到所有的査询子块都处理完毕。本发明中步骤(6)中组合执行器的组合步骤 (4.1 )、从当前查询子块所对应的候选DS及此DS的能力描述选取符合要求的DS;(4.2) 、从与当前査询子块相邻的下一个査询子块所对应的候选DS中选取一个符合要求的DS;(4.3) 、对这两个DS进行检验,如后一个DS的输入包含有前一个DS服务的输出,则说 明此组合是可执行的,算法继续;(4.4) 、重复上述的匹配步骤,直到算法停止。本发明中基于查询重写的数据服务组合方法的步骤如下
(5.1) 、根据客户提供的数据模型建立DS组合时要使用的语义本体映射模式;(5.2) 、根据建立的本体映射模式实现对数据服务模型的内容描述及能力描述;(5.3) 、根据用户给定的査询请求,基于图模型的DS的匹配算法找出一些可用于完成查 询要求的候选DS集合;(5.4) 、根据基于査询重写的DS组合算法找出一个可完成査询要求的、可组合的DS序列;(5.5) 、用户根据生成的相应的DS序列,依次调用执行并进行组合,最终把结果返回给用户。本发明有益的效果是本发明与现有的服务组合的方法相比,特别考虑了用户查询信息 的灵活性和任意性,以及当前的web服务都是通过固定的输入、输出接口来对外提供数据资 源的特点。现有的web服务提供了一种以通用为目的、可扩展、具有联合协作性的架构,并 且采取的web服务组合方法也大都针对工作流或AI规划的方式,他们都没有考虑数据层面 的一些特性,如异构性。因此,不能提供灵活的、细粒度的语义数据服务查询接口。本发明 提出了一种基于语义查询重写的柔性数据服务组合的方法,采用此方法1、有效提高了用户 查询请求的灵活性;2、数据源的描述更加精准,对外提供更加细粒度的査询接口; 3、采用 图匹配的方法,大大提高了服务组合的效率;4、采用数据驱动的数据服务组合方法。


图1是本发明整个系统的框架示意图;图2是本发明用RDF视图封装、采用Web服务方式发布的各个网站提供的数据资源的 本体模型描述示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步介绍 本发明的核心思想是对包含有异质异构数据资源的数据源定义一个统一的、 一致的领 域本体模型,用于表达此数据源数据的语义信息。在此基础上,数据提供者对外提供数据服 务,以此来对外发布本数据源的数据,我们通过语义本体的描述方式来描述数据服务的内容 和能力。当用户提出查询请求时,系统提供的査询重写器与DS执行器通过数据服务内容和
能力的语义定义及查询请求的语义描述生成并执行能够完成用户查询请求的服务序列,通过 组合及执行此服务序列来完成用户的查询请求。下面先介绍本发明所述方法所假设的示例应用场景及有关概念。我们考虑这样一种应用场景有一个Linkedln网站,提供DS,其提供的内容有在此网 站上注册用户的个人资料信息、及用户所在组织的组织信息;有一个Eventfiil.com网站,其 提供的内容有在此网站上注册登记的组织或团体的事件及活动的相关信息;有个Yahoo Upcoming网站,其提供的内容有在此网站上注册登记的组织或团体的事件及活动的相关信 息;有YahooLocal网站,其提供的内容有世界各地的经、纬度信息;有BBC-Weather Centre网 站,其提供接下来一周各地的天气信息;有BBC — Weather Centre网站,其提供接下来5天 各地的天气信息;有CNN.Com网站,其提供接下来9天各地的天气信息。我们假定这些网 站上的原始信息是以关系数据库的方式存储的,因此,首先我们必须对这些网站上的数据信 息进行封装,并以Web服务的方式对外进行发布。首先,我们要对这些以关系表方式存储的数据信息进行封装发布。我们通过语义本体的方式来实现这类信息的封装与发布,目前,数据集成领域关于模式间 映射关系构建的基本方法主要有两种GAV(Global-as-View)方法和LAV(Local-as-View)方法GAV方法是将各本地数据源的局部视图映射到全局视图,即全局模式被描述为源模式上 的一组视图。用户查询直接作用于定义在数据源模式上的全局视图。GAV方法的优点是査询 效率比较高,缺点是用这种方法构建出来的映射关系的可扩展性较差,不适合数据源存在动 态变化的情况。因为一旦有任何一个局部数据源发生改变,全局视图都必须进行修改,维护 起来较困难,开销也比较大。AlonY.Levy等提出了一种新的、更适合数据源特点的视图映射关系构建方法,后来被称 为LAV方法。LAV方法是将全局视图映射到各数据源上的本地局部视图,即用全局模式上的 视图来描述各数据源模式视图。当用户提交某个査询时,査询系统通过整合不同的数据源视图 决定如何应答査询。这种方法可看做利用各个本地视图来重写原始查询。此方法的优点是数 据源的可扩展性好,适合于数据源变化较大的情况。本发明即是采用LAV的方法来描述我们 的数据源信息。
我们通过采用RDF View模式来表示各类视图,即用RDFView来表示LAV,此方法有如 下两个优点第一,数据源的集成变得更加简单容易了。由于我们只要用RDF图就可以描述各个本地数 据库,不必再描述用户査询时需要考虑的各数据源之间的关系。基于这种特性,当有新的数 据源要加入进来时,数据集成系统变得非常容易,因为每个视图仅描述这个数据库的内容。 在涉及到成百上千个数据源进行集成时,人们常常需要去除旧的不用的数据源,加入新的数 据源,所以这个特性在数据集成吋显得是极其重要的。第二,对数据源的描述更加精确了。因为数据源的描述能力在基于视图的查询重写过程 中起着至关重要的作用,因为如果系统提供的数据源的描述能力非常强,那么系统就能够选 取一个最小数量的数据源集合来回答一个特定的査询请求,从而比较节省査询的时间和开销。我们从两个方面来描述DS:—是描述DS的内容,另一是描述DS的能力。首先,我们采 用RDFView来描述DS的内容,RDF View包括两部分 一个是View头, 一个是View体。 View头只用来标识RDF View,不具有实质性的内容,RDF View体才真正描述DS的内容。 DS的内容描述是在服务组合时用于选出候选DS。除了描述DS的内容之外,我们还描述了 DS的能力,DS的能力描述主要用于査询重写时能够组合成可执行的服务组合。接下来我们来详细说明应用本发明时的具体实施过程-首先,首先根据关系数据库中的数据模型实现数据从关系数据库模式到本体模式的语义 映射,并实现数据服务(DS)的建立。假设LinkedIn网站的关系数据库中有个关系表Person,里面有字段:pid,pname, age, page: oid,我们可以实现关系数据库模式到本体模式的语义映射并对包装和提供此数据信息的数据 服务(DS)进行内容和能力的描述如下-Linkedln网站提供服务的内容描述如下DSi <{ pid, pname, age, page, oid},{ pid, pname, age, page, oid}>:( pid, rdf:type, :Person), ( pid, :name, pname), ( pid, :age, age), ( pis, homepage, page)
(7pid, workFor, 7oid》 ( oid, rdf:type,:Organization) DS2<{ oid , oname, ?pid },{ oid , on謎,?pid}>:( oid, rdf:type,: Organization), (7oid, name, 7oname).( oid, locatedln, pid), ( pid, rdf:type, :Place) Linkedln网站提供DS!服务的能力描述如下DSi <{ pid, ?pname, age, page, oid),( pid, pname, age, ?page, oid),(( age, :>= 18)}>:( pid, rdf:type, :Person),( pid, :name, ?pname),( pid, age, age),( pis, :homepage, page)( pid, :workFor, oid).( oid, rdf:type,: Organization) DS2<{ oid , oname, pid },{ oid , oname, pid},{0}>:( oid, rdf:type, : Organization),( oid, name, oname). ( cid, :locatedln, pid),( pid, rdf:type, :Place)图2中其他站点DS的内容和能力的描述同上,其中,DS的能力描述是在其内容描述的 基础上加上此DS所描述数据源中数据所具有的约束条件。这样我们就完成了数据本体模式的 表示,并且实现数据服务(DS)模型。图2中其它站点对应的DS分别为DS3 、 DS4 、 DS5 、 DS6。接着,根据用户给定的所提交的査询请求,基于图模型的DS的匹配算法找出一些可用于 完成査询要求的候选DS,并根据基于查询重写的DS组合算法找出一个可完成查询要求的、 可组合的DS序列。
假设某个用户要査询9月11日刘翔参加上海田径锦标赛时的风速情况,其对应的 SPARQL査询如下<formula>formula see original document page 10</formula>针对上面设想的应用环境,应用我们设计的服务组合算法,上述查询的执行过程如下 首先,根据查询请求及DS的内容描述,我们筛选出候选的DS: 我们的筛选算法如下1、 对査询请求进行切分,切割出后的查询请求的每块对应于一个图2、 对切分后的每个图到DS集中的每个DS的内容描述图进行匹配,如是某个DS的内容 描述图的子图,则这个DS是这个査询子块所对应的候选DS3、 如某个査询子块找不到对应的DS,则査询无法执行4、 重复l、 2、 3步,直到所有的查询子块都处理完毕 通过此筛选算法的执行,我们筛选出的候选DS如下 yl块所对应的DS是DS!, 2y2子块对应的DS是DS2、DS3, 2y3子块对应的DS是DS4, 2y2 子块对应的DS是DSs、 DS6然后,根据DS的能力描述,对筛选出候选的DS排列出可执行的组合序列,最后排列好 的、可执行的DS服务组合序列即是我们重写后的查询方式。
我们的DS可执行组合序列生成算法如下1、 从当前査询子块所对应的候选DS中取出一个,如此DS的能力描述不满足此查询子块 的请求,则取下一个,直到取到一个为止,如没有找到则查询不可执行,算法结束2、 选取当前候选DS所对应的査询子块的下一个査询子块所对应的候选DS中取出一个, 如此DS的能力描述不满足此査询子块的请求,则取下一个,直到取到一个为止,如找到,则转3,否则,査询不可执行,算法结束3、 如找到的DS的输入包含有前一个DS的输出,贝U如当前査询子块是査询请求中的最后一个査询子块,则完成,算法结束, 否则,此DS对应的查询子块为当前的查询子块,转l, 否则,取下一个候选DS,直到取到一个为止,如没有找到则査询不可执行,算法结束 根据此可执行服务组合序列重写算法,我们得到的可组合执行的DS序列如下 DS,, DS2, DS4, DS6,重写后的查询即是对这四个DS进行组合,依次执行即可(前一 个的输出作为下一个的输入)。最后根据生成的DS序列,依次组合、执行各个DS,并把最终结果返回给发出査询请求 的用户。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要 求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
1、一种基于语义查询重写的柔性数据服务组合的方法,其特征在于主要包括以下步骤(1)、数据源数据本体模型的建模与发布;(2)、数据源数据服务(DS)模型的建立与发布;DS模型采用OWL View来描述DS的内容及能力,并且OWL View通过图的方式来表示各个DS输入、输出参数之间的语义关系;(3)、用户输入查询请求并将查询请求发送给查询重写器;(4)、查询重写器调用基于图模型的DS的匹配算法,找出可用于完成查询要求的候选DS集;(5)、在候选DS集的基础上,调用DS组合执行器;(6)、DS组合执行器调用基于查询重写的DS组合算法,找出一个可完成查询要求的、可组合的DS序列;(7)、按照最后生成的DS序列,依次执行并组合数据服务,得到用户想要查询的数据集,并返回用户查询结果。
2、 根据权利要求1所述的基于语义查询重写的柔性数据服务组合的方法,其特征在于 用户所拥有的数据源数据是通过DS服务并且以语义本体图的方式向外发布的,并且DS的内 容和能力的描述分别用于DS的筛选及组合。
3、 根据权利要求1所述的基于语义査询重写的柔性数据服务组合的方法,其特征在于 步骤(4)中匹配步骤(3.1) 、对接受到查询请求进行分割,切割后的查询请求的每一子块对应于一个图;(3.2) 、把切割后对应的查询子块存储在一个査询子块缓冲池中,用于下次匹配时使用;(3.3) 、用切割后每个子块对应的图与DS集合中每个DS的内容描述图进行匹配,如是 某个DS的内容描述图的子图,则这个DS是这个査询子块所对应的候选的DS,如其中某 个査询子块找不到对应的DS,则査询无法执行;(3.4) 、重复上述的匹配步骤,直到所有的査询子块都处理完毕。
4、 根据权利要求1所述的基于语义查询重写的柔性数据服务组合的方法,其特征在于 步骤(6)中组合执行器的组合步骤(4.1) 、从当前査询子块所对应的候选DS及此DS的能力描述选取符合要求的DS;(4.2) 、从与当前査询子块相邻的下一个査询子块所对应的候选DS中选取一个符合要求的DS;(4.3) 、对这两个DS进行检验,如后一个DS的输入包含有前一个DS服务的输出,则说 明此组合是可执行的,算法继续;(4.4) 、重复上述的匹配步骤,直到算法停止。
5、 根据权利要求1或3或4所述的基于语义查询重写的柔性数据服务组合的方法,其 特征在于基于査询重写的数据服务组合方法的步骤如下(5.1) 、根据客户提供的数据模型建立DS组合时要使用的语义本体映射模式;(5.2) 、根据建立的本体映射模式实现对数据服务模型的内容描述及能力描述;(5.3) 、根据用户给定的查询请求,基于图模型的DS的匹配算法找出一些可用于完成査 询要求的候选DS集合;(5.4) 、根据基于查询重写的DS组合算法找出一个可完成查询要求的、可组合的DS序列;(5.5) 、用户根据生成的相应的DS序列,依次调用执行并进行组合,最终把结果返回给用户。
全文摘要
本发明涉及一种基于语义查询重写的柔性数据服务组合的方法,包括以下步骤1.数据源数据本体模型的建模与发布;2.数据源数据服务模型的建立与发布;3.用户输入查询请求并将查询请求发送给查询重写器;4.查询重写器调用基于图模型的DS的匹配算法,找出可用于完成查询要求的候选DS集;5.在候选DS集的基础上,调用DS组合执行器;6.DS组合执行器调用基于查询重写的DS组合算法,找出可完成查询要求的、可组合的DS序列;7.按照最后生成的DS序列,依次执行并组合数据服务,得到用户想要查询的数据集。本发明优点是1.提高了用户查询请求的灵活性;2.数据源的描述更加精准,对外提供更加细粒度的查询接口;3.提高了服务组合的效率。
文档编号G06F17/30GK101158959SQ20071015666
公开日2008年4月9日 申请日期2007年11月12日 优先权日2007年11月12日
发明者吴朝晖, 周林华, 鑫 胡, 陈华钧 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1