语义web服务的分析与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语义WEB服务的分析与应用
摘要:WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。
通过在WEB服务中加入语义WEB,即构造WEB语义服务,以克服传统WEB服务语义操作能力的局限,使其支持WEB服务自动发现、执行以及动态智能组合。
关键字:语义WEB服务;WEB服务;语义WEB;OWL-S;
随着网络技术的发展,WEB正由网页的集合转向服务的集合。
面对网络上存在的大量服务,如何检索、使用这些服务,更好地满足用户的需要,成为目前迫切需要研究的问题。
因此,采用一种合适的WEB服务描述方法是必需的。
语义WEB(Semantic WEB)致力于开发“以计算机可处理形式表示信息的语言”,正逐渐成为WEB服务描述的重要方法。
1.WEB 服务中添加语义WEB的必要性
WSDL已经提供了一种面向人理解的语义化描述,但是还不够,为什么?为了使用一个WEB Service,软件实体需要一个计算机可解释的服务描述。
而语义WEB标识语言的目标之一,就是创建这些描述被定制和共享的框架;WEB站点应该使用一个基本的类和属性的集合来声明和描述服务。
WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。
而且WSDL和UDDI技术关注服务功能和接口的静态描述,忽视对服务进行非功能属性的描述,而非功能属性如服务质量正是用户在SOA环境中动态选择服务所关注和必需的。
使用RDFS定义WEB服务本体,并逐层对其进行Agent扩展和QoS扩展,构建WEB服务及其质量本体,克服已有技术只能在设计时对服务接口进行微调以满足用户需求的缺陷,丰富了WEB服务机制的语义描述,使得WEB服务能够被机器理解、对用户透明、被代理自动处理,在语义逻辑上实现WEB服务之间的交互性,而且用户在选择服务时可以同时考虑WEB服务的质量,从而提高服务选择时的灵活性和自主性。
WEB服务基本上采用标准化分类的方式描述服务的功能、提供者以及如何访问服务,如何与之交互。
这种机制对服务的描述能力非常有限,特别是缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。
为了克服上述缺陷,人们将目光投向语义WEB。
在WEB服务描述中加入语义信息可以帮助更好地完成服务的自动发现、自动选择、自动组合以及服务间数据的自动映射和转换
等功能,进一步帮助提高验证、配置、洽谈、合同签订等功能的自动化。
语义WEB服务并不是一种新的技术,它是将WEB服务和语义WEB两种技术结合而产生的语义WEB服务是以语义WEB和本体论为基础的一个重要的应用基础研究领域。
语义WEB服务的目标是:
(l)克服传统WEB服务语义操作能力的局限,使服务成为一种机器可解释的,能够使用智能主体的服务;
(2)支持WEB服务自动发现、执行以及动态组合能够智能地完成;
(3)突破虚拟领域,扩展到现实世界。
语义WEB和WEB服务是语义WEB服务的两大支撑技术。
语义WEB服务标记语言(Ontology WEB Language for Services,OWL-S)是连接两大技术的桥梁,下面我们详细介绍一下OWL-S。
2.OWL-S简介
OWL-S是用OWL语言描述WEB服务的本体。
它也是一种具有显式语义的、无歧义的机器可理解的标记语言,用来描述WEB服务的属性和功能。
在OWL-S中,描述服务的基本信息主要有三类本体:Service Profile,Service Model和Service Grounding,它们分别回答了“服务做了什么”、“服务如何工作”、“服务如何访问”这三个重要类型的知识。
Service 类是对一个声明了的WEB服务的结构化的引用点,每个Service实例将对应一个发布的服务,而Presents,Described by和Supports作为Service类的三个属性,分别将值域映射到上面的Service Profile,Service Model和Service Grounding,如图2.1所示。
2.1 OWL-S模型的顶层本体
1)Service Profile
Service Profile描述一个服务主要包含三方面信息。
(l)服务提供者黄页信息。
比如服务提供者的联系方式。
(2)服务的功能信息。
主要是指服务的IOPE: Input,Output,Precondition,
Effect。
IOPE是OWL-S中的主要内容之一,在Service Model中还会详细描述。
(3)服务的所属分类,服务质量等信息。
Service Profile也提供了一种机制来描述各种服务的特性,服务提供者可以自己定义。
Service Profile最大的特点就是双向的,服务提供者可以用Profile描述服务的功能,服务请求者可以用Profile描述所需服务的需求。
这样服务发现时,Matchmaker可以利用这种双向的信息进行匹配。
2)Service Model
Service Model主要是服务提供者用来描述服务的内部流程。
一个Service通常被称之为一个Process(过程),process分为三类:Atomic Process,Composite Process,
3)Simple Process。
(l)Atomic Process(原子过程)是不可再分的过程,可以直接被调用。
每一个原子过程都必须与提供一个Grounding信息,用于描述如何去访问这个过程。
(2) Composite Process (复合过程)是由若干个原子和复合过程构成的过程。
每个过程由一个Control Construct定义;Control Construct定义了复合过程中每个子过程的执行顺序:OWL-S 中定义的控制流有Sequence,Split,Split +Join,Unordered,Choice,If-Then-Else,Iterate,Repeat-Until这几种。
(3)Simple Process是一个抽象概念,它不能被直接调用,也不能与grounding绑定。
观察一个服务通常可以有不同的粒度,当我们需要关心一个服务的内部细节时,可以将这个服务定义成Simple Process。
一个Atomic Process可以realizes一个Simple process,一个Composite process可以collapse To一个Simple Process。
IOPE是OWL-S中一个非常重要的概念。
IOPE是指Inputs,Outputs,Preconditions,Effects。
类似于程序设计语言中的相应概念。
Inputs和Outputs是指服务的输入和输出,可以理解为数据的变换;Preconditions和Effects是指服务的前提条件和效果,即服务执行前应该满足的条件和服务执行后实际产生的效果,可以理解为状态的改变。
OWL-S中可以定义条件式Outputs和Effects,即只有在某种条件满足的情况下,Outputs和Effects才能产生。
4)Service Grounding
Service Profile和Service Model都是关于服务的抽象描述,而Service Grounding是涉及到服务的具体规范。
简单来说,它描述服务是如何被访问的。
具体的,它需要指定服务访问的协议、消息格式、端口等。
但是OWL-S规范中并没有定义语法成分来描述具体的消息,而是利用WSDL规范。
选择WSDL,一方面是因为WSDL是对具体消息进行描述的重要规范,另一方面因为它具有强大的工业支持。
由于OWL-S利用了WSDL来描述具体的消息,所以在OWL-S和WSDL之间需要进行概念的映射,如图3.6所示。
图2.2 OWL-S到WSDL的映射
OWL-S和WSDL之间需要进行三方面的映射。
(l)OWL-S的Atomic Process映射到WSDL的operation;
(2)OWL-S中Atomic Process的Inputs和Outputs映射到WSDL中的message;
(3)OWL-S中Inputs和Outputs的类型(OWL Class定义)映射到WSDL中的abstract type(XML Schema定义)。
3.语义WEB体系结构
图3.1 语义WEB体系结构
语义WEB体系结构包括七层,各层的基本功能和相互关系如下:
(1)URI和Unicode层:WEB环境下的应用之间不可避免地需要相互通信,以机器可读的格式传递或发布信息。
这些信息中很大一部分是对WEB上资源的描述,因此,首先应该以明确的方式来标识这些资源。
语义WEB采用统一资源标识符(Uniform Resource Identifiers,URI)来标识资源及其属性,URI是Internet标准。
UFI包含了统一资源定位符(Uniform Resource Locator,URL)和统一资源名称(Uniform Resource Name,URN),即URI=URL+URN。
URI和URL、URN的区别在于,URL唯一标识资源的位置,描述资源的位置信息(Where);URN唯一标识资源的名字,描述资源的名称信息(What),URI泛指所有以字符串标识的网络资源。
另外由于语义WEB的最终目的是要构建一个全球信息的网络,在这个网络上应该涵盖各种语言和文字的信息资源,因此采用统一编码Unicode作为字符的编码方案。
它保证了使用的是国际通用字符集,实现了网上信息的统一编码。
这一层是整个语义WEB 的基石,它着眼于解决WEB上资源的定位和跨地区字符编码的标准格式的问题。
(2)XML、Namespaces、XML Schema层:在URI和Unicode层次之上,是XML及相关技术层。
可扩展标记语言Extensible Markup Language,XML)是一种标记语言。
所谓“标记”是指计算机能理解的符号信息。
XML允许用户根据需要自定义一些“有意义的”标签,对所发布信息的内容进行标记,并使用文档类型定义(Document Type Definition,DTD)或XML Schema来约束这些标签的结构。
由于XML标签可以由用户根据自己的需要来定制,这样不可避免地会造成标签同名的情况,为了避免这样的冲突,W3C采用了命名空间机制。
该层定义了万维网中数据交换的格式,即基于XML的标准进行数据交换和集成。
(3)RDF、RDF Schema层:XML层之上是数据互操作层RDF和RDF Schema。
该层用于描述万维网上的资源及其类型,为网上资源描述提供一个通用框架和实现数据集成的元数据解决方案。
RDF是用于表达关于万维网上的资源的信息的语言。
它专门用于表达关于WEB 资源的元数据,比如WEB页面的标题、作者和修改时间,WEB文档的版权和许可信息等。
RDF本身并没有规定语义,但是它为每一个资源描述体系提供一个能够描述其特定需求的语义结构的能力。
从这个意义上来说,RDF是一个开放的元数据框架。
这个元数据框架定义了一种数据模型,可以用来描述机器能理解的数据语义。
RDF Schema规范用RDF进一步定义了建模原语,提供了RDF模型中使用的一个基本类型系统。
这个类型系统有些类似于面向对象的编程语言。
RDF和RDF Schema一起共同构成了语义WEB的数据层。
(4)Ontology层:该层用于描述各种资源之间的联系,本体揭示了资源本身以及资源之间
更为复杂和丰富的语义信息,从而将信息的结构和内容相分离,对信息做完全形式化的描述,使得网上的信息具有可理解的语义。
WEB本体语言OWL是一种定义和实例化“WEB本体”的语言,定义了RDF描述中使用的词汇的语义,是计算机理解万维网上资源的基础,因此是语义WEB的核心。
(5)Logic层:到目前为止,利用RDF/RDFS以及对RDFS进行扩展的一些知识本体语言可以对WEB上的资源内容做出描述。
仅有这些描述还远远不够,基于语义的WEB应用还需要根据特定的规则从这些描述性的知识中进行推理。
逻辑层的目标就是提供一种方法来描述规则,为智能推理提供基础。
目前存在多种方法,其中语义WEB规则语言SWRL (Semantic WEB Rule Language)已经提交给W3C作为标准参考,有望成为逻辑层的标准语言,它直接扩展描述逻辑,支持Horn规则,允许类和属性出现在规则的前提和结论部分。
(6)Proof层:证明注重与提供机制,证明层执行逻辑层产生的规则,并结合信语义WEB 服务自动组合方法研究任层的应用机制来评判是否能够信赖给定的证明。
这部分内容在概念上目前还没有一个公认权威的说法,但是语义WEB的研究者普遍认为证明和信任将是下一代WEB的重要概念。
总的来说,语义WEB环境下的应用在事实的基础上,通过应用逻辑推理,得出某种结论。
这种推理的每一步对用户来说,都应该是可见的,或者说应该是可查的。
这个推理的过程,就是一种证明,推理最后得出结论也应该是可以信任的。
(7)Trust层:顶层的信任注重于提供信任机制,以保证智能Agent在网上进行个性化服务和多Agent交互时,提供可靠、安全的机制。
语义WEB将赋予信息资源更明确、更完备的语义,使得计算机能够对WEB资源进行理解,进而实现WEB数据和WEB服务处理的语义化和智能化,将WEB构建为功能强大、普适的信息集成和交换平台。
语义WEB的实质就是增强WEB资源的语义表示,包括对WEB资源的内容意义和功能能力进行描述,使得语义得以显式的表达,以满足分布式主流计算环境语义互操作性的需要。
下面分别介绍语义WEB的关键技术,主要包括资源描述框架RDF技术和本体描述语言OWL技术。
4.WEB服务对语义的需求
WEB服务使得WEB向着一个基于Internet的计算平台发展。
然而现在的WEB服务标准(UDDI、WDSL、SOAP等)的描述能力有限,限制了对WEB服务的自动查找、发现、匹配和整合。
实现WEB服务发现、调用和组装的自动化的过程中面临两个关键问题:首先,对于服务发现,不能仅仅依赖关键词查询服务,而需要按照服务所提供的功能搜索,这样才能
找到确实需要的服务。
而服务的功能不可能依靠若干关键词完整表达。
其次,对于服务调用和服务组装自动化,需要基于语义的互操作。
也就是说,服务之间必须能够理解互相交换的信息。
即使一个服务的输出参数和另一个服务的输入参数名字相同,类型也相同,也不能将它们连接起来,因为我们无法保证两个参数的含义是相同的。
随着语义WEB技术的发展,我们拥有了一些本体描述语言(例如OWL)。
选择其中具有恰当的表达能力和可计算性的部分并且将其应用到对服务的语义描述上,将使得对WEB服务的自动查找、发现、匹配和整合成为可能。
5.语义WEB服务描述语言
如果想要在语义层次上利用WEB服务所带来的好处,软件代理需要一种关于WEB服务的计算机可处理的服务描述,利用这种描述来进行相关操作。
目前语义WEB服务的士要方法是利用由一些基本的类和特征组成的本体来描述WEB服务。
然后通过这些带有语义信息的描述来实现WEB服务的自动发现、调用和组装。
OWL-S(WEB Ontology Language of Services)就是定义了一些这样的本体,这些本体基于OWL用以在语义上描述WEB服务。
语义WEB技术和WEB服务是语义WEB服务的两大支撑技术。
OWL-S是连接两人技术的桥梁,目前语义WEB服务的研究主要围绕OWL-S展开。
OWL-S是用OWL语言描述的WEB服务的本体。
OWL-S为WEB服务提供者提供了一个核心标记语言结构集用以清晰地、计算机可理解的形式描述其WEB服务的特征和能力。
6.WEB服务如何运用与语义WEB
动态资源静态资源
WEB服务语义WEB服务WWW语义WEB 可互操作语法可互操作语义
图6.1 语义WEB服务
由于WEB服务可以增值,它类似于网页,只是更难于发现。
语义WEB技术是解决WEB服务发现问题所必需的。
现在有若干个正在进行中的、旨在产生语义WEB支持的WEB 服务研究,如下图展示各种可以组合形成语义WEB服务的分支。
WEB服务适应语义WEB的第三种途径是使WEB服务能够与其他的WEB服务可以互相作用,高级应用系统涉及WEB服务的比较、合成、控制,它要求用于这种相互作用的语义WEB是自动化的。
7.语义WEB服务应用举例
在语义WEB的理论基础确立后,研究人员一直在努力寻求一种好的应用实现方案。
随之,出现了语义WEB与WEB服务的紧密结合。
WEB服务(WEB Services)技术是传统WEB 应用技术向深层次发展的必然结果,它力图构建一种Internet松散耦合环境下WEB服务的描述、发现、调用以及集成的通用框架模型。
传统的搜索引擎均基于现有的WWW网络。
语义WEB和语义WEB服务技术的逐步成熟和完善,势必推动搜索引擎技术向更高层面发展。
7.1搜索引擎的发展状况
搜索引擎是互联网的主要应用之一。
根据2007年CNNIC的互联网调查报告,有超过四分之三的互联网用户使用过搜索引擎。
搜索引擎技术现已从第一代的目录搜索发展,到第二代基于关键字的搜索,并正逐步走向现今仍处于发展中的第三代精准与智能化搜索。
对于第三代搜索引擎的严格界定,目前学术界尚未形成共识。
诸于垂直搜索、P2P搜索、智能搜索等概念都曾被纳入到此范畴。
笔者认为,第三代搜索引擎至少应在语义化、精准化、智能化等方面提高用户满意度和改善用户体验。
从某种程度上来讲,第三代搜索引擎应是基于语义WEB的搜索引擎。
语义搜索引擎通过准确理解用户的搜索意图和搜索内容的含义,返回给用户更加准确和全面的搜索结果,以提高信息的查准率和查全率。
7.2语义WEB发展推动下的搜索技术
目前常用的搜索引擎信息检索系统主要基于人工分类目录或关键词匹配。
前者对海量信息资源的揭示效率低下、深度有限;后者在信息的语义和语用的揭示上有局限性。
搜索引擎检索系统在智能精准处理能力上的落后,导致这些系统目前还远不能满足用户的需求。
因此,
如何解决好诸如信息组织、知识表示、机器理解与人机交互等问题,对于提高信息利用的效率是非常重要和迫切的。
语义WEB的提出和发展为解决这些问题提供了契机。
语义WEB中的资源被结构化,能够被计算机所理解和识别,从而提供了改进传统搜索技术的机会。
语义检索的目的是通过从语义WEB上获取的数据增强并改进传统的搜索结果。
它实现了用户检索请求的本体化,整个搜索引擎像领域专家一样,不仅快速给出查询结果,还给出了与检索请求相关的资源,从多种来源收集可读数据,并推理出新的事实,大大提高了检索的精度和覆盖率;实现了本体层次的检索,突破了关键词检索局限于形式的固有缺陷。
它的出现提高了用户的满意度,减少了不相关的返回结果,提高了检索的精度和覆盖率。
语义WEB络的建立使得以语义为基础的搜索引擎同时可以建立起来。
在语义搜索引擎中,每一个查询都在一些本体的上下文范围内执行,来自本体的一些指南可以提高检索的准确性。
在语义检索中,使用的是概念匹配,即自动抽取文档的概念并加以标引,用户在系统的辅助下选用合适的词语表达自己的信息需求,然后在两者之间执行概念匹配,即匹配在语义上相同、相近、相包含的词语。
7.3语义搜索当前的应用
当前基于Ontology的语义检索系统已经得到了广泛的关注和应用,并出现了一系列优秀的应用系统。
其中典型的有:语义WEB中的基于蜘蛛网的检索系统SWOOGLE,该系统从每个搜索到的文本中抽取本体,根据本体之间的相关度来比较文本之间的关系;TUCUXI(Intelligent Hunter Agent for Concept Under-standing and LeXical ChaIning),该系统根据查找的本体在网页上爬行,决定哪种网页最满足需求。
特别的,TUCUXI判断文档相关性的方法是将用户所查询的相关本体同语义地图相比较,采用MOMIS公用字典来表征用户查询的本体。
在语义WEB中,除了基于Ontology的语义检索搜索引擎;如SHOE、Onto Broker、Onto Seek、WEBKB外,近年来还逐渐出现了面向普通用户的语义搜索引擎,如Powerset、Hakia、Zitgist、Clusty等。
8.语义WEB服务优缺点
语义WEB作为万维网研究的重点,其核心层——本体有广泛的应用领域。
将本体与WEB服务及服务质量相结合,具有如下优点:
1)从WEB服务机制的角度看,语义WEB中最重要的WEB资源之一是网络服务,使用本体技术构建WEB服务及其质量的本体,最显著的提高是增强了WEB服务机制的语义性,
软件代理可以自动地发现、调用、合成、提供网络服务,并对网络服务的执行进行监控,从而赋予软件代理更多的智能、移动性和互操作性,为形成大规模的基于代理的分布式计算环境打下基础。
2)从WEB服务供给与需求的角度看,对WEB服务尤其是它的质量进行本体描述,并将二者整合起来,将使WEB服务的提供者和用户直接受益。
将服务质量连同服务一同考虑,服务供给方一方面会为提高服务质量而不断努力,另一方面会全方位地为用户着想,不仅要为其提供高质量的服务,而且还要为其提供个性化的服务。
服务需求方则在比较透明的服务消费环境中改变自身的弱势地位,在一定程度上增强了主动性和主导性。
3)从信息组织的角度看,WEB服务及其质量的本体描述是适应于数字化、网络化环境的一个特殊的信息对象。
之所以特殊,是因为这样一个由本体描述的信息对象不仅封装了信息内容(封装在服务本体内),还封装了关于内容的描述信息、组织机制、管理控制机制(评价、效用、隐私、权益等封装在服务质量本体内)等,这种封装机制体现了“每一类信息对象的描述信息、组织机制、管理控制机制等本身也是信息对象,从而形成逐层递归的数字化对象网络,并通过关联关系对各个层次的对象进行关联、解析、组织”的现代信息环境下,信息组织的思想。
基于本体构建的WEB服务及其质量本体,下一步的工作可以从下面两个方面依次开展。
首先站在服务提供方的立场,兼顾考虑用户以前的行为习惯及其对服务质量的要求,建立一套基于WEB服务及其质量本体的主动获取用户服务需求的算法。
然后,在此算法的基础上试图提出一个基于本体和代理的动态选择、合成服务的框架。
9.总结
在当前WEB Service应用领域中,已经发展了相关的标准,比如UDDI 、WSDL.但它们都不是基于语义的。
UDDI的搜索机制依赖于事先定义好的按照关键字建立起来的分类,因此,尽管Agent 能够搜索UDDI注册中心并检索服务描述,但在这个过程中必须有人参与以理解服务描述的语义并编写服务的访问接口。
WSDL作为接口的描述语言,和UDDI 紧密相联,和DAML-S类似,它试图把服务分门别类,用抽象的术语进行定义,使用具体的数据格式和协议进行实现,而且定义了抽象描述和具体实现间的绑定。
但是,其对服务的抽象级别比DAML-S低;而且,它对服务的描述上也不像DAML-S那样具有表现力,前提特性(Precondition)和结果(Effect)特性等不能在WSDL中有所反映。
虽然语义WEB并不是一种全新的网络,但具有强大革命性,是对现有万维网的自然扩展。
语义WEB对社会的影响在于它使得计算机可以通过网络与人们进行更好地协同工作,智能化地完成各种任务。
基于语义WEB的搜索引擎,使分散于全球成亿万级别的独立数据库融合,最终使用户能独立运用在Internet上储存的庞大信息资源。
尽管语义WEB现今还处于研发阶段,但其在互联网搜索引擎中已开始得到应用,它是未来搜索引擎发展的必然方向。
参考文献
[1]张大陆,刘畅.Web服务语义描述的架构[J].计算机工程2004.1.
[2] 王欣,张晓林.应用OWL_S实现Web服务的语义描述[J].现代图书情报技术.2005,2.
[3]胡世港.语义Web与下一代互联网搜索引擎[J].软件导刊.2008,4.
[4]刘华文,申春,杨冬,刘磊.语义Web服务基础技术研究综述[J].吉林大学学报(信息科学版).2010,1.
[5]林鸿,孔庆鸥,郑山红.基于语义的Web服务发现的研究[J].吉林省经济管理干部学院学报.2007,10.。