如何在万维网上发布关联数据
史亚光 王晓光 译
Keven 校
作者:
Chris Bizer(柏林自由大学Web系统小组, 德国)
Richard Cyganiak(柏林自由大学Web系统小组, 德国)
Tom Heath (开放大学知识媒体研究所, 英国米尔顿凯恩斯)
此版本:
sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/20070727/
最新版本:
sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/
摘要:本文档提供了一个如何在万维网上发布关联数据的教程。对关联数据的相关概念进行总体介绍,阐述了在万维网上发布关联数据信息的几种实用方法。
目录
∙ 1. 简介:万维网上的关联数据
∙ 2. 基本原则
1. 万维网架构
2. RDF数据模型
∙ 3. 如何选择URIs?
∙ 4. 哪些词汇可用来表示信息?
∙ 5. 一个URI的RDF描述应返回什么
∙ 6. 如何将RDF链接设置到其他数据源
∙ 7. 发布关联数据信息的几种方法
1. 发布静态RDF文件
2. 发布关系型数据库
3. 发布其他类型的信息
4. 针对现有应用程序和Web APIs进行封装
∙ 8. 检测和调试关联数据
∙ 9. 在万维网上发现关联数据
∙ 10. 延伸阅读及相关工具
∙ 附录A:HTTP会话实例
∙ 附录B:如何使自己置身于数据万维网
∙ 附录C:更新记录
1简介:万维网上的关联数据
关联数据旨在使人们在万维网上共享结构化的数据像共享文件一样方便。
关联数据这个术语是由Tim Berners-Lee在其万维网体系架构笔记《关联数据》中首创的,它指的是一种在万维网上发布和连接结构化数据的方式。关联数据的基本假设是:数据价值和效用随着其链接到其他数据的增多而大大增加。简而言之,关联数据是利用万维网来创建来自不同数据源的语义链接。
关联数据的基本原则是:
1. 利用RDF数据模型在万维网上发布结构化的数据;
2. 利用RDF链接将来自不同数据源的数据联系起来。
(译者注: RDF是Resource Description Framework的缩写,即资源描述框架,一种用于描述Web资源的标记语言。)
运用这两个原则,可以在万维网上创建一个供个人、组织发布和使用有关任何东西的数据共享空间。这个数据共享空间称为数据万维网或语义网。
传统的文件Web可通过HTML浏览器访问,同样,数据Web也可使用关联数据浏览器进行访问。与HTML网页间的链接不同的是,关联数据浏览器能通过后续的RDF链接对用户分辨不同的数据源起到导航的作用。这使得用户可以从最初的数据源迅速跳到另一个由RDF链接相关联的潜在数据源。例如,用户在查一个人的信息时,他可能关注的是这个人的家乡。通过相关的RDF链接提示,用户会被引导至另一个包含其家乡信息的数据集。
正如传统的文件Web通过超文本链接被抓取,数据Web也能沿着RDF链接抓取数据。借助于这些被抓取的数据,搜索引擎能提供类似于关系数据库的先进查询功能。由于查询结果本身是结构化的数据,而不仅仅是被链接到的HTML网页,它们能被立即处理,从而有可能产生一种新型的基于数据万维网的应用程序。
HTML网页间的超文本链接是传统的文件Web成为一个关联整体的粘合剂,对于数据Web来说,这种粘合剂是RDF链接。简单的说,RDF链接能使一块数据和另一块数据产生某种关联。这种关联可以发生在不同的数据类型之间。例如,一个反映人与人之间联系的RDF链接可以表明两个人互联认识,一个能连接到某人在书目数据库里的出版物信息的RDF链接可能表明该人是一份具体文件的作者。
通过Web2.0的APIs(Application Programming Interfaces,应用程序编程接口),如eBay, Amazon, Yahoo, and Google Base APIs,万维网上已经有大量的结构化的数据可被访问。比起这些APIs,关联数据的优势在于它能提供一个简单、标准化的访问机制,而不依赖繁杂的接口和输出格式。当然,这还需要数据源满足以下条件:
∙ 更容易被搜索引擎抓取;
∙ 能够被一般的数据浏览器所访问;
∙ 能够在来自不同数据源的数据间建立链接。
以上对关联数据的有关概念做了简单的介绍,本文档的其余部分结构如下:
第2章:关联数据基本原则概述;
第3章:为如何用URI引用(Universal Resource Identifier统一资源标识符)命名资源提供切实可行的建议;
第4章:探讨怎样从已有词汇和可重用的数据源中表示信息;
第5章:说明什么样的信息应当被纳入可在万维网上发布的RDF描述;
第6章:为如何在来自不同数据源的数据间生成RDF链接提供切实可行的建议;
第7章:利用现有的关联数据发布工具,提出几种完整的在万维网上发布不同类型的关联数据信息的方法;
第8章:探讨了如何检验和调试关联数据源;
第9章:概述万维网上关联数据的替代发现机制。
2基本原则
本章主要阐述关联数据的基本原则。因为关联数据要与万维网的整体架构相结合,我们首先要对万维网架构的基本原则进行总结。然后,本章概述了RDF数据模型并探讨了如何在关联数据背景下的应用该模型。
2.1万维网架构
本节概括了万维网架构的基本原则,并介绍了资源、表示形式等专业术语。如需更详细信息请参考W3C推荐标准《万维网的架构》第1章和W3C技术架构集团(TAG)的现有研究成果。
资源
在万维网上发布信息,我们首先须标识一个域中所感兴趣的项目,包括该项目的属性和我们
想在数据里描述的的关系。在万维网架构术语里,所有的这类项目都称为资源。
在《参引(dereferencing) HTTP URIs》一文里,W3C技术架构集团(TAG)区分了两种资源:信息资源和非信息资源(亦称“其他资源”)。在关联数据环境下这是一种很重要的区分。我们在传统的文件Web到的所有资源,比如网页、图片和其他媒体文件,这些都是信息资源。但是,许多我们想共享的数据却不是信息资源,如人、有形产品,地理位置、蛋白质、科学概念等等。存在这样一个经验法则:所有存在于Web之外的“真实世界的对象”都是非信息资源。
资源标识符
资源是用统一资源标识符(URIs)来标识的。在关联数据环境下,我们只能选择HTTP URIs而不是URNs (Universal Resource Name,统一资源名称)和DOIs (Digital Object Identifier数字对象标识符)等其他URI方案。HTTP URIs之所以是个很好的选择有两个原因:一是在不集中管理的条件下,它们能提供一种简单的方法来创建全球唯一的标识名称。另一个原因是URIs不仅是一个名称,而且还是万维网上访问信息资源的一种方式。在W3C草案《统一资源名称, 命名空间及注册》中,HTTP对其他URI方案如何选用有一个详细的探讨。
表示形式
信息资源有其表示形式。表示形式是指以一定格式存在的字节流,如HTML、 RDF/XML、JPEG。例如,发货单是一类信息资源,它可以用一个HTML网页、PDF打印文档或RDF文档来表示。单一的信息资源可以有很多不同的表示形式,如不同的格式、协议性质或自然语言。
参引HTTP URIs
URI的参引是指为了获取引用资源的相关信息,在万维网上查URI的过程。W3C TAG的草案《参引HTTP URIs》介绍了URIs参引信息资源与非信息资源时的区别。
∙ 信息资源:当一个URI确定某种信息资源被参引时,URI客户端的服务器通常生成一种新的表示形式,对信息资源的当前状态进行及时的快照,并用HTTP响应码200 OK传送回客户端。
∙ 非信息资源 不能直接被参引,因此,万维网架构使用了一个技巧让URIs得以确定非信息资源是否被参引,即服务器不发送资源的表示形式,而是向客户端发送一个信息资源的URI,这
个URI用HTTP响应码303 See Other来描述非信息资源。这个过程就是所谓的303重定向。在第二个步骤,客户端对这个新URI参引,并获取描述原有非信息资源的表示形式
注:数据发布者有两种方法为客户端提供描述非信息资源的信息资源URI:Hash URIs 和 303 重定向。本文档主要关注的是303重定向法。在《语义万维网的“酷”URIs》第4.3节 探讨了这两种方法的折衷处理。
内容协商
HTML浏览器通常将RDF表示形式作为RDF原代码,或者只是将其作为RDF文件下载下来而不显示它们。这对普通用户不是很有帮助。因此,资源除了要有RDF表示形式外,还应有一个合适的的HTML表示形式,这有助于人们理解URI指的是什么。
要做到这一点,需使用称为内容协商的HTTP机制。HTTP客户端每一个请求都发送HTTP头以显示它们所指的是何种表示形式。服务器能检查那些头并选择一种适当的响应。如果头表明用户喜欢HTML,那么服务器会生成一个HTML表示形式。如果用户喜欢RDF,服务器则会生成RDF的表示形式。
非信息资源的内容协商通常以下列方式实施:当URI确定某个非信息资源被参引时,服务器向适合客户端的信息资源发送一个如何在网上发布信息303重定向。因此,一个数据源通常有与一个非信息资源相关联的3个URIs,例如:
∙ www4.wiwiss.fu-berlin.de/factbook/resource/Russia (URI标识非信息资源为Russia)
∙ www4.wiwiss.fu-berlin.de/factbook/data/Russia (以RDF或XML表示形式描述Russia 的信息资源)
∙ www4.wiwiss.fu-berlin.de/factbook/page/Russia (以HTML表示形式描述Russia 的信息资源)
下图显示了如何参引标识非信息资源的HTPP URI,以及这个URI如何与内容协商相结合:
1.客户端对一个识别非资源的URI执行HTTP GET请求。这个URI即是词汇URI。如果客户端是个关联数据浏览器,并倾向于以RDF或XML资源表示形式,它将发出一个接受的指令:application/rdf+xml头伴随该指令。HTML浏览器则发出一个text/html头;
2.服务器通过辨认URI来识别非信息资源。因为服务器无法返回非信息资源的表示形式,它只能用HTTP 303 See Other代码来响应,并向客户端发送一个描述非信息资源的信息资源URI。在RDF里,这称为RDF内容位置;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论