Web 3.0与Semantic Web编程
基本信息
- 原书名: Semantic Web Programming
- 原出版社: Wiley
- 作者: (美)John Hebeler Matthew Fisher Ryan Blace Andrew Perez-Lopez [作译者介绍]
- 译者: 唐富年 唐荣年
- 出版社:清华大学出版社
- ISBN:9787302226369
- 上架时间:2010-7-7
- 出版日期:2010 年6月
- 开本:16开
- 页码:478
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > 综合 > 高级程序语言设计
内容简介回到顶部↑
语义web的问世使网站开发领域变得焕然一新。您可以借助语义web的强大功能,来构建可以运用web及企业中的信息和服务的智能软件。语义web促进了数据集成、处理和推理的自动化,履行了web 3.0的承诺。
《web 3.0与semantic web编程》指引您运用语y.web技术来构建实用程序和解决现实问题,并列举大量实用的示例代码,引导您将理论知识运用于实践。
《web3.0与semantic web编程》全面介绍微格式、资源描述框架(rdf)、rdschema(rdfs)、web本体语言(owl)、语y.web规则语(swrl)、sparql协议和rdf查询语言(sparql)等重要技术。
主要内容
·语义web架构、工具和最佳实践
·知识表示和应用程序集成方法促进语义web应用程序的方式
·集成、对准数据和信息以及采用多种格式在多个位置输出数据和信息的方法
·展望语义web的未来,包括高级集成和分发、高级推理以及可视化等
·详述w3c推荐的新标准owl2,分析其如何影响和改善软件架构
·列举一个大型语义web应用程序,该程序从facebook、mysql和jabber等数据源提取数据,在对准和统一信息后在标准化内容中查询信息,最后采用多种格式导出信息
《web 3.0与semantic web编程》指引您运用语y.web技术来构建实用程序和解决现实问题,并列举大量实用的示例代码,引导您将理论知识运用于实践。
《web3.0与semantic web编程》全面介绍微格式、资源描述框架(rdf)、rdschema(rdfs)、web本体语言(owl)、语y.web规则语(swrl)、sparql协议和rdf查询语言(sparql)等重要技术。
主要内容
·语义web架构、工具和最佳实践
·知识表示和应用程序集成方法促进语义web应用程序的方式
·集成、对准数据和信息以及采用多种格式在多个位置输出数据和信息的方法
·展望语义web的未来,包括高级集成和分发、高级推理以及可视化等
·详述w3c推荐的新标准owl2,分析其如何影响和改善软件架构
·列举一个大型语义web应用程序,该程序从facebook、mysql和jabber等数据源提取数据,在对准和统一信息后在标准化内容中查询信息,最后采用多种格式导出信息
作译者回到顶部↑
本书提供作译者介绍
John Hebeler是一位资深研究员,拥有逾20年的大型软件开发经验。
Matthew Fisher现任Progeny System公司首席系统工程师,从事软件和系统开发工作已逾15年。
Ryan Blace是一位语义Web开发人员,曾开发多个基于语义Web的大型知识管理系统。
Andrew Perez-Lopez是一位软件开发人员,在语义Web信息系统领域拥有多年的工作经验。
.. << 查看详细
Matthew Fisher现任Progeny System公司首席系统工程师,从事软件和系统开发工作已逾15年。
Ryan Blace是一位语义Web开发人员,曾开发多个基于语义Web的大型知识管理系统。
Andrew Perez-Lopez是一位软件开发人员,在语义Web信息系统领域拥有多年的工作经验。
.. << 查看详细
目录回到顶部↑
第ⅰ部分 语义web程序设计简介
第1章 为以数据为中心的语义web程序设计做好准备
1.1 定义语义web
1.2 确定主要的程序设计组件
1.3 确定语义web技术对程序设计的影响
1.4 避免阻碍、神化和夸张
1.5 了解语义web的起源
1.6 探索语义web示例
1.7 总结与展望
1.8 参考资源
第2章 hello semantic web world
2.1 建立语义web开发环境
2.2 编写“hello semantic web world”应用程序
2.3 小结
第ⅱ部分 语义web程序设计基础
第3章 信息建模
3.1 软件中的信息建模
3.2 语义web信息模型:资源描述框架(rdf)
3.3 使用rdf进行信息交换
3.4 小结
第1章 为以数据为中心的语义web程序设计做好准备
1.1 定义语义web
1.2 确定主要的程序设计组件
1.3 确定语义web技术对程序设计的影响
1.4 避免阻碍、神化和夸张
1.5 了解语义web的起源
1.6 探索语义web示例
1.7 总结与展望
1.8 参考资源
第2章 hello semantic web world
2.1 建立语义web开发环境
2.2 编写“hello semantic web world”应用程序
2.3 小结
第ⅱ部分 语义web程序设计基础
第3章 信息建模
3.1 软件中的信息建模
3.2 语义web信息模型:资源描述框架(rdf)
3.3 使用rdf进行信息交换
3.4 小结
译者序回到顶部↑
自从Web之父Tim Berners-Lee在Scientific American上发表那篇著名的文章以来,有关语义Web的研究逐年升温, 目前已经开始从理论研究走向实际应用的层面,语义Web的蓝图已经初步显现。我们已经看到,基于RDF和OWL的语义Web应用已经开始渗透到商业产品中,数据库开始支持RDF和OWL文档的存储,浏览器开始支持RDF和其他本体文档的解析……也许要不了多久,语义Web这个概念就会真正走入我们的日常生活中。
目前国内对于语义Web的研究大多仍然处于理论研究阶段,尽管也涌现出来了很多研究成果,但是很可惜,目前尚未出现面向用户的语义Web产品。究其原因,是因为在语义Web技术的理论和具体的软件开发实践中缺少一个中间环节,即对语义Web程序设计的系统阐述。尽管目前关于语义Web技术的开源项目很多,但是由于缺乏文档支持和相关的教程,只有少数科研人员能够对这些资源加以利用,而大多数语义Web的初学者在起步阶段则需要耗费较多的精力。这本书的亮点就在于引导您从实践出发来学习和理解语义Web,使您从现实角度感受语义Web技术的强大魅力。
本书内容丰富、覆盖面广且工程背景浓厚,对于近年来语义Web领域的绝大多数主流技术都有所涉及,通过实例讲解语义Web程序设计的具体过程,突出了“以数据为中心”的程序设计思想。语义Web程序设计最大的优势是将语义从信息中剥离出来,对语义的重用必然会大大减轻程序开发的负担。通过本书的学习,您将能够从众多的代码示例中获得第一手的编程经验,深刻理解“语义”对于程序设计的深远影响。总之,我们认为这本书会为您打开通向语义Web应用程序开发的人门,成为您学习本体和语义Web技术的得力帮手。
尽管这本书对内容的讲述深入浅出,但是在开始本书的学习之前,我们建议您至少对Java语言有一定了解。鉴于本体和语义Web技术相对比较抽象,如果读者具有一定的人工智能、数据库和Web信息管理方面的知识基础,那么学习起来会相对轻松一些。此外,语义Web技术是一门发展极为迅速的技术,新的标准和思想也不断涌现出来,建议您能够在学习过程中参考W3C的相关文档,并且充分利用本书所列出的资源,追踪语义Web技术发展的最新动态。
本书的译者此前已经对语义Web进行了多年的研究,也做过若干和语义Web相关的工程。但是当面对这样一本系统讲述语义Web的著作时,仍然感到水平有限,唯恐造成读者对书中内容的误解。由于目前有关语义Web的中文书籍非常少,很多专用术语还没有出现统一的译法,本书的翻译难免出现不当之处,请广大读者批评指正。
本书主要由唐富年(funiantang@gmail.com)翻译。此外,唐荣年承担了第2至第6章、第12、13章的翻译。全书的统稿工作由唐富年负责。Be Flyin8工作室负责人肖国尊负责本书译员的选定、翻译质量和进度的控制与管理。敬请广大读者提供反馈意见,读者可以将意见发到be-flying@sohu.com,我们会仔细查阅读者发来的每一封邮件,以求进一步提高今后译著的质量。同时欢迎各位进入Be Flying工作室博客http:/blog.csdn.net/be flying/,或者China-pub上的宣传链接http://www.china-pub.com/main/sale/renwu/GetInfo.asp?theID=64,来了解Be Flying工作室的所有其他译著。
目前国内对于语义Web的研究大多仍然处于理论研究阶段,尽管也涌现出来了很多研究成果,但是很可惜,目前尚未出现面向用户的语义Web产品。究其原因,是因为在语义Web技术的理论和具体的软件开发实践中缺少一个中间环节,即对语义Web程序设计的系统阐述。尽管目前关于语义Web技术的开源项目很多,但是由于缺乏文档支持和相关的教程,只有少数科研人员能够对这些资源加以利用,而大多数语义Web的初学者在起步阶段则需要耗费较多的精力。这本书的亮点就在于引导您从实践出发来学习和理解语义Web,使您从现实角度感受语义Web技术的强大魅力。
本书内容丰富、覆盖面广且工程背景浓厚,对于近年来语义Web领域的绝大多数主流技术都有所涉及,通过实例讲解语义Web程序设计的具体过程,突出了“以数据为中心”的程序设计思想。语义Web程序设计最大的优势是将语义从信息中剥离出来,对语义的重用必然会大大减轻程序开发的负担。通过本书的学习,您将能够从众多的代码示例中获得第一手的编程经验,深刻理解“语义”对于程序设计的深远影响。总之,我们认为这本书会为您打开通向语义Web应用程序开发的人门,成为您学习本体和语义Web技术的得力帮手。
尽管这本书对内容的讲述深入浅出,但是在开始本书的学习之前,我们建议您至少对Java语言有一定了解。鉴于本体和语义Web技术相对比较抽象,如果读者具有一定的人工智能、数据库和Web信息管理方面的知识基础,那么学习起来会相对轻松一些。此外,语义Web技术是一门发展极为迅速的技术,新的标准和思想也不断涌现出来,建议您能够在学习过程中参考W3C的相关文档,并且充分利用本书所列出的资源,追踪语义Web技术发展的最新动态。
本书的译者此前已经对语义Web进行了多年的研究,也做过若干和语义Web相关的工程。但是当面对这样一本系统讲述语义Web的著作时,仍然感到水平有限,唯恐造成读者对书中内容的误解。由于目前有关语义Web的中文书籍非常少,很多专用术语还没有出现统一的译法,本书的翻译难免出现不当之处,请广大读者批评指正。
本书主要由唐富年(funiantang@gmail.com)翻译。此外,唐荣年承担了第2至第6章、第12、13章的翻译。全书的统稿工作由唐富年负责。Be Flyin8工作室负责人肖国尊负责本书译员的选定、翻译质量和进度的控制与管理。敬请广大读者提供反馈意见,读者可以将意见发到be-flying@sohu.com,我们会仔细查阅读者发来的每一封邮件,以求进一步提高今后译著的质量。同时欢迎各位进入Be Flying工作室博客http:/blog.csdn.net/be flying/,或者China-pub上的宣传链接http://www.china-pub.com/main/sale/renwu/GetInfo.asp?theID=64,来了解Be Flying工作室的所有其他译著。
前言回到顶部↑
本书直接而果断地使用语义Web技术来解决现实世界中的实际问题,研究如何更为灵活地访问由便携式计算机、企业、甚至是万维网所提供的信息和服务。各个章节都按照统一的、基于代码的方式来讲述如何解决访问信息和服务所面临的挑战。通过列举代码示例,我们将从实用角度出发探索构成语义Web的多种技术,包括知识表示,如微格式、资源描述框架(RDF)、RDF Schema(RDFS)、Web本体语言(OWL,包括其最新发布的版本OWL 2和语义Web规则语言SWRL)等,以及语义Web程序设计框架(如Jena)和其他一些有用的语义Web工具。我们在探索这些技术的时候,不是仅从这些技术本身出发来考虑问题,还要关注它们在解决实际问题的过程中所体现出来的作用和价值。因此,您的学习应当是基于效果的——即依据每种技术在您解决实际应用中的各种难题时所能发挥的效果。
本书的编写得益于我们多年来设计大规模语义Web解决方案、建立语义Web工具和参与修订语义Web相关标准所积累的经验。我们对这一领域十分熟悉!正是因为具有这样的技术背景,我们不仅能够帮助您理解这门强大的技术,而且还能够帮助您直接将这门技术应用到实际应用中,解决信息领域中的多种挑战。
内容概述
语义Web技术为驾驭多种信息和信息服务提供了一种强大的、实用的方法。语义可以保证“使更多信息变得更有用”,避免了信息泛滥带来的负面影响。这就需要采用新的数据表示方法来改进人们捕捉和共享知识的能力,也需要新的程序设计构造(construct)和工具来确保这些信息能够为您的应用程序所使用。
本书通过实际的数据格式、工作代码和工具来探索语义Web技术。我们从开发人员的视角出发考查语义Web技术,目的就是为了在实际应用中得到满意的效果。我们针对您在创建和管理语义Web应用时的需求给出了解释和说明。全书大量的工作代码示例既增加了技术背景可信度,也有助于读者对说明性文字的理解。一般来说,代码一目了然,更能说明问题。因此,我们强烈推荐您从示例代码入手,并且根据自己的需求进行调整。这样做有助于您尽快理解语义Web,适应从语义Web的角度出发考虑问题,进而使您能够迅速在工作中应用语义Web技术。
编排方式
本书总共有15章,分为4个部分。在附录中,本书还给出了一系列与主要技术相关的参考资料。
第Ⅰ部分:语义Web程序设计简介,由第1章和第2章组成。这一部分的内容将使您尽快认识语义Web程序设计。第1章“为以数据为中心的语义Web程序设计做好准备”介绍了语义Web的主要概念以及这些概念之间的相互关系。这一章能够使您了解作为一个语义Web开发人员所应知道的各种词汇。同时,第1章还指出了语义Web技术的优点和对程序设计的影响,并且在这一章结尾之处给出了当前使用语义Web时无法避开的问题实例。第2章“Hello Semantic Web World”围绕“Hello Semantic Web World”这一程序详细地对工作代码进行了分析。这个例子可以使您了解从如何建立开发环境到如何使用推理机的一系列操作。这一章的说明性文字比较简单,因为这一章仅仅是对本书其余部分的简介。如果您还是一位语义Web领域的新手,那么这一章对您来说至关重要。而对语义Web比较熟悉的读者可以选择跳过这两章的学习。
第Ⅱ部分:语义Web程序设计基础,包括从第3章到第7章共5章的内容。语义Web应用的驱动力来自两个领域:知识表示和应用集成。这一部分主要讲述前一个领域一知识的表示和操作。第3章“信息建模”讲述了如何通过RDF构建数据模型。第4章“融入语义”在使用RDFS和OWL 2创建知识模型的过程中引入了本体(ontology)。第5章“现实世界中的知识建模”通过应用程序框架和推理机来练习使用工作本体。第6章“发现信息”对知识模型进行了深入分析,通过搜索、导航和借助SPARQL进行形式化的查询等方式从中抽取有用的信息。第7章。添加规则”通过研究语义规则语言来充实知识表示,包括W3C标准SWRL。
第Ⅲ部分:建立语义Web应用程序,涵盖从第8章到第11章的内容。这一部分针对的是上面提到的驱动语义Web技术的第二个领域——将知识和作用于知识之上的应用程序整合到一起。这一部分的内容奠定了可靠的语义Web程序设计基础。第8章“应用程序设计框架”借助Jena语义Web框架的大量实例全面探讨了语义Web框架。章末简要讲述了一个语义Web应用程序FriendTracker,这个例子是贯穿后面三章的一条主线,围绕这个例子我们探讨了如何对格式和位置均有所不同的数据和信息进行集成、对准和输出。第9章“整合信息”重点研究了如何将来自多个数据源(如关系数据库、Web服务和其他形式的数据源)的数据整合到一个知识模型中。第10章“对准信息”重点探讨了如何将数据和本体概念进行对准,进而实现异构信息的集成。第11章“信息共享”介绍了如何以多种格式输出信息,如RDFa、微格式和SPARQL端点等。我们在上述的各章中都采用Friend Tracker应用程序实例进行说明,希望能够更为直接地向您阐述语义Web程序设计的理念。
第Ⅳ部分:扩展语义Web程序设计,这一部分涵盖了从第12章到第15章的几章内容。现在您已经具有了可靠的知识表示和语义Web应用程序开发基础,我们可以在此基础之上扩展到功能更为强大、更具有实用价值的领域,包括语义服务、时空问题、语义Web架构和最优方法,并且几乎对本书所提到的各种工具都进行了扩展应用。第12章“开发和使用语义服务”研究了如何在服务中加入语义,使得这些服务能够融入到语义Web当中。第13章“管理空间和时间”从时空角度对您的知识表示进行了考查。第14章“语义Web模式和最佳实践”依次对各章内容进行了回顾,以本书前面讲述的所有内容为基础,介绍了一系列构建各种语义Web应用程序的架构模式。第15章“进阶”通过洞悉语义Web技术的未来总结了全书。这一章重点对语义Web技术最为关键而且仍在不断演进的四个领域进行了研讨,包括本体管理、高级集成和分发、高级推理以及可视化。它们对目前语义Web领域中仍然不断演进韵各种技术进行了较为严谨的阐述。
读者对象
本书从综合、实用的角度为使用语义Web技术开发应用程序提供了支持。语义Web可以对万维网上已有的多种分布式信息和服务、商业企业和您的个人资源都加以利用。因此,无论您仅仅关注信息还是关注整个应用程序,大多数技术性读者都会从本书中受益。
通过本书的学习,开发人员能够从众多的代码示例中获得第一手的程序设计经验,无论是应用程序开发人员还是仅仅关心多种形式的数据(从数据库模式到XML格式)的信息开发人员,学习本书都会有所收获。这本书为您开始设计自己的语义Web应用程序提供了必需的工具、背景知识和丰富的示例。
大型应用程序的架构师通过本书的学习能够对语义Web的作用有更为深入的理解。语义Web对所有使用信息的系统(几乎是所有的系统)都有所裨益,它能够迅速扩展系统的功能,进而可以更好地利用信息和服务。全书的应用程序对系统架构师来说也十分有用,而在信息和数据管理方面的详细阐述也对负责数据格式和数据处理的信息架构师有所裨益。
技术管理人员可以通过本书对语义Web的强大功能、风险和优势有更为深入的理解。语义Web是一门战略型的技术,是一种真正能够提供巨大优势的解决方案。目前信息领域面临很多很棘手但是却很有价值的挑战,这些难题通常涉及海量信息和服务,而语义Web技术为解决这些难题提供了新的思路。在任何解决方案中,是否需要采用语义Web技术都取决于动态信息和服务资源。本书所给出的代码示例揭示了这门技术的可信度,同时也洞悉了语义Web程序设计自身的挑战,即如何更好地讲行规划。
所需工具
我们强烈建议您下载和定制本书提供的所有代码示例,以便巩固所学的知识。书中涉及到的所有软件工具都是开源的,可以直接从万维网上下载,我们在书中也提供了必要的说明和相关链接。只要您的操作系统支持Java 1.5虚拟机,那么您的计算机就能和书中提到的所有工具兼容。而且当我们在书中介绍每一种工具的时候,同时也会给出下载、安装和配置该工具的说明。此外,我们在附录F中还对所有工具进行了总结说明。
网站资源
在本书配套网站http://semwebprogranuning.org上还有大量可供参考的资源。在该网站上您可以访问本书参考的所有文献资料、完整的代码示例以及本体等,而且您还有机会参与当前正在进行的一些讨论和活动。该网站上也正在不断更新与语义Web相关的书籍和代码,反映了语义Web的持续扩展和演进。我们欢迎广大读者针对本书和本书相关的示例留下宝贵意见。
本书的编写得益于我们多年来设计大规模语义Web解决方案、建立语义Web工具和参与修订语义Web相关标准所积累的经验。我们对这一领域十分熟悉!正是因为具有这样的技术背景,我们不仅能够帮助您理解这门强大的技术,而且还能够帮助您直接将这门技术应用到实际应用中,解决信息领域中的多种挑战。
内容概述
语义Web技术为驾驭多种信息和信息服务提供了一种强大的、实用的方法。语义可以保证“使更多信息变得更有用”,避免了信息泛滥带来的负面影响。这就需要采用新的数据表示方法来改进人们捕捉和共享知识的能力,也需要新的程序设计构造(construct)和工具来确保这些信息能够为您的应用程序所使用。
本书通过实际的数据格式、工作代码和工具来探索语义Web技术。我们从开发人员的视角出发考查语义Web技术,目的就是为了在实际应用中得到满意的效果。我们针对您在创建和管理语义Web应用时的需求给出了解释和说明。全书大量的工作代码示例既增加了技术背景可信度,也有助于读者对说明性文字的理解。一般来说,代码一目了然,更能说明问题。因此,我们强烈推荐您从示例代码入手,并且根据自己的需求进行调整。这样做有助于您尽快理解语义Web,适应从语义Web的角度出发考虑问题,进而使您能够迅速在工作中应用语义Web技术。
编排方式
本书总共有15章,分为4个部分。在附录中,本书还给出了一系列与主要技术相关的参考资料。
第Ⅰ部分:语义Web程序设计简介,由第1章和第2章组成。这一部分的内容将使您尽快认识语义Web程序设计。第1章“为以数据为中心的语义Web程序设计做好准备”介绍了语义Web的主要概念以及这些概念之间的相互关系。这一章能够使您了解作为一个语义Web开发人员所应知道的各种词汇。同时,第1章还指出了语义Web技术的优点和对程序设计的影响,并且在这一章结尾之处给出了当前使用语义Web时无法避开的问题实例。第2章“Hello Semantic Web World”围绕“Hello Semantic Web World”这一程序详细地对工作代码进行了分析。这个例子可以使您了解从如何建立开发环境到如何使用推理机的一系列操作。这一章的说明性文字比较简单,因为这一章仅仅是对本书其余部分的简介。如果您还是一位语义Web领域的新手,那么这一章对您来说至关重要。而对语义Web比较熟悉的读者可以选择跳过这两章的学习。
第Ⅱ部分:语义Web程序设计基础,包括从第3章到第7章共5章的内容。语义Web应用的驱动力来自两个领域:知识表示和应用集成。这一部分主要讲述前一个领域一知识的表示和操作。第3章“信息建模”讲述了如何通过RDF构建数据模型。第4章“融入语义”在使用RDFS和OWL 2创建知识模型的过程中引入了本体(ontology)。第5章“现实世界中的知识建模”通过应用程序框架和推理机来练习使用工作本体。第6章“发现信息”对知识模型进行了深入分析,通过搜索、导航和借助SPARQL进行形式化的查询等方式从中抽取有用的信息。第7章。添加规则”通过研究语义规则语言来充实知识表示,包括W3C标准SWRL。
第Ⅲ部分:建立语义Web应用程序,涵盖从第8章到第11章的内容。这一部分针对的是上面提到的驱动语义Web技术的第二个领域——将知识和作用于知识之上的应用程序整合到一起。这一部分的内容奠定了可靠的语义Web程序设计基础。第8章“应用程序设计框架”借助Jena语义Web框架的大量实例全面探讨了语义Web框架。章末简要讲述了一个语义Web应用程序FriendTracker,这个例子是贯穿后面三章的一条主线,围绕这个例子我们探讨了如何对格式和位置均有所不同的数据和信息进行集成、对准和输出。第9章“整合信息”重点研究了如何将来自多个数据源(如关系数据库、Web服务和其他形式的数据源)的数据整合到一个知识模型中。第10章“对准信息”重点探讨了如何将数据和本体概念进行对准,进而实现异构信息的集成。第11章“信息共享”介绍了如何以多种格式输出信息,如RDFa、微格式和SPARQL端点等。我们在上述的各章中都采用Friend Tracker应用程序实例进行说明,希望能够更为直接地向您阐述语义Web程序设计的理念。
第Ⅳ部分:扩展语义Web程序设计,这一部分涵盖了从第12章到第15章的几章内容。现在您已经具有了可靠的知识表示和语义Web应用程序开发基础,我们可以在此基础之上扩展到功能更为强大、更具有实用价值的领域,包括语义服务、时空问题、语义Web架构和最优方法,并且几乎对本书所提到的各种工具都进行了扩展应用。第12章“开发和使用语义服务”研究了如何在服务中加入语义,使得这些服务能够融入到语义Web当中。第13章“管理空间和时间”从时空角度对您的知识表示进行了考查。第14章“语义Web模式和最佳实践”依次对各章内容进行了回顾,以本书前面讲述的所有内容为基础,介绍了一系列构建各种语义Web应用程序的架构模式。第15章“进阶”通过洞悉语义Web技术的未来总结了全书。这一章重点对语义Web技术最为关键而且仍在不断演进的四个领域进行了研讨,包括本体管理、高级集成和分发、高级推理以及可视化。它们对目前语义Web领域中仍然不断演进韵各种技术进行了较为严谨的阐述。
读者对象
本书从综合、实用的角度为使用语义Web技术开发应用程序提供了支持。语义Web可以对万维网上已有的多种分布式信息和服务、商业企业和您的个人资源都加以利用。因此,无论您仅仅关注信息还是关注整个应用程序,大多数技术性读者都会从本书中受益。
通过本书的学习,开发人员能够从众多的代码示例中获得第一手的程序设计经验,无论是应用程序开发人员还是仅仅关心多种形式的数据(从数据库模式到XML格式)的信息开发人员,学习本书都会有所收获。这本书为您开始设计自己的语义Web应用程序提供了必需的工具、背景知识和丰富的示例。
大型应用程序的架构师通过本书的学习能够对语义Web的作用有更为深入的理解。语义Web对所有使用信息的系统(几乎是所有的系统)都有所裨益,它能够迅速扩展系统的功能,进而可以更好地利用信息和服务。全书的应用程序对系统架构师来说也十分有用,而在信息和数据管理方面的详细阐述也对负责数据格式和数据处理的信息架构师有所裨益。
技术管理人员可以通过本书对语义Web的强大功能、风险和优势有更为深入的理解。语义Web是一门战略型的技术,是一种真正能够提供巨大优势的解决方案。目前信息领域面临很多很棘手但是却很有价值的挑战,这些难题通常涉及海量信息和服务,而语义Web技术为解决这些难题提供了新的思路。在任何解决方案中,是否需要采用语义Web技术都取决于动态信息和服务资源。本书所给出的代码示例揭示了这门技术的可信度,同时也洞悉了语义Web程序设计自身的挑战,即如何更好地讲行规划。
所需工具
我们强烈建议您下载和定制本书提供的所有代码示例,以便巩固所学的知识。书中涉及到的所有软件工具都是开源的,可以直接从万维网上下载,我们在书中也提供了必要的说明和相关链接。只要您的操作系统支持Java 1.5虚拟机,那么您的计算机就能和书中提到的所有工具兼容。而且当我们在书中介绍每一种工具的时候,同时也会给出下载、安装和配置该工具的说明。此外,我们在附录F中还对所有工具进行了总结说明。
网站资源
在本书配套网站http://semwebprogranuning.org上还有大量可供参考的资源。在该网站上您可以访问本书参考的所有文献资料、完整的代码示例以及本体等,而且您还有机会参与当前正在进行的一些讨论和活动。该网站上也正在不断更新与语义Web相关的书籍和代码,反映了语义Web的持续扩展和演进。我们欢迎广大读者针对本书和本书相关的示例留下宝贵意见。
序言回到顶部↑
在BBN技术公司,我们这个团队自2000年以来就一直工作在语义Web技术的最前沿,刚开始是作为DARPA Agent标记语言(DAML)计划的一份子,随后就开始为政府和商业客户开发各种各样的工具、数据集和应用程序。本书的作者和技术编辑都是(或者曾经是)这个团队的成员,现在这个团队已经成长为一个拥有30位员工的团队。本书反映出了我们作为软件开发人员的知识背景,蕴含了我们在过去8年中所积累的经验和来之不易的见解。
语义Web是一项国际性的工作,需要以便于自动处理、集成和推理的形式来表示数据(包括当前万维网上那些为人类用户所设计的数据)。数据极为重要,如果将分散的数据源连接起来形成一个互联的数据网,那么这些数据就会具有更高的价值。目前与语义Web相关的应用包括从mash-up(混搭)到企业的数据集成、更高级的数据检索、服务组合、智能代理、桌面应用程序与移动应用程序以及协作等。
由于美国和欧盟一些相关研究计划的推动,研究语义Web的群体也在不断壮大,这包括W3C语义Web行动组、许多大人小小的经销商、一系列关于语义Web和语义技术的会议以及大量的开源项目和开发人员。
从许多方面来看,Web 3.0是语义Web的另一个比较恰当的名称。Web 2.0通过FOAF、RSS 1.0、形形色色的语义Wiki项目以及与他人共享的收藏(如MusicBrainz)等搭建社会网络和实现协作,而语义Web也同样重视这些方面。语义Web上的本体不但保留了Web 2.0标签(tag)、微格式(microformats)和自由分类法(folksonomy)的灵活性,而且比它们提供了更多的结构(数据的结构化有助于机器自动处理数据)。
语义Web标准,诸如RDF、OWL和SPARQL在使用过程中也在不断进行演化。与此同时大量面向不同编程环境的高质量工具也涌现了出来,其中有很多都是开源的。Link Open Data项目满足了一项重要的需求,即能够为多个应用程序提供基础数据,而目前这种需求正日益增长。此外,当前很多与语义Web相关的工具和应用程序都具备了高度的可伸缩性。
开发人员通常都会通过阅读别人的代码而获得编程经验。贯穿本书始末,我们采用了一种实用主义的做法,通过大量代码示例和一个涉及多个章节的应用程序来讲述语义Web程序设计。
我们希望您能够认识到语义Web技术为计算机应用领域当前要面对或者即将要面对的一些挑战找到了有效的解决方法;也希望您能够像我们一样,通过学习和掌握语义Web技术而使自己的工作能力再跨上一个新台阶。
BBN Technologies首席工程师Mike Dean
2008年11月作于美国密歇根州安阿伯市
语义Web是一项国际性的工作,需要以便于自动处理、集成和推理的形式来表示数据(包括当前万维网上那些为人类用户所设计的数据)。数据极为重要,如果将分散的数据源连接起来形成一个互联的数据网,那么这些数据就会具有更高的价值。目前与语义Web相关的应用包括从mash-up(混搭)到企业的数据集成、更高级的数据检索、服务组合、智能代理、桌面应用程序与移动应用程序以及协作等。
由于美国和欧盟一些相关研究计划的推动,研究语义Web的群体也在不断壮大,这包括W3C语义Web行动组、许多大人小小的经销商、一系列关于语义Web和语义技术的会议以及大量的开源项目和开发人员。
从许多方面来看,Web 3.0是语义Web的另一个比较恰当的名称。Web 2.0通过FOAF、RSS 1.0、形形色色的语义Wiki项目以及与他人共享的收藏(如MusicBrainz)等搭建社会网络和实现协作,而语义Web也同样重视这些方面。语义Web上的本体不但保留了Web 2.0标签(tag)、微格式(microformats)和自由分类法(folksonomy)的灵活性,而且比它们提供了更多的结构(数据的结构化有助于机器自动处理数据)。
语义Web标准,诸如RDF、OWL和SPARQL在使用过程中也在不断进行演化。与此同时大量面向不同编程环境的高质量工具也涌现了出来,其中有很多都是开源的。Link Open Data项目满足了一项重要的需求,即能够为多个应用程序提供基础数据,而目前这种需求正日益增长。此外,当前很多与语义Web相关的工具和应用程序都具备了高度的可伸缩性。
开发人员通常都会通过阅读别人的代码而获得编程经验。贯穿本书始末,我们采用了一种实用主义的做法,通过大量代码示例和一个涉及多个章节的应用程序来讲述语义Web程序设计。
我们希望您能够认识到语义Web技术为计算机应用领域当前要面对或者即将要面对的一些挑战找到了有效的解决方法;也希望您能够像我们一样,通过学习和掌握语义Web技术而使自己的工作能力再跨上一个新台阶。
BBN Technologies首席工程师Mike Dean
2008年11月作于美国密歇根州安阿伯市
【插图】

点击看大图


加载中...