DartGrid:支持中医药信息化的语义网格平台实现(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-12 22:49:38

点击下载

作者:陈华钧,姜晓红,吴朝晖

出版社:浙江大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

DartGrid:支持中医药信息化的语义网格平台实现

DartGrid:支持中医药信息化的语义网格平台实现试读:

版权信息书名:DartGrid:支持中医药信息化的语义网格平台实现作者:陈华钧,姜晓红,吴朝晖排版:青杨出版社:浙江大学出版社出版时间:2011-05-01ISBN:9787308085694本书由浙江大学出版社有限责任公司授权北京当当科文电子商务有限公司制作与发行。— · 版权所有 侵权必究 · —前 言

近年来,以Web 2.0为代表的网络新应用层出不穷,并推动着计算机各方面技术的进一步发展。这些应用的一个典型特征是数据驱动。例如博客、播客以及各种社会计算网站,如Facebook、YouTube、Flickr、Twitter、Google Social Graph、Microsoft Connection等,由用户产生的各种类型的Web数据已经远远超过了传统的Web网站。各种应用所产生的数据都已经达到或将要达到petabytes甚至更高的规模。这些网络数据还具有跨域和异构的特征。数据驱动型网络应用的核心需求是如何有效地整合、聚合,乃至融合由多个管理域产生的多种异质异构数据,并支持大规模的并发访问。

语义网格,将以语义Web为代表的语义技术和以网格计算为代表的体系架构技术结合起来,通过规范化描述明确表达包括计算、存储、数据库、服务等各种信息资源的内涵语义,提供开放、安全、有序、可扩展的管理体系架构来解决和实现复杂网络环境下跨多个机构的大规模分布式协同计算和数据共享问题。语义网格为解决上述互联网新的挑战提供了新的思路和技术方法。

DartGrid是由浙江大学计算机学院自主研发的语义网格平台软件系统。DartGrid主要面向中医药信息化等数据驱动型网络应用领域的一些新需求,并结合语义Web技术和网格技术等新兴互联网技术研制。其主要技术包括数据的语义集成技术、语义搜索技术、流程服务的语义组合技术、语义网格中的分布式数据挖掘与知识发现等,旨在为语义网格提供一套综合信息管理平台。

DartGrid平台的主要开发背景是中医药信息化。DartGrid可以有效地支持数据与知识密集型领域中的知识表示、管理与问题求解,而中医药领域是一个典型的数据与知识密集型领域。本书结合对中医药领域的应用需求分析,提出基于语义网格构建的、面向中医药领域的e-Science环境,并就基于语义网格的数据集成与共享、海量中医药数据挖掘与分析等,详细阐述了其体系结构、技术特征以及应用成果。

本书的组织结构如下:第1章介绍了语义网格的基本概念以及DartGrid功能与技术概述;第2章对DartGrid所涉及的关键技术进行了系统性的介绍;第3章结合中医药应用实例介绍了DartQuery语义查询系统;第4章针对中医药信息搜索的需求,介绍了DartSearch语义搜索系统;第5章介绍了DartMapping语义映射系统;第6章针对中医药海量数据的特征介绍了DartSpora海量数据挖掘系统;第7章介绍了一个基于语义的数据Mashup系统;第8章结合中医药的信息服务化需求,介绍了一个服务管理系统。本书既可以作为互联网技术领域的研究者和实践者的参考读物,也可以为从事中医药信息化工作的科研人员提供参考。

本书是浙江大学CCNT实验室的教师和学生多年的努力成果,以下老师和同学为本书的撰写或与本书相关的项目研发作出过贡献,在此一并表示感谢,他们是:邓水光、于彤、周春英、毛郁欣、封毅、张宇、王俊健、张小刚、付志红、秘中凯、密金华、刘森、盛浩、陶金火、杨克特、卢宾、郑耀文、梁欣颖、刘明魁、顾佩钦、张露、张湘豫等。本书还是浙江大学与中国中医科学院信息研究所多年合作的成果之一,在此向中国中医科学院的崔蒙研究员、尹爱宁、刘静、李园白、雷蕾等同仁给予我们的长期支持表示感谢!

与本书相关的研究内容受到如下项目的资助:科技部“973”语义网格专项(No.2003CB317006)、国家杰出青年基金(No.NSFC60533040)、科技部现代服务业支撑计划(2006BAh02401)、科技部“863”计划(2006AA01A122,2009AA011903,2008AA01Z141)、国家自然科学基金项目(No.NSFC61070156,NSFC60873224)、浙江省科技重大项目(2008C03007)。在此一并表示感谢!

作 者

2011年1月第1章概 述

1.1 研究背景

1.1.1 背景概述

1969年互联网在美国诞生,经过四十多年的快速发展,现在已成为人们生活、工作交流不可或缺的一部分。人们广泛地应用互联网查找信息、学习、娱乐、工作、购物、交友等。截至2008年年底,仅中国一个国家的网民数量就已超过2亿。随着互联网的不断发展和进一步的普及应用,在原有的搜索引擎、网络新闻、电子商务、在线交易、电子邮件等互联网应用继续保持快速发展的基础之上,不断出现了很多新兴的互联网应用模式,例如:p2p数据共享下载,典型的如BT下载;软件即服务(SaaS),典型的如Google Doc、Salesforce等;社会网络应用(Social Networking Applications)及社会媒体应用(Social Media),典型的如Facebook、LinkedIn等。

这些新兴互联网应用模式的出现,不仅极大地改变和扩展了互联网的服务模式和应用范围,也大大推动了互联网技术本身的飞速进步。典型的新兴互联网技术包括:网格计算、语义Web、服务计算、跨界混搭(Mashup)技术、Ajax技术、富客户端技术等。这些技术相互交融,分别从个性化的人机交互、社会化的资源共享、广域范围的协同协作、跨领域的信息融合与系统集成等多个方面推动着整个互联网的快速进步和飞速发展。

本书介绍的DartGrid语义网格平台正是在这样的技术发展背景下被提出、研究和开发的。特别的,DartGrid着重从网格计算和语义Web两个方面,从信息语义描述框架、语义搜索、语义映射与信息融合、网络数据挖掘与分析、网络数据混搭与拼接、网络服务发现与交互等多个方面,提出一系列新的技术思路和相关实现,并对这些相关技术的潜在应用进行了深入探讨。

1.1.2 网格计算的基本思想

网格计算是针对“大科学”(Big Science)在跨多个机构的协作共享方面的需求提出的。典型的大科学应用包括生命科学、地球科学、气象与天文、高能物理等。这些应用的典型特征可以归纳为:海量计算、高性能计算和多机构协作。网格计算的基本思想是利用互联网技术实现分散在不同地理位置的计算机和各种设备的动态协同管理,并把它们组织成一台“虚拟化的超级计算机”,向用户提供透明的计算力服务。因此,早期的网格计算多指提供计算力服务的“计算网格”,而这样的计算网格主要针对的是支持科学研究的e-Science应用。典型的如,支持欧洲高能物理研究的离子对撞机正是采用网格技术实现其底层的海量数据存储、传输和分析计算的功能。

随着网格计算的成功,网格的研究范畴也迅速扩展到对各种信息资源包括计算、存储、数据、软件、设备等的大规模协同共享。与此同时,网格的思想也逐渐渗透到企业应用领域,应用范畴也扩大到许多企业级应用。例如,Oracle推出了数据库网格计划Oracle 10g,旨在推动网格技术在企业界的应用。IBM、Sun、hp、platform等都推出了面向企业级应用的网格技术平台和服务。标志性的事件包括企业网格联盟(EGA)的成立,以及后期企业网格联盟(EGA)与全球网格论坛(GGF)的融合成立新的开放式网格论坛(OGF)等。

在技术层面,早期的网格技术强调对高性能计算的支持。随着网格应用范畴的不断扩展,网格技术的重点也转移到面向服务的网格体系架构技术的研究上。随着网格应用重点从典型的大科学应用朝着大企业应用的转变,网格的一些规范和标准也逐渐与实现企业信息集成的Web Service技术融合。标志性事件包括WSRF(Web Service Resource Framework)的提出,从而使得网格计算在技术体系上统一到了面向服务计算的SOA(Service-Oriented Architecture)架构下面。

总结起来说,网格计算所针对的核心问题是:实现跨多个机构的虚拟组织之间的动态资源共享与大规模协同。这是针对未来互联网应用的一个典型特征提出的,即未来互联网应用覆盖范围飞速增长,跨领域、跨机构之间的应用系统日趋融合。传统针对单一、封闭式的网络应用解决方案无法满足跨多域、大覆盖范围应用的需求,例如大规模数据共享、广域网范围内的协同协作等。在网格计算系统体系下,用户可以通过互联网享受一体化的、动态变化的、可灵活控制的、协作式信息服务。

从网格计算的角度而言,现有的互联网还缺乏一个面向共享与协同应用开发的统一分布式基础设施。网格技术从体系架构角度定义统一的标准与规范,提供了具有自主容错、动态可扩展特点的分布式信息系统体系架构。网格系统中的各个组成节点在部分节点运行失效、部分节点退出、新节点接入、需求变化等情况下,都可依据一定的策略或协议,动态地重新进行功能组合,动态生成新的虚拟组织,在总体上体现出自主容错、自我管理(Self-management)和自我配置(Self-configuration)等特征。网格基础设施,如Globus,依据网格体系架构规范,通过把一些分布式系统的共有特征实现为通用的、可复用的模块,使得新的资源或服务能够以“即插即用”的方式接入网格。这对于开放性的应用非常重要,也是系统可扩展性的必要保证。此外,网格对于用户来说,具备“按需服务”的特征。在网格中,更加容易对有序的信息资源进行筛选和过滤,更易于为用户寻找最能匹配用户需求的资源和服务,从而实现按需的服务。

1.1.3 语义Web的基本思想

1998年,Web发明人Lee TB先生指出:“Web文档本身描述的是现实世界中的对象、概念和它们之间的关系,但这些信息都是用自由文本描述的,这虽然方便人浏览,但机器却无法理解Web文档中所蕴涵的语义。”这是导致当前搜索引擎无法对信息进行精确搜索的根本原因。基于这一考虑,他提出了对未来Web的一种设想,即:未来的Web会是一种“有意义的Web”(Meaningful Web)。这样的Web中的信息不仅仅是给人来浏览的,而且可以被机器理解(Machine-understandable)。这种更加“聪明”的Web会极大地改变现有互联网搜索引擎的窘境。基于这些想法,他连同一些国际知名学者首次提出了语义Web的概念。并在他的直接推动下,国际万维网联盟组织W3C(W3C国际万维网联盟组织:http://www.w3c.org)制订了一系列的语义Web信息标准,这包括Web信息语义表达框架RDF(RDF语义表达框架:http://www.w3.org/RDF/),本体描述语言OWL(OWL本体描述语言:http://www.w3.org/TR/owl-features/)等。

概括起来说,语义Web(Semantic Web)是由W3C所倡导的一种新的Web技术。根据W3C的定义,语义Web与传统Web的主要区别在于要建立一个数据Web(Web of Data)。有别于传统的Web,语义Web主要是由超文本链接连接起来的文档Web(Web of Document),是更为细粒度的Web。在语义Web中,Web节点不再仅仅是一个Web文档,而可以是任何用户想描述的事物,比如可以代表一个人、一本书、一所学校等;而Web链接也不再是一种用于链接文档的简单链接,而是用于链接任何对象,并明确标明事物对象之间的关系(比如同学关系、雇员关系等)的语义链接。语义Web的最终目的是要通过建立各种数据对象之间的关联关系,使得用户更加容易浏览、查询、搜索、交换、管理他们的信息,解决传统单一依靠自然语言处理和统计分析技术的搜索引擎技术所面临的一系列瓶颈和难题。

有关语义Web(W3C语义Web工作组:http://www.w3.org/2001/sw/)的标准化工作由著名的W3C组织进行。2001年,W3C完成了RDF(Resource Description Framework)的标准化工作。RDF是有关Web语义表达的最基础的规范,它规定了如何对Web资源的语义进行规范化、明确化描述的基本方法和框架。RDF吸取了关系数据库模型的经验,借鉴了人工智能领域的知识表达研究成果,并针对互联网的本质特征而设计,是专门面向信息集成的数据模型。相较XML,其语义描述更加简单直观,语义约束更加明确和规范。从某种角度讲,XML是资源描述的语法规范,而RDF是在XML之上,用于资源描述的语义规范。

但由于RDF在本体(Ontology)和术语规范(Terminology)定义上表达能力的不足,W3C又启动了OWL(Ontology Web Language)(W3C Web Ontology 语言工作组:http://www.w3.org/2004/OWL/)的规范化工作。OWL是具有更强表达能力的资源语义表达规范,它充分借鉴了知识表达领域有关语义网络、框架系统和描述逻辑的研究,能用于定义复杂的领域本体和术语规范,比如医学术语等。2004年,W3C完成了有关OWL的规范化工作。但是要实现语义Web的目标,仍然还有大量的规范化和标准化工作需要做。比如,W3C于2005年又启动了语义查询语言SpARQL(W3C Data Access 工作组:http://www.w3.org/2001/sw/DataAccess/)的标准化工作。此外W3C还成立很多兴趣小组支持对一些相关应用领域的研发工作,比如针对生命科学领域应用的兴趣小组旨在推动语义技术在生命科学领域的应用(W3C 语义Web与生命科学兴趣小组:http://www.w3.org/2001/swhcls)。

借助于这些语义表达标准,语义Web可以通过语义把各种数据(Data)和程序(program)互联起来,综合利用知识的方法解决信息资源的语义问题,从而解决资源的共享问题,使Web成为一个能提供知识服务的巨大知识库。

1.2 语义网格的基本概念

1.2.1 语义网格的提出

语义网格的最早提出可以追溯到2001年。英国的e-Science计划提出为全球化的协同科学研究提供分布式计算技术,支持科学家更高效地发布、共享、分析实验数据和协同科学研究。在当时,网格技术被认为可以为e-Science提供这样一个分布式共享网络环境。为此,欧盟的一些国家投入了大量经费到e-Science和网格相关的项目中。早期的e-Science项目主要侧重于中间件的研发,但在这些e-Science项目的研发中,人们发现网格的发展水平和e-Science的理想之间存在差距,要达到e-Science的易用性和无缝自动化要求,必须实现尽量多的机器自动处理特性和尽量少的人机交互介入。

De Rouge D等研究者发现e-Science的这一需求与语义Web的部分目标非常相似,于是考虑把语义Web的一些技术引入e-Science领域,并在2001年最先提出了语义网格的概念。2002年,一些研究者在全球网格论坛(GGF)成立了语义网格研究组,吸引了更多的研究者对语义网格的关键技术进行研究。该工作组对语义网格的概念进行了初步的界定,认为语义网格的目标是要通过语义实现系统高度的易用性和无缝自动化来支持全球化的协同工作和共享。

在语义网格的研究上,欧盟的资助力量是最大的。从2001年开始,欧盟陆续在其Fp5、Fp6框架中资助了一大批的语义网格相关项目。典型的比如:OntoGrid强调面向知识的网格服务和系统的构建;InteliGrid强调如何建设基于语义的虚拟组织;SIMDAT 强调语义网格中的数据管理;Akogrimo 强调普适计算与语义网格的结合;DataMiningGrid 强调语义网格环境中的数据挖掘;K-WF Grid强调语义网格中的流程组合等。

中国的学者也较早开展了语义网格的研究和开发,并逐步形成了自身的特色。例如,2003年,国家启动了“973”专项“语义网格的基础理论、模型和方法研究”。该项目从资源模型、流程组合、数据管理与存储、语义验证等多个方面对语义网格的研究进行了资助。

1.2.2 语义网格的定义

虽然当前从事语义网格相关研究的工作比较多,但是到目前为止还没有形成对语义网格概念的明确而统一的界定和定义。综合起来讲,语义网格是一种“基于语义的分布式计算技术”(Semantic-based Distributed Infrastructure for Internet),它建立在语义Web相关技术规范和网格体系架构相关技术标准基础之上,其目的是要支持构建基于语义的分布式网格系统。

具体来说,网格计算从开放系统的体系架构标准与规范的角度,研究如何实现一个足够灵活、支持共享的分布式计算基础设施。语义Web从规范化的资源语义表达角度,研究如何提供一个一致化的资源语义表达框架,以解决资源语义的异质异构问题。前者来源于计算机系统结构研究领域,后者来源于知识表达与信息表示领域。事实上,这两个领域对于解决互联网资源共享问题都同样重要,是同一个问题的两个方面。

语义网格,将以语义Web为代表的语义技术和以网格计算为代表的体系架构技术结合起来,通过规范化描述明确表达包括计算、存储、数据库、服务等各种信息资源的内涵语义,提供开放、安全、有序、可扩展的管理体系架构来解决和实现复杂网络环境下跨多个机构的大规模分布式协同计算和信息共享问题。

1.3 语义网格的研究范畴

语义网格所针对的核心问题可以概括为以下三个方面:互联网资源的语义异构、海量增长和泛在分布。一方面语义网格需要解决资源语义描述的不一致问题,另一方面也需要解决海量资源在组织形式和结构上的不一致问题。然而语义网格的核心技术框架仍然建立在传统的计算机和网络技术基础之上,因此我们把语义网格的核心研究范畴和基础技术框架总结为以下几个方面。

1.3.1 信息语义的描述框架与表达模型

语义网格需要研究适合开放网络环境应用需求的信息语义描述框架与表达模型。这种模型一方面为信息的语义表达提供严格的逻辑基础,另一方面又必须满足开放动态的松耦合知识集成的需要。在语义网格知识表示的层次结构中,目前较为成熟的部分(至底向上)有XML(可扩展标记语言)、RDF/RDFS(资源描述框架及其模式)和OWL(本体论语言),而在OWL之上的逻辑层、证明层(规则语言及其推理)的相关标准的制订工作仍处于需求征询阶段,信任层则还处于研究阶段。

1.3.2 异构网格资源的语义映射

网格旨在实现跨多个管理机构、多个领域的信息集成与管理。因此,网格计算所面临的一个核心问题即是异构网格资源的集成问题。这一问题对于数据资源尤为突出。语义网格与传统网格计算技术的典型不同之处即是采用语义Web技术解决这一问题。其中,如何基于语义建立各种异构网格资源之间的语义映射是一个突出的问题和难题。

1.3.3 Web级的语义数据集成

传统的分布式数据集成技术只适合于局部范围内或单个企业范围内的信息集成,然而在互联网范围内的信息资源通常具有自治、异构、动态变化、开放扩展等特征。如何在这样一个开放式环境下实现Web级的语义数据集成是一个极大的挑战。语义Web技术为信息描述提供了一个标准化的语义描述和表达规范。语义Web语言RDF/OWL充分借鉴了传统数据模型,包括关系模型、XML和各种知识表达系统,针对互联网的开放性、松耦合等特征设计,从而为异构信息的集成提供了非常理想的数据模型。另一方面,网格技术为分布式数据资源的管理提供了更加易于扩展的体系架构,使得在互联网范围内的资源组织和管理能有一个共同的规范和标准。

1.3.4 网格资源的语义搜索

语义网格中的资源都被标注为富含语义的资源之后,一个所需要解决的核心问题是如何基于语义来对这些资源进行搜索。这涉及对传统各种搜索技术的改造,最为典型的如排序技术。基于语义排序首先要考虑的是对象级的排序(而不是网页级的排序),其次还需要考虑如何利用语义信息的辅助进行排序。其他也发生变化的技术包括语义索引技术、语义分词技术等。

1.3.5 基于语义网格的数据挖掘与知识发现

语义在数据挖掘中所起的作用体现在以下两个方面。一方面,把分布式的、异质异构的数据资源通过语义集成为上层的数据挖掘提供大量、丰富的数据源,这就要求数据挖掘系统有效地利用这些数据富含语义的特性,并利用Web的访问方式提供数据挖掘服务。另一方面,语义本身的一个作用是建立资源之间的关联关系,通过语义建立的资源关系网本质上是以语义网络的形式存在的,这使得挖掘技术可以充分利用语义信息对语义网络进行复杂网络分析。

1.3.6 基于语义网格的服务组合与发现

语义网格的另外一项核心技术是异构系统之间的语义互操作和复杂流程的语义组合。跨多个机构的系统集成需要解决异构系统之间的互操作问题。尽管WSDL/SOAp等Web服务协议为互操作提供了实现基础,但是仍然忽略了异构系统交互过程中所需要解决的接口语义的不匹配问题。基于语义本体的方法可以通过将异构系统的接口定义映射到一个共享的语义本体之上,在语义层建立异构系统之间的逻辑连通性,从而实现异构系统之间的语义互操作。

1.3.7 基于语义网格的复杂工作流管理

分布式的工作流程日趋复杂化和易于发生改变,比如企业供应链的范围正在变得更加广泛和复杂。在语义网格中,采用语义本体定义抽象的流程,具体实现流程功能的实体(如Web服务或应用程序),以松耦合的方式映射到抽象的流程定义上。这样可以实现柔性的流程组合,在需求发生变化的时候,可以动态地对流程进行调整以适应变化,比如重新调整抽象的流程或映射新的功能实体。针对复杂流程的组合管理,语义网格所要提供的功能包括:复杂流程的语义建模、服务接口的语义匹配和映射、服务的能力描述、服务的语义组合、服务的自动发现等。

1.4 DartGrid语义网格系统〖1*3〗1.4.1 DartGrid简介

DartGrid是由浙江大学计算机学院自主研发的语义网格软件系统。DartGrid的研究和开发主要是围绕中医药信息化和智能交通系统等应用领域的一些新需求,并结合语义Web技术和网格技术等新兴互联网技术的一些特征进行的。主要开发内容包括:数据的语义集成技术、语义搜索技术、流程服务的语义组合技术、语义网格中的分布式数据挖掘与知识发现等,其旨在为语义网格提供一套综合信息管理平台。

1.4.2 DartGrid的研发历程

DartGrid的研发是从2001年开始的。早期的重点主要放在对语义Web和网格计算等相关技术的研究上。随后在2003—2008年的5年时间里,先后开发和发布了DartGrid Ⅰ(2003—2004年),DartGrid Ⅱ(2005—2006年),DartGrid Ⅲ(2006—2008年)三个版本。

DartGrid第一个版本的主要定位是“基于语义的数据库网格平台”,并最终于2003年12月开发完成并发布。它采用语义Web技术和网格技术(Globus 3.1平台技术),实现了支持异质异构数据库的语义互联互通以及语义层查询处理功能的分布式数据库资源整合共享的平台及工具包。

DartGrid的第二个版本成型于2005年6月,不仅完善了第一版本中的数据库网格的功能,并且添加了本体加工模块、基于语义的服务组合模块、语义网格开发工具包、语义网格管理工具包等扩展功能。

DartGrid的第三个版本最初发布于2006年7月,在随后的三年里对各方面功能和模块进行了扩充和改善。它对原有DartGrid平台框架做了重新构架,特别是对数据集成模块重新进行了设计与开发,很大程度上提高了系统性能和客户端工具的交互友好性。此外还先后添加了语义查询和搜索模块、Mashup模块、数据挖掘模块等。

1.4.3 DartGrid的分层体系架构

经过多年的开发,DartGrid已经包括多个相互关联又各自相对独立的子系统。

在基础技术层,DartGrid充分利用了语义Web中所提供的语义技术,网格技术中的Globus平台和WSRF规范,服务技术中的Web服务相关技术规范。例如DartGrid的一个核心是基于语义Web所提供的标准信息语义表达框架与规范RDF/OWL建立领域本体,并基于领域语义本体实现语义数据集成、语义搜索、基于语义的服务组合与流程管理等多个方面。再例如,DartGrid提供了一个基于网格平台实现的分布式数据挖掘系统DartSpora。该系统具备三个典型特征:一是利用网格平台所提供的计算能力支持高性能的数据挖掘;二是基于服务框架部署和管理多种挖掘算法服务;三是基于语义数据集成支持对异构分布数据的关联分析和挖掘。

DartGrid综合利用这三方面的新技术,从分布式语义数据集成、基于语义的网格资源搜索、异构网格资源的语义映射、基于语义网格的数据挖掘与分析、基于语义的跨界混搭(Mashup)系统等多个方面进行了相关系统的研发。这些系统中不少已经被应用到中医药科学数据共享、面向公共安全的数据挖掘与分析、智能交通应用系统等多个领域。

下面分别简单介绍一下各个分系统。

1.DartQuery语义查询系统

DartQuery 是一个基于RDF的分布式关系数据库查询系统。该系统采用语义视图的方法实现关系模型与语义本体语言如RDFS/OWL之间的语义映射。并实现了一个SpARQL2SQL的查询重写模块,支持动态地将SpARQL语义查询分解和转化为多个SQL查询计划,从而实现对多个异构关系数据库进行一体化的语义查询。该系统还提供了一个基于本体的语义查询动态构造系统,实现基于本体的结构动态的生成查询界面,使得系统具有良好的可扩展性。该系统已经用于中医药领域50多个关系数据库资源的语义集成。

2.DartSearch语义搜索系统

DartSearch是基于语义技术实现的多数据库语义搜索引擎。它基于关系数据库与语义本体的映射,实现关系数据向语义对象的转化,并基于语义映射和转化实现语义对象的搜索。所涉及的关键技术包括语义索引技术、语义对象排序技术等。该搜索系统已经用来实现一个中医药领域的搜索引擎。

3.DartMapper语义映射系统

DartMapper语义映射系统通过提供数据源展示、拖拽方式实现的数据模式与本体模式映射、映射关系图形化显示、半自动的复杂链接的配置等易操作的功能,以帮助语义工程项目开发人员制订关系型数据库模式与本体模式之间的映射关系。

4.DartSpora数据挖掘与知识发现系统

DartSpora是基于语义网格实现的数据挖掘与知识发现系统。一方面,它构架在DartQuery语义数据集成与查询平台上,通过语义查询来获取挖掘数据,以实现基于语义集成的分布式异构数据挖掘与分析;另一方面,该平台还建立在计算网格平台上,利用网格平台获取计算资源,支持分布式并行海量数据挖掘。

5.DartMashup数据混搭系统

跨界混搭(Mashup)旨在实现开放式Web ApI的综合集成,支持快速地搭建各种Web应用系统。DartMashup是一个基于语义实现的跨界混搭系统。它的典型特征是基于语义对各种开放式Web ApI所提供的异构数据进行关联,支持基于语义实现Mashup的路径发现与推荐。

6.DartFlow基于语义的服务计算系统

DartFlow是DartGrid中实现协同工作的服务流程管理平台,其目标是在虚拟组织中提供Web服务的综合管理功能,为网格环境中的跨域协作、资源共享、流程管理提供一套服务基础平台。

1.4.4 DartGrid的主要功能特色

DartGrid的主要特色是充分结合语义Web技术和网格两方面的特点,一方面采用语义技术解决网络资源的异质异构问题,另一方面采用网格技术解决资源的发布、组织与管理的规范化问题。具体来说,DartGrid具有如下几方面的主要功能。

1.面向Web级的信息集成

DartGrid所采用的语义Web技术和网格技术都是面向Web级的信息集成技术。例如,作为语义Web技术的核心RDF资源描述框架是面向Web的开放特征设计的数据模型。其简单性、开放式、全局对象URI等机制使其特别适合于实现Web资源的描述。而这些语义描述可被充分用来实现各方面的Web级信息集成,包括数据的集成、服务的交互、设备的网络集成等。

2.基于语义的数据集成与管理

语义在DartGrid中起到了非常核心的作用,包括体现在基于语义来实现分布式异构数据的映射、统一查询、语义搜索。其中围绕语义实现的一些新技术包括语义视图、语义索引、语义分词、语义映射、语义Mashup等多方面。

3.基于语义的服务交互与流程管理

基于语义实现各种服务和程序在语义层的交互、动态匹配、智能发现等功能。这对于在一个开放式的环境中,管理超大规模的服务系统是非常有用的。

4.基于语义的数据挖掘与知识发现

DartGrid还在数据挖掘与知识发现领域引入了语义技术,包括支持对语义信息的抽取技术、语义网络分析和语义图挖掘等方面。

1.5 本书的组织结构

本书共分8章,第1章概述本书的主要内容;第2章介绍实现数据库语义网格平台DartGrid的技术基础;第3章介绍DartQuery语义查询系统的设计与实现;第4章介绍DartSearch语义搜索系统的设计与实现;第5章介绍DartMapper语义映射系统的设计与实现;第6章介绍DartSpora数据挖掘与知识发现系统的设计与实现;第7章介绍DartMashup数据混搭系统的设计与实现;第8章介绍DartFlow服务流程管理系统。第2章DartGrid基础技术简介

2.1 概述

DartGrid是综合语义Web技术、网格技术、Web服务等技术实现的海量信息集成、共享以及综合管理的平台。本章的主要目的不在于为读者提供相关技术的详细介绍,而是针对这三个基础技术进行概要性介绍,以方便读者阅读后面各系统模块的实现章节。

2.1.1 DartGrid中的语义技术

概述了DartGrid与语义Web技术、网格技术、服务技术之间的相互关系。其中语义技术在DartGrid语义网格平台中处于比较核心的地位。DartGrid所尝试解决的核心问题是网格资源(特别是数据资源)的异构问题,即如何以一种标准规范、易于扩展、灵活的方式描述信息语义。

DartGrid在如下几方面应用到了语义Web技术。

1.统一信息语义表达模型

DartGrid采用RDF/OWL作为语义网格中的统一信息语义描述与表达框架。例如,在语义集成系统DartQuery中,语义本体被用来关联异构的数据库。而在DartFlow流程管理系统中,又被用来建立异构服务接口之间的映射关系,以实现更加智能的服务组合。

2.语义搜索

DartGrid还采用语义来支持更高层次的语义搜索。例如,语义本体被用来辅助进行资源管理、分类索引、对象排序等。

3.基于语义集成的数据挖掘与分析

DartGrid采用语义技术支持实现基于语义集成的数据挖掘与分析。例如,DartSpora平台采用语义查询获取数据资源,基于DartQuery语义集成平台进行跨多个数据库的关联分析与挖掘。

2.1.2 DartGrid中的网格技术

网格技术的核心是体系架构技术。例如,WSRF事实上是为分布式网络资源定义了一种可扩展的、动态的计算体系架构。包括如何在分布式环境中对资源的状态进行描述和建模,如何对分布式的资源进行聚合和分类,如何对资源的状态进行监控和调度,以及如何对跨域的分布式资源访问进行安全控制与管理等。

DartGrid中应用到的网格技术主要体现在如下方面:(1)DartGrid一些模块系统的开发都建立在Globus网格平台之上。它采用Globus进行资源的生命周期管理和状态监控,并实现资源调度。(2)DartGrid的某些模块需要计算网格的支持。例如,DartSpora数据挖掘系统采用了计算网格平台来管理计算资源,通过把算法部署在高性能网格集群上,来支持高性能的数据挖掘与分析。

2.1.3 DartGrid中的服务技术

服务技术是采用服务的思想实现计算的目的。例如,SOA提出了面向服务的计算体系架构,Web服务技术提供了标准规范的计算服务实现机制和方法,软件即服务的思想也体现了如何将各种软件以服务的方式提供在线服务。特别的,网格技术实质在后期已经实现了与服务技术一定程度的融合。例如,WSRF网格规范已经成为Web服务规范体系的一个组成部分。

DartGrid总体上在如下几方面应用到了服务技术:(1)DartGrid总体实现采用了SOA的体系架构。(2)DartGrid中的多个子系统都采用了Web服务技术,例如DartQuery中数据可以以数据服务的方式发布,DartSpora中算法可以以Web服务的方式提供计算服务。(3)DartGrid中的DartFlow子系统是专门针对服务组合与发现实现的服务流程管理子系统。

2.2 语义Web技术

2.2.1 语义Web的概述

传统的信息获取技术和搜索引擎技术通常采用自然语言处理、数据挖掘和统计分析等方法对Web文档进行处理。这些技术的瓶颈是无法完整有效、精确无二义地提取出文档中所蕴含于信息之中的语义。1994年,Web创建者Lee TB在年度国际万维网会议上指出:“Web文档本身描述的是现实世界中的对象、概念和它们之间的关系,但这些信息都是用自由文本描述的,这虽然方便人浏览,但机器却无法理解Web文档中所蕴涵的语义。”这是导致当前搜索引擎无法对信息进行精确搜索的根本原因。

随后不少研究人员致力于通过在Web网页中增加元数据来提高信息的易检索性和易处理性。1996年,美国马里兰大学hendler J领导发起了一个名为ShOE(Simple html Ontology Extension)的项目,主要通过在Web网页中增加语义本体描述来实现基于语义的搜索。

1998年,Lee TB与hendler J等人首次明确提出了语义Web(Semantic Web)的概念,并将其定义为“是现有Web的扩展,并通过在Web中增加机器可理解的语义使机器与人之间进行更方便的互操作”。随后国际万维网联盟组织W3C正式成立了语义Web工作组,并陆续开展了一系列的相关标准化工作,这包括用于描述Web语义的基本数据模型RDF(Resource Description Framework),Web本体描述语言RDFS和OWL(Ontology Web Language),语义数据查询语言SpARQL等。下面对这些技术进行基本的介绍。

2.2.2 RDF资源描述框架

资源描述框架 (RDF)是用来表示万维网上各类资源信息语义的一种语言。与XML相比,它具有更强的语义约束,因而能更加精确地刻画信息语义。RDF的理论基础来源于人工智能领域对知识表达长达60年的研究。它充分吸收了语义网络、框架系统、描述逻辑、关系数据模型等多种信息描述和表达模型的优势和特点,并基于XML等现代数据存储语法,是特别适合Web信息语义描述的数据模型。

RDF最早是专门用于描述Web资源的元数据,比如某个网页的标题、作者和修改时间、Web文档的版权和许可信息等。然而,随着Web资源的概念逐渐扩展,不再仅仅指Web网页资源,而是指各种可以通过Web发布的信息资源,例如人、书、会议等实体类型的资源。因而,RDF可用于描述其他所有可以在Web上被标识的事物、对象和概念信息,即便有时它们不能直接从Web上获取。

具体来说,RDF一方面可以准确地刻画任意对象或事物的各种描述性属性,另一方面可以精确地表达任意资源之间的关联关系。RDF框架不仅提供了一种语言来表达资源的语义信息,而且它支持资源在计算机应用程序之间进行信息交换而不丧失资源本身具有的内涵语义。

1.RDF模型

RDF模型最基本的思想,就是用统一资源标识符(Uniform Resource Identifiers,URIs)对资源进行标识。但是,不同于传统超文本技术(html)对网页进行唯一标识,RDF标识符可以引用任何可标识的资源,包括那些不是直接可从Web上获取的事物、对象、关系、概念等。例如,RDF除了能够描述像网页这类事物以外,还可以描述人、会议、汽车、新闻事件等。此外,RDF中的属性本身也有URIs,因而还可以用以准确标识被链接的事物之间的关系,例如父子关系、同学关系、隶属关系、组成关系等。这大大扩展了RDF描述信息语义的能力。

RDF模型的基本组成单元是RDF陈述(RDF Statement)。每个RDF陈述都是由一个三元组构成的,包括主体(subject)、谓词(predicate)以及客体(object)。一个RDF数据集也可以看作一个有向标识图(Directed Labeled Graph)。相对应于RDF三元组,RDF节点表示主体和客体,弧代表连接主体和客体的谓词。下面以一个简单的例子来介绍RDF三元组描述RDF数据的定义方法。例子描述了一个对象,该对象用http://dart.zju.edu.cn/dartgrid/tutorial#person1来唯一地标识。这个对象有三个属性:名字、年龄、性别。要注意的是,这三个属性也分别用三个标识符唯一地标识。

2.表示RDF的XML语法:RDF/XML

上一节介绍RDF模型的两种简单的表示方法RDF图和RDF三元组,它们只是以简单易懂的方法表述RDF模型。这一节将要介绍的是规范的并可以被计算机应用程序所理解处理的RDF/XML语法。

RDF模型提供了一种被称为RDF/XML的XML语法来书写和交换RDF图。与上节讲述的RDF三元组(triples)表述方法不同,RDF/XML是书写RDF的规范性语法(normative syntax)。RDF/XML的基本思想就是基于XML语法把一个RDF图编码为XML元素、属性、元素内容和属性值。其中:(1)谓词的URIrefs被写作XML QNames,即包含一个简短的前缀(prefix)(代表命名空间URI)和一个内部名(local name)(代表命名空间中的元素或属性)。(2)主体节点(subject nodes)的URIrefs被写为XML属性值。(3)客体节点(object nodes)的URIrefs有时也可被写为属性值。(4)文字节点(literal nodes)写为元素的文本内容或属性值。

下面就以一个具体的实例来简要讲解RDF/XML语法是如何表示RDF图的。当然,这里只是简要地介绍一下RDF/XML的用法,其中还有许多复杂的语法结构没有介绍。这部分内容,读者可以参考W3C组织制订的RDF/XML标准(W3C组织制订的RDF/XML标准:http://www.w3.org/TR/rdf-primer/)。(1)第1部分是XML声明,用来声明本文档是基于XML语法的。(2)第2部分是以<!DOCTYpE rdf:RDF >元素开始的,是XML的实体声明部分。它将一个XML名称(XML name)与一个字符串相关联。如果实体名在XML文档中被引用,XML处理器(XML processors)将用相应的字符串来替换该引用。(3)第3部分以rdf:RDF元素开始。它表明以下XML内容是用于表达RDF模型的。紧随其后的是XML命名空间声明(XML namespace declaration),该声明指明在当前内容中出现的所有前缀为rdf:的标签都属于由下列URIref所标识的命名空间。(4)第4部分是所要陈述的RDF/XML主体部分。这部分定义了一个类Course,并且定义了若干属性来描述这个主体类。

3.RDF Schema

RDF提供了一个基本的表达框架,但是任何描述都需要用术语或词汇表来描述。RDF并未定义如何描述这样的词汇表。RDF需要提供给用户更大的自由度,能够让用户根据自己的需要自定义一些词汇,并且可以用这些词汇来描述资源。这些词汇表明用户正在描述某种资源,并且会采用某些特定的特性来描述。RDF本身并不能针对特定应用需求来定义一些类(Class)和属性(property)。这些类和特性被称为RDF词汇,它们需要通过RDF词汇描述语言RDF Schema(RDF的一种扩展语言)来定义。即RDF Schema为RDF提供了一个类型系统,这种类型系统在某些方面类似于Java这样的面向对象编程语言的类型系统。例如,RDF Schema允许资源被定义为一个或者多个类的实例。另外,RDFS通常把类组织成为一种分级的类层次结构。然而,RDF类和属性在某些方面又与编程语言的类型系统有着明显的差异。例如,在RDFS中,类和属性的地位是平等的。属性不一定要在类之后定义,类也不必必须拥有若干属性。这样设计的目的是为了满足Web信息发布的开放性,即任何人都可以自由地向已经存在的Web资源增加任何他想增加的属性描述。

2.2.3 OWL Web本体描述语言“本体”这个术语来自于哲学,它是研究世界上各种实体以及它们之间如何关联的一门学科。对于Web来讲,本体则是关于Web信息及Web信息之间关系的概念性描述。一个“Web本体”可能包含三个组成部分:类、属性以及该本体的实例描述。

事实上,RDFS已经提供了基本的本体描述和定义能力,但是它的表达能力还不够。OWL可以看作是RDFS 的扩展延伸。它拥有更强大的语义表达能力,所以具有更强的机器可理解性。例如,OWL可以定义类直接的合取、交并、否定等关系,还区分了对象属性(Object property)和数值属性(Datatype property)。

OWL是语义Web活动的一个基础组成部分。指定OWL标准的目的是通过对Web上的资源信息增加关于语义以及语义结构的描述,从而使Web资源能够更容易地被计算机自动发现、理解以及集成。但由于语义Web所固有的分布性,OWL就必须让Web信息能够从分布在不同区域的信息源自动地收集起来。另外,OWL提出了一个开放世界的假设。也就是说,对资源的描述并不局限于在一个简单的文件或范围内。举例说明,某个类Class 1可以是由本体O1定义出来的,也可以是在其他本体的基础之上扩展出来的。即Web上新的信息不能否定之前的信息,但是新的信息是可以重用旧的信息的。但是事实和推导只能被增加而不能被删减。OWL语言框架是可以被计算机软件理解并使用的,所以OWL有自己严格的语法和正规的语义定义。

1.OWL语法中基本元素

在OWL本体中,基本组成元素有两类:类(Class)和属性(property)。其中,每个类可以有一个或者多个属性来描述这个类所具有的特性和语义结构。本章只是简单地介绍一下OWL语法中基本元素的基本用法,更多内容可以参考具体标准。(1)Class,rdfs,subClassOf

OWL定义的本体中的所有个体都是类owl:Thing的成员。因此,所有OWL文件中其他人自定义的类(Class)从根本上来说都是owl:Thing的一个子类,都存在rdfs:subClassOf的关系。OWL语法中,rdfs:subClassOf是用于类的基本分类构造符。它将一个描述具体事务的类与一个通用的类关联起来。同时,在OWL语法中,rdfs:subClassOf的关系是可传递的,即如果Class X是Class Y的一个子类,同时Class Y又是Class Z的一个子类,那么Class X就因为rdfs:subClassOf关系的传递效应也成为Class Z的一个子类。下面,我们用一个实际的例子(学生选课系统)来具体描述OWL语法中基本元素的用法,它包括三个owl:Thing的子类:person、Student、Course以及rdfs:subClassOf关系。(2)个体

除了描述类,我们还希望能够描述类的成员。通常认为类的成员是我们所关心的范畴中的一个个体(而不是另一个类或属性)。要引入一个个体(Individual),只需将它们声明为某个类的成员。rdf:type是一个RDF属性(RDF property),用于关联一个个体和它所属的类。(3)简单属性

在类的定义中,属性被用来限定和描述类的具体属性以及与其他类之间的语义关系。属性(properties)使得我们可以断言关于类成员的一般事实以及关于个体的具体事实。在OWL语法中,属性一般包括:Objectproperty、Datatypeproperty、rdfs:subpropertyOf、rdfs:domain、rdfs:range几种。一个属性可以定义为一个二元关系。

OWL语法中,有两种类型的简单属性:(1)数据类型属性(Datatype properties),类实例与RDF文字或XML Schema数据类型间的关系。(2)对象属性(Object properties),两个类的实例间的关系。

在定义一个属性时,有一些对该二元关系施加限定的方法,可以指定定义域(domain)和值域(range)。属性madeFromGrape的定义域(domain)为Wine,且值域(range)为WineGrape。也就是说,它把Wine类的实例关联到WineGrape类的实例。为同一属性声明多个定义域表明该属性的定义域是所有这些类的交集(多个值域声明也类似这样)。特别的,为了提供一种强有力的机制以增强对于一个OWL定义的属性的推理,OWL语法中可以对属性的特性进行详细说明或加以限制。这部分内容属于扩展内容,有兴趣的读者可以参考相关标准。

下面,还是继续以学生选课为例来介绍简单属性的定义方法。我们定义了三个类:person、Student、Course。其中,Student类是person的子类,继承了person类定义的一个Datatype类型的属性。并且,对象属性select把类Student和Course连接起来了。

2.OWL语法中的本体映射

语义Web研究领域的一个重要问题就是本体共享。为了使在开发本体时尽可能地节省人力,就需要使开发出的本体能够被重用。更理想的情况是,它们能够被组合使用。在本体工程领域,大多数人认为制定本体最为重要,但是他们往往忽视了本体共享、重用的重要性。本体共享、重用是在本体开发过程中最为困难的工作。多个本体的合并工作是非常具有挑战性的。在OWL语法中加入了一些机制,以方便我们对本体进行重用,这也是OWL优越于其他语言的特点。(1)类和属性之间的等价关系(equivalentClass,equivalentproperty):如果我们要把一些本体组合在一起作为另一个新的本体的一部分时,能说明在一个本体中的某个类或者属性与另一个本体中的某个类或者属性是等价的。OWL提供了定义类和属性之间等价关系的元语:equivalentClass,equivalentproperty。(2)个体间的同一性(sameAs):描述个体之间相同机制与描述类之间的相同的机制类似,只要将两个个体用sameAs声明成一致的就可以了。(3)不同的个体(differentFrom,AllDifferent):这一机制提供了与sameAs相反的效果。这是一种声明这三个值相互不同的方法。但在有些时候,更重要的是利用这些定义元素能把这种不同区分开来。

3.复杂类

除了简单的定义类和属性的语法,OWL还另外提供了一些用于构建类的构造子语法。这些构造子被用于创建所谓的类表达式。OWL支持基本的集合操作,即并、交和补运算。它们分别被命名为owl:unionOf、owl:intersectionOf和owl:complementOf。此外,类还可以是枚举的。类的外延可以使用oneOf构造子来显示地声明。同时,可以声明类的外延必须是互不相交的。下面简单介绍下OWL中的复杂类。(1)集合运算符intersectionOf、unionOf、complementOf:OWL类外延是由个体组成的集合,而这些个体都是类的成员。OWL使用基本的集合操作算子来处理类的外延。(2)枚举类oneOf:OWL提供了一种通过直接枚举类成员的方法来描述类。可以通过使用oneOf来完成。特别地,这个定义完整地描述了类的外延,因此任何其他个体都不能被声明为属于这个类。(3)不相交类disjointWith:使用owl:disjointWith构造子可以表达一组类是不相交的。它保证了属于某一个类的个体不能同时又是另一个指定类的实例。

2.2.4 SpARQL查询语言

SpARQL(Simple protocol and RDF Query Language)是专门为RDF开发的一种查询语言和数据获取协议。它是为W3C开发的RDF数据模型所定义,但是可以用于任何可以用RDF来表示的信息资源。SpARQL 构建在以前的 RDF 查询语言(例如 rdfDB、RDQL 和 SeRQL)基础上,具有一些有价值的新特性。并且,SpARQL将Web 2.0和Semantic Web两种新的Web技术联系起来,很有可能成为将来的主流网络数据库的查询语言和数据获取标准。下面就简要地介绍一下如何使用SpARQL来对RDF数据进行查询。

1.SpARQL查询语言语法介绍

SpARQL主体结构类似于数据库查询语言SQL,由三部分组成:SELECT,FROM,WhERE。但是,一般在SpARQL查询语句里,首先都要声明在语句中所常用的前缀。其中,RDF Data是以RDF三元组形式表示的,而SpARQL查询语句在查询主体也是以类似于三元组匹配来进行查询的。下面就简单介绍一下SpARQL RDF查询语言的语法规则,并配以一些小例子讲解如何使用它们对RDF数据进行查询。

●一个简单SpARQL查询语句例子。表示的是,查询属性的值是什么?

●一个SpARQL查询语句中可以用来绑定RDF图。

●SpARQL查询语言允许对RDF词组进行限制,作为查询的限制条件。

●SpARQL查询语言支持对指定的RDF图进行查询,如下面程序{}中的部分就是以一幅RDF图的形式存在的。

●SpARQL查询语言支持过滤操作,利用关键字Filter。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载