首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何利用 D2R 发布 Linked data(1)前言

如何利用 D2R 发布 Linked data(1)前言

前言 Linked data 最早是在 2007 年 5 月,由 Chris Bizer and Richard Cyganiak 向 W3C SWEO 提交的一个项目申请 Linked Open Data Project 中提出来的。Linked data 提出的目的是构建一张计算机能理解的语义数据网络,而不仅仅是人能读懂的文档网络,以便于在此之上构建更智能的应用。Linked Open Data Project 的宗旨在于号召人们将现有数据发布成 Linked data,并将不同数据源互联起来。在过去的三年中,越来越多的数据提供者和 Web 应用开发者将他们各自的数据发布到 Web 上,并且与其它数据源关联在一起,形成一个巨大的数据 Web。截止 2009 年 7 月,已发布的 Linked data 规模为 6.726.000.000 个 RDF 三元组以及 148.948.000 个 RDF 关联关系,相比 2007 年 5 月的 500 million RDF 三元组以及 120,000 RDF 关联关系,增涨非常迅速。 其数据领域涉及 Geographic Data,Life Sciences,Publications,User Generate Content,Media 等等。
不仅仅是 Public Web,随着企业 2.0 的到来,企业内部也迫切需要越来越多的数据与 Web 上的数据关联,从而构建更好的应用与服务。而现有的数据,尤其是企业内部的数据,大多数存在于关系型数据库中,因此,本文挑选了一个目前应用较为广泛的工具 D2R,介绍如何使用它将关系型数据库的数据发布成 Linked Data。
什么是 Linked data简单来讲,Linked data 即为一系列利用 Web 在不同数据源之间创建语义关联的最佳实践方法。这里的不同数据源,可以来自一个组织内部的不同系统,也可以来自不同组织的不同系统,它们的内容,存储地点以及存储方式都可以完全不同,但它们很可能存在着关联,例如:Amazon 上图书可能与 MySpace 上的人之间可能存在关联,因为图书的作者有可能在 Myspace 上注册账号。总之,Linked data 最大的特点便是将不同的数据关联起来。
Linked data 包含一些基本原则:
  • 资源。在发布一个领域的数据之前,我们需要确定要发布的资源是什么。任何事物,只要你认为是有意义的,有被引用必要的,都可以称之为资源。
  • 资源标识。任何一个资源都用一个 HTTP URI(Uniform Resource Identifiers)来标识。之所有要用 HTTP URI 来标识,是希望数据能够通过 HTTP 协议访问,真正实现基于 Web 的访问与互联。
  • 资源描述。资源可以有多种描述,例如 HTML,XML,RDF 以及 JPEG。文档 Web 的文档主要通过 HTML 格式来表示,数据 Web 的数据主要通过 格式(Resource Description Framework)来表示。RDF 将一个资源描述成一组三元组(主语,谓语,宾语)。
例如:
王老师      教授      英语课
(主语)    (谓语)   (宾语)
主语用来表示需要描述的资源,谓语用来表示主语的某个属性(例如:姓名,出生日期)或者某个关系(例如,雇佣,认识,教授等),宾语表示了属性的值或者关系的值。主语,谓语都需要要用 HTTP URI 来表示。宾语可以用 HTTP URI 标识另一个资源,也可以是字符串表示的文本。我们可以把主语看作是类资源,而将谓语看作是类资源的属性资源,宾语或者是类资源或者是文字型资源。根据宾语的种类,可以将三元组分为两类:文字型三元组以及非文字型三元组,第二种可以看作是类资源之间的关联。
什么是 D2RLinked data 的优点虽然很突出,但要想发挥其作用,其前提是数据必须满足 Linked data 的基本原则。然而实际上上大量已存在的数据并不满足这些原则,于是 Linked data 的推动者们便开发了一系列实用的工具,来帮助完成传统数据向 Linked data 的转换。
D2R 便是其中一个非常流行的工具。它的作用是一个将关系型数据库发布为 Linked data。D2R 主要包括 D2R Server, D2RQ Engine 以及 D2RQ Mapping 语言。
D2R Server 是一个 HTTP Server,它的主要功能提供对 RDF 数据的查询访问接口,以供上层的 RDF 浏览器、SPARQL 查询客户端以及传统的 HTML 浏览器调用。
D2RQ Engine 的主要功能是使用一个可定制的 D2RQ Mapping 文件将关系型数据库中的数据换成 RDF 格式。D2RQ engine 并没有将关系型数据库发布成真实的 RDF 数据,而是使用 D2RQ Mapping 文件将其映射成虚拟的 RDF 格式。该文件的作用是在访问关系型数据时将 RDF 数据的查询语言 SPARQL 转换为 RDB 数据的查询语言 SQL,并将 SQL 查询结果转换为 RDF 三元组或者 SPARQL 查询结果。D2RQ Engine 是建立在 (Jena 是一个创建 Semantic Web 应用的 Java 平台,它提供了基于 RDF,SPARQL 等的编程环境)的接口之上。
D2RQ Mapping 语言的主要功能是定义将关系型数据转换成 RDF 格式的 Mapping 规则。
图 1 呈现了 D2R 的主体架构:
图 1. D2R 的主体构架
返回列表