Ⅰ 语义web的体系结构
下图描述了语义Web的七层体系结构: 自描述
文档 数据 数据 规则 信任 证明 数
字
签
名 逻辑 本体 RDF+RDF Schema XML+NS+XML Schema 名称空间 Unicode URI 第一层:Unicode和URI。
Unicode是一个字符集,这个字符集中所有字符都用两个字节表示,可以表示65536个字符,基本上包括了世界上所有语言的字符。数据格式采用Unicode的好处就是它支持世界上所有主要语言的混合,并且可以同时进行检索。URI(Uniform ResourceIdentifier),即统一资源定位符,用于唯一标识网络上的一个概念或资源。在语义Web体系结构中,该层是整个语义Web的基础,其中Unicode负责处理资源的编码,URI负责资源的标识。
第二层:XML+NS+xmlschema。
XML是一个精简的标准通用标记语言,它综合了标准通用标记语言的丰富功能与HTML的易用性,它允许用户在文档中加入任意的结构,而无需说明这些结构的含意。NS(NameSpace)即命名空间,由URI索引确定,目的是为了避免不同的应用使用同样的字符描述不同的事物。XML Schema是文档类型定义(外语缩写:DTD)的替代品,它本身采用XML语法,但比DTD更加灵活,提供更多的数据类型,能更好地为有效的XML文档服务并提供数据校验机制。正是由于XML灵活的结构性、由URI索引的NS而带来的数据可确定性以及XMLSchema所提供的多种数据类型及检验机制,使其成为语义Web体系结构的重要组成部分。该层负责从语法上表示数据的内容和结构,通过使用标准的语言将网络信息的表现形式、数据结构和内容分离。
第三层:RDF+rdfschema。
资源描述框架(外语缩写:RDF)是一种描述WWW上的信息资源的一种语言,其目标是建立一种供多种元数据标准共存的框架。该框架能充分利用各种元数据的优势,进行基于Web的数据交换和再利用。RDF解决的是如何采用XML标准语法无二义性地描述资源对象的问题,使得所描述的资源的元数据信息成为机器可理解的信息。如果把XML看作为一种标准化的元数据语法规范的话,那么RDF就可以看作为一种标准化的元数据语义描述规范。Rdfschema使用一种机器可以理解的体系来定义描述资源的词汇,其目的是提供词汇嵌入的机制或框架,在该框架下多种词汇可以集成在一起实现对Web资源的描述。
第四层:“本体词汇”(Ontology vocabulary)。
该层是在RDF(S)基础上定义的概念及其关系的抽象描述,用于描述应用领域的知识,描述各类资源及资源之间的关系,实现对词汇表的扩展。在这一层,用户不仅可以定义概念而且可以定义概念之间丰富的关系。
第五至七层:Logic、Proof、Trust。
Logic负责提供公理和推理规则,而Logic一旦建立,便可以通过逻辑推理对资源、资源之间的关系以及推理结果进行验证,证明其有效性。通过Proof交换以及数字签名,建立一定的信任关系,从而证明语义Web输出的可靠性以及其是否符合用户的要求。
Ⅱ web前端学习路线
您好,web前端的学习路线分为以下8个阶段:
阶段1.前端核心基础
HTML +_CSS核心、JavaScript基础语法、JavaScript面向对象、JavaScript DOM和BOM编程、jQuery框架
阶段2.HTML5 + CSS3 + 移动端核心
HTML5新特性、Canvas专列、CSS3新特性、CSS3进阶、CSS3实例演练
阶段3.移动端
移动端核心、移动端适配、移动端特效
阶段4.服务器端
服务器端开发、数据库操作、前后端交互核心、微信公众号开发
阶段5.JavaScript高级
JavaScript基础深入剖析、JavaScript面向对象深入讲解、JavaScript异步编程、JavaScript函数式编程、JavaScript设计模式
阶段6.前端必备
性能优化、版本控制工具、模块化、项目构建工具
阶段7.高级框架
React框架基本使用、React框架进阶、Vue框架基本使用、Vue框架进阶、Vue源码分析
阶段8.小程序
原生小程序入门、原生小程序API使用、小程序框架Mpvue
希望对您有帮助。
Ⅲ owl的中文意思是什么
OWL(Web Ontology Language)是W3C开发的网络本体语言,用于对本体进行语义描述。
Ⅳ 求问什么是本体(Ontology)转载
Ontology也称为本体,它最初是一个哲学范畴,后来随着人工智能的发展,被人工智能界赋予了新的定义。而在Web飞速发展的今天,Ontology的发展已由哲学、人工智能领域延伸到了图书馆学、情报学等其他各个领域,并受到专家和学者的关注。
Ontology在不同的领域有不同的定义,关注的焦点也不同:
人工智能领域:认为本体是一种知识的人工引擎。但本体究竟是什么仍是争论中的一个话题。美国Stanford大学的知识系统实验室(Knowledge System Laboratory)的学者Tom Gruber在1993年提出了第一个被广泛接受的定义:本体是概念化的显式的表示。之后Studer在Gruber的基础上于1998年扩展了本体的概念,即本体是共享概念模型的明确形式化规范说明。显然后一个定义更能够说明什么是本体。
这个定义的具体含义如下:
概念化:将客观世界中的一些现象抽象出来得到的模型。它是客观世界的抽象和简化。
明确:即显式地定义所使用的概念以及概念的约束。形式化:即精确的数学表述,能够为计算机读取。
共享:本体描述的概念应该是某个领域公认的概念集。
Ontology的种类
在介绍本体描述语言之前,我们先来看一下本体的种类。
Guarino提出了从详细程度与领域依赖度两个方面对Ontology进行划分。详细程度是一个相对的、比较模糊的概念,指描述或刻画建模对象的程度。详细程度高的称作参考(reference)Ontologies,详细程度低的称为共享(share)Ontologies。依照领域依赖程度,可以细分为顶层Ontology、领域Ontology、任务Ontology和应用Ontology四类。
顶层Ontologies描述的是最普遍的概念及概念之间的关系,如空间、时间、事件、行为等等,与具体的应用无关,其他种类的Ontologies都是该类Ontologies的特例;
领域Ontologies描述的是某个特定领域(如医药、地理等)中的概念及概念之间的关系;任务Ontologies描述的是特定任务或行为中的概念及概念之间的关系;
应用Ontologies描述的是依赖于特定领域和任务的概念及概念之间的关系
Ontology的用途
Ontology是共享概念的显示表述。它关注概念之间的内在的语义联系,一般具有交流、互用性、软件工程等三类用途。
交流是指人与人、组织与组织、以及人与组织之间的沟通。Ontology可以提供一组共同的词汇和概念,从而实现交流。在交流活动中,Ontology是一个标准化模型,任何大规模集成软件系统内,各种各样、背景不同的人必须对系统及其目标有一种共同的认识,因此必须建立起标准化模型,否则无法进行沟通;Ontology对软件系统中所用的术语所提供的明确定义,对于同一个事物在系统中有完全一致的认识,而且这种认识也是确定的;通过Ontology可以集成不同用户的不同观点,以形成更加全面完整的看法。
互用性是指系统间协同工作的能力。Ontology可以在完全不同的建模方法、范例、语言及软件工具之间进行翻译和转换,从而实现不同系统之间的相互操作和集成。
Ontology在软件工程方面的作用是从软件系统的设计和开发方面进行考虑的。Ontology可以在可重用性、可靠性、规格说明等方面在软件工程中发挥作用。
从Ontology的这些用途来看,Ontology可用于许多领域,如人工智能、知识工程、知识管理、语义检索、信息检索和提取、企业集成、自然语言翻译等各种信息系统。目前在上述领域中,对Ontology的应用探索开展得如火如荼。
Ⅳ 服务层次的语义描述
服务描述就是对服务的相关信息进行描述,WSDL 并不能很好地表达 Web Service 的语义信息,无法解释其中的标识所表达的语义。而本体具有概念化,明确化,形式化和共享的特点,并且具有的良好的概念层次结构和对逻辑推理的支持能力,因此本节在上一章提出的基于本体的语义网络地理信息服务架构的基础上,采用本体对网络地理信息服务进行标注,实现对服务的语义化描述。
5.4.2.1 地理信息服务的语义标注对象
信息资源和本体之间的关系可以通过一个称为 “标注”的过程得以实现(Lemmens,2006)。这个过程可以看做是信息资源的元数据信息的创建,只不过使用的是本体作为参考框架。因此服务的语义化描述,可以通过在一个良好的框架下,使用合适的方法对其进行标注得以实现。这个框架和方法取决于被标注资源的特性。本节首先介绍了一般服务所具有的一些特征,以及现有的服务语义模型和方法,并在此基础上着重分析地理空间信息网络服务可能存在的语义方面及适合于它的语义描述模型和方法。
地理空间语义可以传递地理空间数据、实体、现象、功能、关系、流程、服务等许多方面的内容,它涵括的范围可以非常广泛(乐鹏,2007)。本研究主要关注于网络地理信息服务的语义描述,从而能够有助于动态和自动的组合异构数据和不同类型的服务来解决实际地理应用问题。因此,为了建立地理空间信息网络服务语义,首先要理解网络服务的语义。
图 5.20 基于本体的网络服务描述(Su et al.,2003)
Su 等(2003)提出的一种基于本体的全面的服务描述模型。从图 5.20 中可以看见,服务的许多特征可以描述和语义标注。为了使得这些特征之间的关系更加清晰,Sheth(2003)把他们划分为如下四类。
(1)数据或信息语义: 数据语义形式化的标明了网络服务输入输出数据的语义。所有的服务都有一系列的输入和输出,服务交互时它们相互衔接就构成了消息流。这些语义信息在服务的发现和互操作上发挥重要作用。然而现有的 WSDL 只能提供数据语法和结构上的细节,这些细节仅仅能够被程序级的远程接口调用。为了智能化的发现服务,必须赋予输入输出数据以定义良好的语义信息。可以通过引用以形式化、显式化的本体语言建立的本体概念对这些输入输出数据进行标注,实现对他们的语义化描述。
(2)功能或操作语义: 操作语义形式化的标明了网络服务功能的语义。这些语义在服务发现和聚合的时候起关键作用。Web 服务期望满足服务请求者需求的服务被发现。但是目前通常用的基于输入输出的匹配并不一定能找到满足功能需求的合适的服务。输入输出的匹配是必要的,但不是充分的。因为,具有相同输入输出的两个服务很有可能具有完全不同的功能。比如栅格数据相加分析和栅格数据相减分析,它们输入都是栅格数据,输出数据类型也都是栅格数据。但是他们却代表完全不同的任务。因此,仅仅依靠输入输出的数据语义表示并不能充分描述服务的功能,它只是部分实现了功能语义。必须考虑接口语义以及功能实际的效用语义才能更好地得意表达。这可以通过对服务的操作的接口参数,前提条件(precondition),后效(effect)等用本体进行标注实现。
(3)执行语义: 显式化地表达服务操作的执行的要求以及执行过程中的信息流和行为流。他们可以用来分析和验证处理过程以及异常处理。这些可以通过状态图,Petri 网,或者活动图来实现。
(4)质量语义(Quality of Service,简称 QoS): QoS 语义提供了选择服务的质量标准,形式化描述了服务的操作度量。通常我们会得到不止一个匹配的服务,那么下一个步骤就应该是选择最合适的服务。每个服务都有自己的质量属性,而服务选择是服务组合非常关键的步骤,因此需要服务语义具有质量语义信息以辅助进行服务选择。这些可以通过 QoS模型来实现。
地理空间信息服务作为一种特殊的网络服务,它在这些方面的语义信息比一般网络服务要复杂得多。这是由于地理信息服务所处理地理数据具有海量、高维、非结构化、复杂的特征造成的。地理信息服务的输入输出通常是一个数据量达百兆的非结构化的遥感影像,而不仅仅是像普通服务那样只是一个字符串。地理信息服务的处理模型也可能涉及多方面的子模型,并且可能是高数据和计算密集型的。这些都使得地理信息服务的语义化标注更加复杂。而由前面的论述可知,海洋数据是地理信息中特殊的一类,具有更加丰富的特性。这使得海洋信息服务的语义化描述更富有挑战性。
通常来讲,全面的找出现实世界对象的所有特征属性非常难,基本上不可能通过属性定义语义的最主要的一个任务就是确定所要选的属性。考虑到本研究中的主要任务是实现地理信息服务的发现和组合; 此外,服务的质量方面的语义特性不明显,更像是一种元数据; 因此本研究中不考虑服务质量的语义。
鉴于 OGC 的服务领域的规范已经被越来越多的组织和个人所接受,已成为行业标准。它们都有明确、标准的开放接口,对它们的调用执行也比较明确,因此我们主要关注于满足 OGC 标准规范的下三类最常用的服务,并从数据/信息方面,功能方面、接口方面对这些服务进行语义标注。对这种服务的描述不应该从服务本身的操作接口来描述,而应该从其实际底层支持的数据或功能的语义来描述。
(1)数据服务: 比如 WFS,WCS。这些服务使得用户通过 Internet 获取远程的地理数据成为可能。对于这类服务,没有必要描述它的内部结构与流程。而只关注其最终提供的数据是什么数据,被抽象成什么模式。因此对这种类型的服务只需从所提供的数据的语义来进行描述,主要包含几个方面来描述: ①专题类型,表示服务是什么数据。②地理形态: 表明地理数据被抽象成什么空间形态。③数据模式: 主要表达数据被抽象成什么数据模型。④数据的时空尺度。通常数据的专题类型和时空尺度是常用的。
(2)地理学处理模型服务: 比如 WPS。它可以使用户通过 Internent 访问远程的处理功能成为可能。对这类服务的语义描述可以从以下几个方面来刻画: ①地学处理模型的分类; ②地学处理的输入输出; ③服务操作的内部结构与流程; ④服务的前提及后效。对这类数据服务的功能分类和内部结构与流程是最关键的。
(3)可视化服务: 比如 WMS。通常用来提供可视化的地图,为用户提供定位功能。这类服务同数据服务很相似,唯一不同的是,数据服务可以获取实际的数据,而这类服务只能获取这些数据的可视化展示结果。因此对这类服务的语义描述,可以参考数据服务的语义描述,主要从以下三个方面来进行。①专题(可能具有多专题)。②时空尺度。③数据模式。同样,对这类服务,也没有必要描述其功能接口、内部结构与内部流程方面的语义。
5.4.2.2 海洋地理信息服务语义标注方法
原则上,对于任何能为网络服务提供语义的语义描述语言都能够用于描述地理信息服务。但是由于不同的描述语言具有各自的特色和侧重点,因此也各有适用面。
当前关于语义网络服务有一些不同的技术方案存在,各有不同的侧重点。关于服务的语义描述目前已经有很多研究工作,比如已经提交到 W3C 的有: OWL-S(W3C,2004)、网络服务建模语言(Web Service Modelling Language,WSML)(W3C,2005)、网络服务本体建模(Web Servie Modelling Ontology,简称 WSMO)(W3C,2005),网络服务语义描述语言(Web Service Descrpition Language Semantic,简称 WSDL-S)(W3C,2005)以及网络服务描述语言的语义标注(Semantic Annotations for Web Service Description Language,简称 SAWSDL)(W3C,2007)。
Hassina Nacer Talantikite 等(2009)从以下六个方面对这些本体语言进行了一个综合性的比较(表 5.1)。
表 5.1 网络服务语义描述方法对比
(1)资源: 语义描述对应的资源(XML Schema,WSDL,UDDI 等)。
(2)属性: 文档中所能描述的属性。功能性如(输入、输出)或非功能属性如实施方法等。
(3)语言: 指语义模型的表达语言。比如 OWL,WSML 等。
(4)标注: 指标注存储于文档内(内部方式)还是独立于文档本身(外部方式)。
(5)模型: 指语义参考的领域模型是内部的还是外部定义的。
(6)匹配: 指匹配算法的类型和对应的一些属性。
通过对比可知,WSMO 逻辑表达不局限于描述逻辑,因此它们没有像 OWL-S 那样建立在 W3C 推荐的标准 OWL 的基础上。WSDL-S 和 SAWSDL 侧重于对 WSDL 元素进行扩展,而没有提供一个描述服务的完整本体框架。许多已有的工作使用了 OWL-S,而且已经有不少软件工具支持 OWL-S,OWL-S 因此成为了很多研究者的首选。
5.4.2.2.1 OWL-S 适用性分析
OWL-S 是基于 OWL 语言的语义 Web 服务的本体描述框架。OWL-S 定义了一组核心语言构件,用于对 Web 服务进行逻辑化描述,所生成的描述文件支持机器理解,从而支持代理程序基于逻辑语义实现对 Web 服务的自动发现、调用、组合及监控。
OWL-S 预先定义了一组用来描述服务的顶层本体(Ontology),通过这些本体让机器能够理解 Web 服务。如图 5.21 所示,OWL-S 的本体由三部分组成: ServiceProfile、Ser-viceModel 和 ServiceGrounding。它们都是关于服务的最本质的描述,分别描述了服务的作用,服务如何工作,以及如何访问服务。
图 5.21 OWL-S 的顶层服务本体模型
Service 类是语义描述的 Web 服务的引用点,其实例将对应一个发布的服务。通过属性 pres-ents、 describedBy 和 supports 与 ServiceProfile、ServiceModel 和 ServiceGrounding 相关联。这三个类的实例从三个不同角度对 Web 服务进行描述,根据所描述的服务的不同,其内容可能大不相同,但都描述了一个 Web 服务的重要内容。
(1)ServiceProfile: 主要描述服务做了什么,对于 Web 服务而言,相当于服务的广告,描述服务的能力; 对于用户而言,是用户需求服务的描述。OWL-S 提供了服务的一个可能的表达 Profile 类(图 5.22 )。Profile 为服务添加三种类型信息: 服务的提供者,服务提供的功能,服务的特征属性。提供者信息包括服务该提供者的联系信息; 服务的功能描述包括: 服务的输入、输出; 服务执行的前置条件以及服务执行产生的预期效果; 服务特征属性包括: 服务所属的种类; 服务的质量评价; 一个不限长度的服务参数列表,可以包含任何类型的信息,如: 服务的最大响应时间,服务的领域特性等其他属性。
(2)ServiceModel: 描述服务如何工作,即描述服务在执行时是如何运作的。一个服务(Service)被视为一个过程(Process)。OWL-S 定义了 ServiceModel 的一个子类———ProcessModel。过程本体(Process)又分为 3 种,分别是: 原子过程(Atomic Process),简单过程(Simple Process)以及组合过程(Composite Process)(图 5.23)。过程本体(Process)通过输入、输出、前提条件、效果来描述过程。其中输入、输出属性取值可以为任何事物。而在特定领域中,过程类的子类可以用 OWL 语言元素来声明值域限制,包括这些属性的取值个数限制。原子过程是不可分解的 Web 服务,能够被直接调用,且可以单步执行。Web 服务被调用后,响应用户调用后立即结束,不需要调用它的用户或Web 服务与之建立会话过程。
图 5.22 Profile 类的相关属性(部分)
图 5.23 Process 类的相关属性
(3)ServiceGrounding: 指明了访问一个 Web 服务的细节。通常包括消息格式、通信协议以及其他如端口号等和服务相关的细节。还指定对于在 ServiceModel 中说明的抽象类型,在进行信息交换时的数据元素的明确的表达方式。原子过程被认为是基本的过程的抽象描述。OWL-S 的 ServiceGrounding 最主要的功能就是描述原子过程的输入、输出是怎样被具体实现为消息的。
从上面的分析可见,虽然 OWL-S 提供了一个比较全面的通用的服务语义描述框架,但是 OWL-S 针对地理空间信息服务,尤其是海洋领域,存在一定的缺陷,主要表现在:
(1)OWL-S 是高层本体模型,并不提供任何领域本体。领域本体的建立必须靠领域内的团体自己去完成。然而 OWL-S 作为一种通用性质的框架,不可能对具体的行业领域的特性进行特殊的考虑,因此在地理空间信息服务这种复杂的服务的语义描述上不够。
(2)OWL-S 对服务的标注的最小单位是服务接口下的各种实际的操作方法。比如对于一个网络服务,其可能支持好几个操作方法,OWL-S 提供了对这些方法的语义描述。而对于 OGC 这种标准化接口的服务,这种服务语义建模方法显然不适用。因为 OGC 服务的方法和其相应的接口参数都是已知的、已标准化的。如图 5.24 为 WPS 服务所支持的操作列表,从图中可知 OGC 标准规范的 WPS 服务具有哪些方法,并且各方法的含义也是已知的,比如 “Excute”方法为执行某项功能。如图 5.25 为 “Excute”方法的参数列表。从图中可知该方法的各个参数类型和结构。但是该方法底层所支持的实际功能以及功能的各参数的实际意义却被这些参数给屏蔽了。因此 OGC 服务本身开放的那些操作方法的语义标注与描述意义不大。这就好比当我们按照 OGC 的 WFS 服务接口标准实现了网络要素数据服务,我们就没必要再像其他普通的网络服务那样提供一个 WSDL 文件,来对服务进行描述一些样。因为这个服务的接口已经是众所周知的。所以关于这类服务的描述重点不在于这个接口,而在于这些接口方法背后所提供的数据或功能服务。但是 OWL-S 却没法对这些服务后台所支持的实际的数据或者方法做相应的语义描述。
图 5.24 WPS 的接口
(3)由于在知识库中已经把数据以及模型显式化的用 OWL 的方式表达出来,对于服务尤其是 OGC 标准的服务来讲,语义标注已经不必太复杂。对于数据服务来讲只需从上述论述的八方面对服务输出的数据进行标注即可,对于功能服务则更简单,只需简单的引用模型库中的模型本体的概念对服务的模型属性进行标注。
(4)OWL-S 中存在 ServiceProfile 和 ServiceModel 对参数描述方面存在重复。OWL-S中将服务的语义和语法混合起来,使得逻辑不清晰。服务的语义描述和服务的语法接口描述(WSDL)没有必要放在一起。而且对于 OGC 标准化接口服务,其调用调用执行也比较明确,没有必要对其绑定等信息进行描述,因此 OWL-S 中的 ServiceGrounding 对于 OGC标准服务来说不是很必要。
图 5.25 WPS 的 Excute 方法的参数对照表(部分
(5)OWL-S 中的思路是对每个服务都进行语义建模,相当于对服务的建模到了实例级别。但是事实上这种是没必要的。因为我们只需要定义到模型级别就可以了。OWL-S 中每个服务都要重复的(尽管也可以重用已 经建立 的 模 型)进 行 定义 profile,process,ground,使得效率很 低。而本 研究 采 用的 策 略 是, 只 对 模 型级 别 进 行 建 模,不对服务实例建模。服务的语义描述,仅需简单的引用已经建立的模型本体概念,来实现对它的语义表达。而且这中语义信息通常可以用数据库表的形式进行组织。
(6)OWL-S 中服务的模型接口参数的类型定义是参考相应的本体,而这个本体是属于类级别,代表属于某个类。但是这种以一个简单的类来区别参数的方法只能适用于简单的数据类型,比如售票服务中的航次信息,而地理信息服务的参数是复杂的,不能通过简简单单的本体类来区别。前面已经论述了地理数据的语义可以从八方面的来进行描述,显然 OWL-S 这种表达方式适应不了。
(7)现有的很多基于 OWL-S 的服务检索方法,都是基于 OWL 格式文件进行匹配,其检索效率和基于数据库存储的方式显然不言而喻。
5.4.2.2.2 基于 OWL 的服务语义标注
本研究中服务语义标注的主要目的是进行服务的发现和集成,主要考虑服务的数据语义和功能语义,暂不考虑服务的质量语义及执行过程中的一些语义。此外服务语义标注的目标范围设定在满足 OGC 标准的地理空间信息服务。在这些前提下,当基于语义的服务发现后,服务的调用执行则可以通过已知的标准化接口获取其实际的操作和所需的参数,进行相应的调用执行。
通过上一节分析可以看出,目前一些服务语义描述语言(包括 OWL - S)在面对海洋信息服务方面都存在一定缺陷。为此本研究采用了一种知识库的建立和服务语义标注分离的策略,并基于 OWL 对服务进行语义描述。
在建立海洋知识库基础上,海洋信息服务的描述相对比较简单。对于数据服务,只需从 5.4.1 中阐述的数据的八个方面,用知识库中相应的本体概念对这八个方面进行标注即可(图 5.26)表达; 对于功能服务,则更为简单,只需简单对服务的模型语义属性标记为模型库中对应的模型即可(图 5.27)。表 5.2 以及表 5.3 是数据服务和功能服务对应的语义描述示例。
表 5.2 WCS 数据服务的语义标注示例
表 5.3 功能服务的语义标注示例
图 5.26 数据服务的语义标注
图 5.27 功能服务的语义标注
通过这种将数据类型、抽象模型等领域知识库的语义建模与服务本身的语义标注分离,具有这样一些优势: ①逻辑清晰,维护容易。领域知识库由领域专家建立,而服务的语义标注则可以由很普通的服务提供者(是非专家用户)完成。②服务的语义标注非常简单,只需简单地对服务的各需标注的元素引用已经建立的一些本体概念进行标注。③重用度高,同类型的服务不必经过繁琐的过程,只需简单引用同一个抽象模型即可。
Ⅵ 本体论的其他领域
本体论(ontology)是哲学概念,它是研究存在的本质的哲学问题。近几十年里,这个词被应用到计算机界,并在人工智能、计算机语言以及数据库理论中起到越来越重要的作用。
然而,到目前为止,对于本体论,还没有统一的定义和固定的应用领域。斯坦福大学的Gruber给出的定义得到了许多同行的认可,即本体论是对概念化的精确描述(Gruber,1995),本体论用于描述事物的本质。
在实现上,本体论是概念化的详细说明,一个ontology往往就是一个正式的词汇表,其核心作用就在于定义某一领域或领域内的专业词汇以及他们之间的关系。这一系列的基本概念如同工程一座大厦的基石,为交流各方提供了一个统一的认识。在这一系列概念的支持下,知识的搜索、积累和共享的效率将大大提高,真正意义上的知识重用和共享也成为可能。就此意义而言,Web语言XML(Extensible Markup Language,可扩展标识语言)就是本体理论的一项典型应用;.xml文档就是一个标签化的词汇表。
本体论可以分为四种类型:领域、通用、应用和表示。领域本体包含着特定类型领域(如电子、机械、医药、教学)等的相关知识,或者是某个学科、某门课程中的相关知识;通用本体则覆盖了若干个领域,通常也称为核心本体;应用本体包含特定领域建模所需的全部知识;表示本体不只局限于某个特定的领域,还提供了用于描述事物的实体,如“框架本体”,其中定义了框架、槽的概念。
可见,本体论的建立具有一定的层次性,在教学领域而言,如果说某门课程中的概念、术语及其关系看成是特定的应用本体,那么所有课程中的共同的概念和特征则具有一定的通用性。
Ontology 这个哲学范畴,被人工智能界赋予了新的定义,从而被引入信息科学中。然而信息科学界对 Ontology 的理解也是逐步发展才走向成熟的。1991 年 Neches 等人最早给出 Ontology 在信息科学中的定义:“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延规则的定义。”后来在信息系统、知识系统等领域,随着越来越多的人研究 Ontology,产生了不同的定义。1993 年 Gruber 定义 Ontology 为“概念模型的明确的规范说明”。1997 年 Borst 进一步完善为“共享概念模型的形式化规范说明”。Studer 等人对上述两个定义进行了深入研究,认为 Ontology 是共享概念模型的明确的形式化规范说明,这也是目前对 Ontology 概念的统一看法。
Studer 等人的 Ontology 定义包含四层含义:概念模型(Conceptualization)、明确(Explicit)、形式化(Formal)和共享(Share)。“概念模型”是指通过抽象出客观世界中一些现象(Phenomenon)的相关概念而得到的模型,其表示的含义独立于具体的环境状态;“明确”是指所使用的概念及使用这些概念的约束都有明确的定义;“形式化”是指 Ontology 是计算机可读的,也就是计算机可处理的;“共享”是指 Ontology 中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而非个体。Ontology 的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇之间相互关系的明确定义。
尽管定义有很多不同的方式,但是从内涵上来看,不同研究者对于 Ontology 的认识是统一的,都把它当作是领域(领域的范围可以是特定应用中,也可以是更广的范围。)内部不同主体(人、机器、软件系统等)之间进行交流(对话、互操作、共享等)的一种语义基础,即由 Ontology 提供一种共识。而且Ontology提供的这种共识更主要的是为机器服务,机器并不能像人类一样理解自然语言中表达的语义,目前的计算机也只能把文本看成字符串进行处理。因此,在计算机领域讨论 Ontology,就要讨论如何表达共识,也就是概念的形式化问题。
Semantic Web 中的 Ontology?
Ontology 研究热点的出现还与 Semantic Web 的提出和发展直接相关。
Semantic Web是Tim Berners-Lee提出的又一个概念。Tim Berners-Lee 认为,当前的 Web 是供人阅读和理解的,它作为一个越来越大的文件媒体,并不利于实现数据和信息的自动化处理。新一代的 Semantic Web 将不仅仅为人类而且能为计算机(信息代理)带来语义内容,使计算机(或信息代理)能够“理解”Web 内容,进而实现信息处理的自动化。他认为 Semantic Web 不是与当前 Web 隔离的另一个 Web,而是对当前 Web 的扩充,在 Semantic Web 中,信息的语义经过完好的定义,能够更好地促进计算机和人之间的相互合作。?
为了实现 Semantic Web 的功能,需要提供一种计算机能够理解的、结构化的语义描述机制,以及一系列的推理规则以实现自动化推理。Semantic Web 的挑战在于提供一种语言,
它能够表述数据和在数据中进行推理的规则,而且需要这种语言能够将目前存在于知识表述系统之中的规则能够被应用到 Web 上。
在Tim Berners-Lee的Semantic Web 框架中,有几个关键的组成元素。它们分别是XML,RDF(S)和 Ontology。
XML 允许用户定义自己的文件类型,允许用户定义任意复杂的信息结构,但是 XML 只具有语法性,它不能说明所定义的结构的语义。XML 之所以在 Semantic Web 中处于重要的地位与 XML 是一种载体语言、XML 命名机制等有很大的关系。
在 Tim Berners-Lee 看来,语义的描述是通过 RDF 进行的。RDF 的两个特性对此有着特殊的贡献:
(1)RDF 是一种由资源、属性、属性值组成的三元结构。这种三元结构形似句子中的主语、谓语、宾语之间的关系。一个描述资源的 RDF 语句,就如同“某件事具有什么样的属性”这样的句子一样有效。它能够表明一种对事物存在状态的断言,可以表述大多数情况下计算机需要处理的知识。
(2)RDF 的另一个重要特点就是组成 RDF 的资源、属性、属性值这三个元素都必须是被 URI(统一资源标识)所标识的。由于 RDF 利用 URI 来对信息进行编码,它意味着被 RDF 所引用的任何资源、属性和属性值都是经过预先定义的、不具二意性的概念。?
由于 RDF 能够表示陈述句,并且主语、谓语和宾语的三个组成元素都是通过URI所标识的,故它具有语义表述的特性。但 Semantic Web 的要求还远不止于此,Semantic Web还需要加入逻辑功能:Semantic Web需要能够利用规则进行推理、选择行动路线和回答相关问题。Ontology是Semantic Web实现逻辑推理的基础。?
Semantic Web 研究者也认为,Ontology 是一个形式化定义语词关系的规范化文件。对于 Semantic Web 而言,最典型的 Ontology 具有一个分类体系和一系列的推理原则。其中,分类体系定义对象的类别和类目之间的关系。实体之间的类/子类关系对于 Web 应用具有重要的价值。在 Ontology 中,还可以为某个类添加属性来定义更多的类目关系。这些类目关系提供了的推理的基础。
借助 Ontology 中的推理规则,Semantic Web 应用系统可以提供更强的推理能力,例如可以在一个地理 Ontology 中加入这样一条规则,“如果一个城市代码与一个省代码相关,并且一个地址利用了城市代码,那么这个地址与就与相应的省代码相关”。通过这一规则,程序可以推理出中国科学院文献情报中心,在中关村,应当在北京市。
为了 Semantic Web 研究者为了实现对 Ontology 的描述,在 RDF 的基础之上,发展了 RDFS。RDFS 借助几个预先义的语词(如 rdfs:Resource, rdfs:Class, rdf:Property, rdfs:subClassOf, rdfs:subPropertyOf, rdfs:domain, rdfs:range)能够对概念之间的关系进行有限的描述。为了更方便全面地实现 Ontology 的描述,W3C 在 RDFS 的基础之上,借助了 DAML 和 OIL 的相关研究,正在积极推进 OWL(Web Ontology Language)的应用。自 2004 年 2 月 10 日,OWL 已经成为了一个 W3C 推荐的标准。
Gene Ontology
为了查找某个研究领域的相关信息,生物学家往往要花费大量的时间,更糟糕的是,不同的生物学数据库可能会使用不同的术语,好比是一些方言一样,这让信息查找更加麻烦,尤其是使得机器查找无章可循。Gene Ontology (GO) 就是为了解决这种问题而发起的一个项目。
Gene Ontology 中最基本的概念是 term 。GO 里面的每一个 entry 都有一个唯一的数字标记,形如 GO:nnnnnnn,还有一个 term 名,比如 cell, fibroblast growth factor receptor binding,或者 signal transction。每个 term 都属于一个 ontology,总共有三个ontology,它们分别是 molecular function, cellular component 和 biological process。
一个基因 proct 可能会出现在不止一个 cellular component 里面,也可能会在很多 biological process 里面起作用,并且在其中发挥不同的 molecular function。比如,基因 proct cytochrome c 用 molecular function term 描述是 oxidorectase activity,而用 biological process term 描述就是 oxidative phosphorylation 和 inction of cell death,最后,它的 celluar component term 是 mitochondrial matrix 和 mitochondrial inner membrane。
Gene Ontology 中的 term 有两种相互关系,它们分别是 is_a 关系和 part_of 关系。is_a 关系是一种简单的包含关系,比如 A is_a B 表示 A 是 B 的一个子集。比如 nuclear chromosome is_a chromosome。part_of 关系要稍微复杂一点,C part_of_D 意味着如果 C 出现,那么它就肯定是 D 的一部分,但 C 不一定总会出现。比如 nucleus part_of cell,核肯定是细胞的一部分,但有的细胞没有核。
Gene Ontology 的结构是一个有向无环图,有点类似于分类树,不同点在于 Gene Ontology 的结构中一个 term 可以有不止一个 parent。比如 biological process term hexose biosynthesis 有两个 parents,它们分别是 hexose metabolism 和 monosaccharide biosynthesis,这是因为生物合成是代谢的一种,而己糖又是单糖的一种。
Gene Ontology 使用 Oxford Dictionary of Molecular Biology (1997) 中的定义,在分选时还要参考 SWISS-PROT, PIR, NCBI CGAP, EC…中的注释。建立起来的标准不是唯一的标准(这是GOC所一直强调的),自然也不规定每个研究者必须遵循这套控制字集系统。所采用的动态结构(dynamic structure)使用 DAGs(Directed Acyclic Graphs)方式的 network,将每一个ontology串连起来,形成树状结构(hierarchical tree),也就是由前面所说的“is a”和“part of”两种关系。
由于 GO 是一种整合性的分类系统,其下的 3 类主 ontology 我们前面说是独立的,但是无论是 GOC 原初的设计还是我们的使用中其实都还是存在一定的流程关系。一个基因/蛋白质或者一个 ontology 在注解的过程中,首先是考虑涉及在构成细胞内的组分和元件 (cellular component),其次就是此组分/元件在分子水平上所行使的功能 (molecular function),最后能够呈现出该分子功能所直接参与的生物过程 (biological process)。由于这是一种存在反馈机制的注释过程,并且整个系统是动态开放实时更新的,因此在某种程度上说它具有纠错的能力。
TAMBIS 计划是目前唯一实现了在概念和联系层次上集成信息源的系统。但是还有其他一些相关计划正在研究之中。
比如 BioKleisli(宾夕法尼亚大学计算机系),采用 Mediator(调节器)技术实现了若干数据源的集成,其后的 K2/Kleisli 系统还利用数据仓库实现了 OLAP(联机分析处理)。
DiscoveryLink (IBM 研究院),基于 Wrapper/ Mediator(包装器/调节器)实现了信息源集成,提出了查询的分解和基于代价的优化策略。
TAMBIS(曼彻斯特大学计算机系)基于Wrapper/ Mediator实现了信息源集成,借助 BioKleisli 中的CPL语言作为查询语言并给出了查询优化的方法。通过 TaO(TAMBIS Ontology)本体定义为用户浏览和查询处理提供领域知识。
TINet(GSK 公司和 IBM 研究院),基于多数据库中间件OPM(Object-Protocol Model,对象协议模型)定义数据源的对象视图,其CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)服务器使各数据源 Wrapper(包装器)更易于扩充。
但是他们都存在一定的缺陷。BioKleisli 系统查询能力相对较弱,而且并未给出查询优化策略;TAMBIS系统和 DiscoveryLink 系统集成的数据源数量相对还很少,后者在查询处理中并未运用领域知识,因而查询分解也未从语义角度考虑;TINet 系统中的查询处理能力不强。
现在面临的突出问题是在数据库查询中尤其是当多个数据库存在信息重叠时,缺乏从中选择最佳检索成员,动态生成优化检索方案的能力。而且现有的工作主要面向数据集成,而对服务集成考虑不多。支持数据与服务综合性集成的体系仍欠完备。因此这也将是GO未来发展和提升的一个重要方向。