编辑推荐
当前的万维网主要由各种相互链接的文档构成,适合人类用户使用。未来的万维网将包括可以被识别和链接的数据集合,以方便进行自动处理。为此,万维网联盟制订了关联数据标准,它已被Google、Facebook、IBM、Oracle以及世界各国的政府机构所采用。本书利用JavaScript、Python等常用工具,介绍了在万维网上使用关联数据的实用技巧。本书通过复杂性逐步增加的示例,循序渐进地探讨HTTP URI、RDF、SPARQL查询语言等基本概念,并利用各种关联数据文档格式来创建功能强大的Web应用程序和混合应用程序。本书内容:查找并使用关联数据;在应用程序中使用关联数据;采用标准Web技术构建关联数据应用程序。本书专为Web开发人员编写,读者无需具备关联数据或语义网技术的背景。
内容简介
关联数据(linked data)是在万维网上表示和链接结构化数据的一系列技术,旨在构建一张计算机能够理解的语义数据网络,而不仅仅是人能读懂的文档网络,以便在此之上构建更智能的应用。本书分为4个部分,dy部分主要介绍了关联数据的基础知识、RDF(资源描述框架)数据模型,以及表示关联数据的通用标准序列化格式,旨在引导读者识别并使用万维网上的关联数据;第e部分重点讨论了开发和发布关联数据所用的技术,以及聚合数据所用的搜索技术;第3部分则讨论了如何使用RDFa(属性中的资源描述框架)对网页进行SEO、RDF数据库与传统的关系数据库的区别、在万维网上共享用户数据集和项目的方式,以及对语义网搜索结果中包含的项目和数据集进行优化;第4部分则将之前的内容进行了汇总,使用一个开源的关联数据应用服务器开发一个复杂的应用程序,并总结了从准备到发布关联数据的全过程。本书适合具备HTML、URI、HTTP等基本的Web技术基础,并且想要了解、使用和发布关联数据的应用程序开发人员阅读。
作者简介
David Wood担任万维网联盟RDF工作组共同主席,Marsha Zaidman担任美国玛丽华盛顿大学计算机科学系主任,Luke Ruth在Callimachus项目中负责关联数据的开发,Michael Hausenblas领导爱尔兰关联数据研究中心的工作。
目录
- 第 1部分 关联数据网
- 第 1章 关联数据简介 2
- 1.1 关联数据定义 3
- 1.2 关联数据 4
- 1.3 关联数据实战 5
- 1.3.1 释放数据 6
- 1.3.2 关联数据在Google富摘要和Facebook“点赞”中的应用 6
- 1.3.3 关联数据拯救了BBC 7
- 1.4 关联数据原则 9
- 1.4.1 原则:使用URI命名事物 10
- 1.4.2 原则:使用HTTP URI以便于用户查找事物名称 10
- 1.4.3 第3原则:在用户查找URI时提供有用的信息 11
- 1.4.4 第4原则:包含指向其他URI的链接 12
- 1.5 关联开放数据(LOD)项目 12
- 1.6 数据描述 13
- 1.7 RDF:关联数据所用的数据模型 16
- 1.8 关联数据应用程序剖析 18
- 1.8.1 获取设施的关联数据 19
- 1.8.2 通过关联数据创建UI 21
- 1.9 小结 24
- 第 2章 RDF:关联数据所用的数据模型 25
- 2.1 关联数据原则让RDF得以扩展 26
- 2.2 RDF数据模型 30
- 2.2.1 三元组 31
- 2.2.2 空节点 32
- 2.2.3 类 33
- 2.2.4 类型字面量 34
- 2.3 RDF词表 35
- 2.3.1 通用词表 36
- 2.3.2 自定义词表 39
- 2.4 关联数据所用的RDF格式 40
- 2.4.1 Turtle:人类可读的RDF 41
- 2.4.2 RDF/XML:企业所用的RDF 44
- 2.4.3 RDFa:嵌入HTML网页的RDF 46
- 2.4.4 JSON-LD:JavaScript开发所用的RDF 49
- 2.5 与Web服务器和关联数据发布有关的问题 52
- 2.6 文件类型与Web服务器 54
- 2.7 对Apache服务器的控制有限时如何处理 55
- 2.8 关联数据平台 56
- 2.9 小结 56
- 第3章 使用关联数据 57
- 3.1 像万维网一样思考 57
- 3.2 如何使用关联数据 58
- 3.3 查找分布式关联数据的工具 60
- 3.3.1 Sindice 60
- 3.3.2 SameAs.org 61
- 3.3.3 Data Hub 62
- 3.4 聚合关联数据 63
- 3.4.1 聚合已知数据集中的关联数据 63
- 3.4.2 使用浏览器插件获取网页中的关联数据和RDF 67
- 3.5 关联数据网的抓取与数据的聚合 69
- 3.5.1 使用Python抓取关联数据网 69
- 3.5.2 利用聚合后的RDF输出HTML 72
- 3.6 小结 72
- 第 2部分 关联数据进阶
- 第4章 利用FOAF创建关联数据 74
- 4.1 创建个人FOAF配置文件 75
- 4.1.1 FOAF词表简介 76
- 4.1.2 方法I:手动创建基本的FOAF配置文件 77
- 4.1.3 改进基本的FOAF配置文件 78
- 4.1.4 方法II:自动生成FOAF配置文件 80
- 4.2 为FOAF配置文件添加更多内容 83
- 4.3 发布FOAF配置文件 85
- 4.4 FOAF配置文件的可视化 86
- 4.5 应用程序:采用自定义词表链接RDF文档 87
- 4.5.1 创建愿望清单词表 87
- 4.5.2 创建、发布并链接愿望清单文档 88
- 4.5.3 为愿望清单文档添加内容 89
- 4.5.4 小书签程序初探 91
- 4.6 小结 92
- 第5章 SPARQL:查询关联数据网 93
- 5.1 典型SPARQL查询概述 94
- 5.2 采用SPARQL查询扁平RDF文件 95
- 5.2.1 查询单个RDF文件 95
- 5.2.2 查询多个RDF文件 98
- 5.2.3 查询万维网上的RDF文件 100
- 5.3 查询SPARQL端点 100
- 5.4 SPARQL查询类型 102
- 5.4.1 SELECT查询 102
- 5.4.2 ASK查询 104
- 5.4.3 DESCRIBE查询 105
- 5.4.4 CONSTRUCT查询 105
- 5.4.5 SPARQL 1.1 Update 106
- 5.5 SPARQL结果格式(XML与JSON) 107
- 5.6 利用SPARQL查询创建网页 108
- 5.6.1 创建SPARQL查询 109
- 5.6.2 创建HTML页面 110
- 5.6.3 创建JavaScript表格 111
- 5.6.4 创建JavaScript地图 112
- 5.7 小结 115
- 第3部分 关联数据实战
- 第6章 强化搜索引擎的结果 118
- 6.1 通过嵌入RDFa以强化HTML 119
- 6.1.1 利用FOAF词表添加RDFa标记 122
- 6.1.2 在HTML span属性中使用RDFa 125
- 6.1.3 从包含FOAF的HTML文档中提取关联数据 126
- 6.2 采用GoodRelations词表嵌入RDFa 127
- 6.2.1 GoodRelations概述 127
- 6.2.2 利用GoodRelations强化嵌入RDFa的HTML 130
- 6.2.3 对选择RDFa GoodRelations的进一步观察 136
- 6.2.4 从包含 GoodRelations的HTML文档中提取关联数据 138
- 6.3 采用Schema.org词表嵌入RDFa 141
- 6.3.1 Schema.org概述 141
- 6.3.2 通过Schema.org强化使用RDFa Lite的HTML 143
- 6.3.3 对利用Schema.org选择RDFa Lite的进一步
- 观察 145
- 6.3.4 从包含Schema.org的HTML文档中提取关联数据 147
- 6.4 选择Schema.org还是GoodRelations 148
- 6.5 从HTML中提取RDFa并执行SPARQL查询 149
- 6.6 小结 150
- 第7章 RDF数据库基础 151
- 7.1 RDF数据库分类 151
- 7.1.1 RDF数据库的选择 153
- 7.1.2 RDF数据库与关系数据库的比较 153
- 7.1.3 RDF数据库的优点 158
- 7.2 将电子表格数据转换为RDF 159
- 7.2.1 将MS Excel转换为RDF的简单示例 159
- 7.2.2 将MS Excel转换为关联数据 161
- 7.2.3 选择RDF转换工具 163
- 7.3 应用程序:在RDF数据库中收集关联数据 163
- 7.3.1 过程概述 163
- 7.3.2 利用Python聚合数据源 164
- 7.3.3 理解输出 167
- 7.4 小结 169
- 第8章 数据集 170
- 8.1 DOAP词表 171
- 8.1.1 创建DOAP文件 172
- 8.1.2 使用DOAP词表 174
- 8.2 利用VoID记录数据集 178
- 8.2.1 VoID概述 178
- 8.2.2 准备VoID文件 179
- 8.3 站点地图 181
- 8.3.1 非语义站点地图 182
- 8.3.2 语义站点地图 183
- 8.3.3 启用站点发现 185
- 8.4 链接到其他用户的数据 187
- 8.5 示例:利用owl:sameAs实现数据集之间的互联 193
- 8.6 加入Data Hub 195
- 8.7 从DBpedia请求指向用户数据集的出站链接 197
- 8.8 小结 198
- 第4部分 归纳与整合
- 第9章 Callimachus:关联数据管理系统 200
- 9.1 Callimachus入门 202
- 9.2 使用RDF类创建网页 202
- 9.2.1 为Callimachus添加数据 203
- 9.2.2 向Callimachus通告OWL类 204
- 9.2.3 将Callimachus视图模板与用户的类相互关联 205
- 9.3 创建并编辑类实例 207
- 9.3.1 新建笔记 208
- 9.3.2 为笔记创建视图模板 210
- 9.3.3 为笔记创建编辑模板 211
- 9.4 应用程序:利用多个数据源创建网页 212
- 9.4.1 利用NOAA和EPA创建并查询关联数据 213
- 9.4.2 创建包含应用程序的网页 214
- 9.4.3 创建用于检索和显示关联数据的JavaScript 217
- 9.4.4 将代码段整合在一起 219
- 9.5 小结 222
- 第 10章 回顾发布关联数据 223
- 10.1 准备数据 224
- 10.2 构建URI 225
- 10.3 选择词表 225
- 10.4 自定义词表 226
- 10.5 用户数据与其他数据集的互联 227
- 10.6 发布数据 227
- 10.7 小结 227
- 第 11章 不断发展的万维网 228
- 11.1 关联数据和语义网之间的关系 228
- 11.2 未来展望 233
- 11.2.1 Google扩展富摘要 234
- 11.2.2 数字问责和透明度立法 234
- 11.2.3 广告的影响 234
- 11.2.4 强化的搜索 234
- 11.2.5 巨头的参与 235
- 11.3 小结 235
- 附录A 开发环境 236
- 附录B SPARQL结果格式 239
- 词汇表 245