RDF 概念上的更新和一些本体论知识

紧跟万维网面向数据的步伐

资源描述框架 (RDF) 是面向语义的 Web 的标准框架,也是用于链接数据移动的推荐框架。本文将详细介绍 RDF 概念规范的最新更新和含义,还将介绍一些新的本体论规范,比如数据编目词汇和 RDF 数据库映射系统。

Daniel J Lewis, 计算机科学家, Vanir Systems

Daniel Lewisaniel Lewis 是一名英国的自由计算机科学家、Web 开发人员和作家,目前效力于一家名为 Vanir Systems 的企业。他具有智能系统、人工智能和数据挖掘方面的学术背景,还具有 Web 开发、语义 Web、链接数据、数据库架构和技术推广方面的专业背景。他精通 RDF、XML 和 HTML 技术,熟悉的编程语言有 PHP、Ruby、Python、Java、SQL 和 SPARQL。他通过 OpenLink Softwar,使用 Virtuoso Universal Server 来实践自己的技能。



2012 年 1 月 09 日

2011 年 12 月 06 日,我们向 参考资料 中的 “Toward a Basic Profile for Linked Data” 一文添加了一些资源项。

简介

RDF 是一个用于描述对象的模型。这些对象的范围可以是物理对象,如行星、人或国家;也可以是虚拟对象,如博客文章或 wiki 页面;还可以是抽象的对象,如文档或聊天消息的定义。本体论 是一种对象定义体系,您可以通过 RDF 建模实现它。

本文将详细介绍一些 RDF 概念规范的最近更新和一些最新的本体论规范。这篇文章提供了大量技术细节。如果您希望获得有关 RDF 的基本指南,我建议您阅读 IBM developerWorks 上由 Uche Ogbuji 撰写的 “An introduction to RDF” 或万维网联盟 (W3C) RDF 入门(参阅 参考资料)。

RDF 和链接数据

最近一个与 RDF 有关的概念更新就是链接数据的概念。对于 “链接数据是什么” 的问题存在许多误解,尤其是在链接数据和语义 Web 社区。我会为所有具有一定 Web 技术知识的人尽量简单地解释。链接数据相对容易掌握,因为它就是一种简单的概念,具有几千年的历史跨度。实际上,它与人类与生俱来的观察、命名、研究和描述现实世界对象的能力有关。

要了解链接数据对象,您必须首先理解数据对象和分布式数据对象。数据对象 是对观察结果(即对象)的命名的(即贴上标签)描述(即封装)。分布式数据对象 是指需要使用标识符作为关键字(或句柄)通过网络进行访问的数据对象,因此类似于根据名称,或者从技术的角度讲,使用主关键字(数据库术语)通过网络调用某些人或某些事物。

链接数据对象 是具有统一标识符形式的分布式数据对象,我的意思是说所有链接数据对象标识符都具有一致的外形和形式。一个很好的例子就是使用超文本传输协议 (HTTP) 国家化资源标识符 (IRI) 作为一种统一的标识符形式。以 Doctor Who television 节目为例,该项目具有以下标识符:http://www.bbc.co.uk/programmes/b006q2x0。这是 Doctor Who 的链接数据标识符。您可以使用 HTTP 解除引用 (dereference),表示您使用它作为定位符来通过 HTTP 检索有关该网站的信息。您还可以在自己的数据存储中使用它作为引用。例如,假设您写了一些有关 Doctor Who 这部电视剧的感想,您希望存储这些内容供以后使用。实际上,您是将这些记录附加到个人数据存储中的标识符 http://www.bbc.co.uk/programmes/b006q2x0 后。注意,内容位于您的数据存储,而不是英国广播公司 (BBC) 的数据存储中。您记录的内容是属于您的数据,而节目描述则属于 BBC。

有关链接数据的一个常见误区是要求数据使用某一种 RDF 格式(如 Turtle、RDF/XML、RDFa 或 N3)。这种假设显然是错误的。实际上,数据只需要采用某一种可通过可解除引用的统一资源标识符 (URI) 或 IRI 访问的格式,即 W3C 中的可访问对象标识符或互联网工程设计特别小组 (IETF) 网络资源标识符格式。可以使用 RDF 描述链接数据对象,但是必须注意链接数据不一定必须使用 RDF。

本体论

许多本体论都是专门针对 RDF 的。它们通常使用网络本体语言 (OWL) 定义,或使用 RDF 模式 (RDFS) 系统以类似的方式定义。本体论用于定义许多类型的事物,例如:

  • 博客文章是什么,使用语义互连的在线社区项目 (SIOC) 本体论。
  • 标记之间如何关联,使用 Meaning Of A Tag (MOAT) 和简易知识组织系统 (SKOS) 本体论。
  • 用户配置文件与哪些属性相关,使用 Friend of a Friend (FOAF) 本体论。

有关如何开发本体论的内容超出了本文的范围。如果您希望了解有关本体论的更多知识,IBM developerWorks 中有关于使用 OWL 创建本体论的优秀教程,作者是 Michel Mitri 和 Nicholas Chase。参见 参考资料,获得有关该主题和其他文章和教程的链接。

RDF 概念更新

RDF 概念文档的理念是指定 RDF 建模规则,即许多现代数据存储提供的相对简单的主-谓-宾三重结构以及最新的图-主-谓-宾四重结构背后隐藏的逻辑复杂性。

比较规范版本 1.0 和 1.1

2004 RDF 概念和抽象语法 1.0 建议与 2011 年的工作草稿有许多不同之处。最重要的差异是 RDF 从 RDF/XML 中分离出来,在语言代码方面显式使用 Best Current Practice (BCP) 47,使用 Unicode 友好的 IRI 而不是基于 ASCII 的 URI,使用 Skolem IRI 而不是未命名的空白节点 (blank node),以及从 RDF 概念中去除可扩展标记语言 (XML) 类型。除此之外,大部分修改都基于规范清除 (cleanup) 和使用语言的语义与实际流 (pragmatic flow)。对 2004 版作出的更多修改可以在 2011 工作草案中查看。这些修改的含义显然要比修改本身更有意义,下面将介绍这些修改。

RDF 概念和抽象语法 1.1 的含义

请注意,在撰写本文之际,RDF 概念 1.1 规范正处于工作草案状态,这意味着一些概念可能还没有包含到最终的发布规范中。尽管如此,它也展示了一些更新的想法和最佳实践。您必须认识到这是一个 RDF 概念文档,因此,它侧重于概念而不是任何具体的格式。W3C 的 RDF 工作组将在 2013 年 2 月完成对 RDF 概念、RDFS、Turtle、RDF/XML 和 RDF/JSON 的更新。

根据以上对 RDF 概念修改的概述,您可以发现语义 Web 社区的开发人员使用 RDF 作为一种建模框架(就好像应该使用它一样),并将其从格式(不管是 XML 还是 Turtle 等)中分离出来。这种改变允许在未来为 RDF 模型开发和使用其他格式。这种改变还意味着开发人员可以使用他们熟悉的格式,或者最适合正在开发的特定软件或 Web 应用程序的格式。它还允许第三方服务或库从一种格式转换为另一种格式,而不会产生逻辑问题。

使用全球友好的字符集一直是 W3C 的核心,正如该组织的名称所暗示的一样。因此,在整个 RDF 框架及其格式中继续使用 Unicode 非常重要。您将看到规范从 Unicode v3 升级到 Unicode v4,以及要求使用基于 Unicode 的 IRI 而不是基于 ASCII 的 URI。

空白节点一直是语义 Web 理论中的一个难点,并导致每个数据存储实现的方式都不同,通常采用不一致的方式。Skolemization 源自于正式的逻辑理论,而 Skolem IRI 被建议用作一种全球惟一的统一 IRI 生成系统。关于这一点仍然存在许多争论,有些人认为使用 Skolem 这个名称并不妥当,因为它具有明显的数学特性和潜在的概念行李 (conceptual baggage)。这个部分中最重要的方面是在创建、操作和呈现数据时避免使用空白节点。

工作草案的最后一个重要意义是,承认 RDF 中的文字值(即明文值)与 XML 文字数据类型具有一定联系。该概念的目的是将 RDF 从其对 XML 规范的实际或象征性依赖中完全分离出来,因此,需要从 XML 文字数据类型中去除 RDF。RDF 工作组并没有说明 RDF 文字具体是什么样的。然而,除了开发人员在为文字定义语言(如,en 用于普通英语,或 zh_Hant 用于繁体中文中的汉语)时必须使用 BCP 47 语言标记外,RDF 1.1 中的文字与 RDF 1.0 中的文字并没有什么不同。

一些较新的本体论

本文的第二部分将简要介绍一些最近出现但非常重要的本体论。它们有可能会影响未来的链接数据 Web。我将它们分为数据编目本体论和 RDF 数据库映射系统。

数据编目本体论

越来越多的组织开始开发和使用自己的本体论,并且通常将它们发布给公众,因此需要将这些数据集列出并根据类定义和属性定义的相似性在这些数据集之间建立联系。

互连数据集词汇 (VoID) 是一种使用 RDFS 开发的本体论。它描述数据集,或者更确切地说,允许数据集在其上提供元数据。它分为四个部分:

  • 一般元数据(通过 Dublin Core)
  • 访问元数据(即,如何连接到数据集并访问特定数据)
  • 结构化元数据(即,使用的模式的细节,如何查询数据集,与数据集集成的示例)
  • 数据集之间的联系的描述,实际上这允许在链接集(实为分布式图)之间创建标签。

数据编目词汇 (dcat) 是一种使用 RDFS 开发的简单的本体论,可以用于描述一个数据集集合。dcat 的目的是实现目录互操作性。它过去用于描述政府数据集。由于政府数据集通常以不同格式存在,数据查询往往很困难。因此,dcat 提供了所含数据的元数据,其可用格式、以及其他各种概念性和组织性元数据。

RDF 数据库映射系统

关系数据库过去常用于软件和 Web 应用程序系统。从关系数据库管理系统 (RDBMS) 的关系型结构迁移到 RDF 指向的面向对象结构是非常困难的一件事。

RDB to RDF Mapping Language (R2RML) 是一种提供关系数据库和 RDF 数据集之间映射的语言。R2RML 规范使用 RDF/Turtle 规范提供这些映射。它的中心思想是尽可能实现直接的、简单的映射。例如,这种形式的映射允许用户使用 SPARQL 查询关系数据库,过去只能通过使用结构化查询语言 (SQL) 实现。它还允许跨 Linked Data Web 在行级别链接关系数据库。这一概念的功能非常强大,因为它消除了手动创建的中间层,并且动态地将关系数据公开为 RDF。R2RML 使您可以轻松地将所有封闭的关系数据库转换为 Web 可访问的模式。

关系数据库(即 RDB)直接映射实际上是 R2RML 的默认行为,目的是提供从关系数据库表到 RDF 数据集合的简单转换机制。这种方法允许使用 RDF 对关系数据库表执行数据注入 (injection),以及从关系数据库表到 RDF 的检索。RDB 直接映射为每个表提供了简单的有向图,而更稳定的 R2RML 系统提供了跨表格映射到更高级的 RDF 模型的功能。

结束语

总而言之,RDF 已经发展得十分成熟。虽然 RDF 1.0 概念规范是于 2004 年发布的,但是 RDF 本身自 1999 年以来一直应用于 W3C 的引擎中。RDF 的概念对于链接数据理论至关重要,后者在形式逻辑和自然的事物命名方面有悠久的历史。RDF 1.1 概念规范包含了许多受欢迎的更新,最重要的是将 RDF/XML 从 RDF 中分离出来。当前草案中的许多其他更新对于集成和语义改进有很大的帮助。当然,1.1 规范中还将引进更多的概念。

RDF 概念并不是在 RDF 相关领域中取得的惟一进展,此外还发布了许多激动人心的本体论,其中包括针对本体论编目的 VoID 和 dcat,以及针对数据库操作的 R2RML 和 RDF 直接映射。随着更多本体论的日益成熟,商业 Web 和开源应用程序都将能够实现他们。

Linked Data Web 即将迎来一个激动人心的时刻。出现了许多受欢迎的变化,比如将基于 Web 的链接数据从语义 Web 中分离,将 RDF 从 RDF/XML 中分离,以及更好地从整体上理解分布式数据和国际化数据。一些概念、框架、本体论和技术都已经准备就绪,现在,是时候将它们付诸于实践了。

参考资料

学习

  • An introduction to RDF(Uche Ogbuji, developerWorks,2000 年 12 月):阅读这篇优秀的介绍文章,其中介绍了 RDF 及其 RDF/XML 语法。
  • RDF Primer(W3C,2004 年 2 月):获得有关使用 RDF 描述对象的基本知识。注意,其中的示例均使用 RDF/XML 格式。
  • RDF Concepts and Abstract Syntax(W3C,2004 年 2 月):了解 RDF 的概念性内容。我在本文中使用该文档比较了 RDF 概念的1.0/2004 与 1.1/2011 版本。
  • RDF 1.1 Concepts and Abstract Syntax(W3C,2011 年 8 月):了解 RDF 的概念性内容。我在本文中使用该文档比较了 RDF 概念的1.0/2004 与 1.1/2011 版本。
  • DCAT Vocabulary Overview(DERI,2010 年 3 月):查看数据编目词汇的概念性内容。
  • VoID Vocabulary Overview(DERI,2010 年 3 月):了解互连数据集词汇的概念性内容。
  • R2RML: RDB to RDF Mapping Language(W3C,2011 年 9 月):了解有关将关系数据库映射到 RDF 数据结构的概念和语法。
  • A Direct Mapping of Relational Data to RDF(W3C,2011 年 9 月):了解有关将关系数据库表直接映射到 RDF 数据结构的概念和语法。
  • FOAF Project 站点:进一步了解有关 Friend of a Friend 本体论的细节,它普遍用于描述用户配置文件和朋友关系。
  • SKOS 主页:查看该门户以进一步了解 SKOS 本体论,它通常用于快速、简单地描述知识概念。
  • MOAT 网站:获得有关该本体论的详细内容,它用于快速、简单地描述在线标记系统中的标记之间的关系。甚至出现了一个 Drupal 插件,可以在 Drupal Taxonomy System 中实现 MOAT,从而实现更多有意义的或具有语义的标记。
  • SIOC 网站:了解有关该本体论的更多信息,它通常用于描述社交网络系统之间的关系。
  • Dublin Core Metadata Initiative:了解这个有关元数据设计和最佳实践的用户组。它最初帮助向超文本标记语言 (HTML) 添加元数据,但是现在为 RDF 提供本体论。Dublin Core Metadata 描述了在线文档的基本作者身份和与语境有关的元数据。
  • RDF Vocabulary Description Language 1.0: RDF Schema(W3C,2004 年 2 月):阅读这份有关 RDFS 的规范,这是一种基本的本体论/模式系统,用于使用 RDF 描述数据类型(即分类)。
  • OWL(W3C,2009 年 10 月):参见这份关于一种健壮的本体论/模式系统的规范,用于使用逻辑性强的 RDF 描述数据类型(即分类)。
  • 终极 mashup —— Web 服务和语义 Web,第 4 部分: 创建本体(Michel Mitri 和 Nicholas Chase,developerWorks,2007 年 3 月):学习为 RDF 中的使用创建本体论。
  • BCP 47 规范(2009 年 9 月):阅读并了解有关语言标记的结构、内容、构造和语义的更多信息。
  • Toward a Basic Profile for Linked Data: A collection of best practices and a simple approach for a Linked Data architecture(Martin Nally 和 Steve Speicher,developerWorks,2011 年 12 月):通读这篇有关链接数据的最佳实践和简单方法的集合。尽管使用链接数据从现有信息中推断新信息非常有趣,但是相关的指导非常少。本文提供了关于此内容的背景信息,并提供了有关 Basic Profile for Linked Data 的建议。
  • 本文作者的更多文章(Daniel J. Lewis,developerWorks,2008 年 10 月至今):阅读有关语义 Web、链接数据、PHP、CSS、ODBC 和其他技术的文章。
  • XML 新手入门 获得学习 XML 所需的资源。
  • developerWorks XML 技术专区:获取提高您 XML 技能所需的资源,包括 DTD、模式和 XSLT。访问 XML 技术库,获得广泛的技术文章和技巧、教程、标准和 IBM 红皮书。
  • IBM XML 认证:了解如何才能成为一名 IBM 认证的 XML 和相关技术的开发人员。
  • developerWorks 技术活动网络广播:随时关注这些活动中的技术。
  • Twitter 上的 developerWorks:现在就加入并关注 developerWorks 推文。
  • developerWorks 播客:聆听针对软件开发人员的有趣的访谈和讨论。
  • developerWorks 演示中心:观看面向初学者的产品安装和设置演示,以及为经验丰富的开发人员提供的高级功能。

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML, Web development
ArticleID=784254
ArticleTitle=RDF 概念上的更新和一些本体论知识
publish-date=01092012