RDF 1.2 入门指南

W3C 小组说明草案

关于本文档的更多详情
本版本:
https://www.w3.org/TR/2026/DNOTE-rdf12-primer-20260416/
最新发布版本:
https://www.w3.org/TR/rdf12-primer/
最新编辑草案:
https://w3c.github.io/rdf-primer/spec/
历史:
https://www.w3.org/standards/history/rdf12-primer/
提交历史
最新推荐标准:
https://www.w3.org/TR/rdf11-primer
编辑:
Pierre-Antoine Champin
Niklas Lindström
前任编辑:
Guus Schreiber
Yves Raimond
Frank Manola
Eric Miller
Brian McBride
反馈:
GitHub w3c/rdf-primer拉取请求新议题未关闭议题
public-rdf-star-wg@w3.org 主题行为 [rdf12-primer] …消息主题…归档

摘要

本入门指南旨在为读者提供有效使用 RDF 所需的基础 知识。它介绍了 RDF 的基本概念,并展示了使用 RDF 的具体示例。 第 3-5 节可作为 RDF 关键 元素的极简介绍。RDF 1.1 与 RDF 1.2 之间的变更汇总在单独文档中:RDF 1.2 新变化 [RDF12-NEW]。

本文档状态

本节描述本文档在发布时的状态。当前 W3C 出版物列表以及本技术报告的最新修订版可在 W3C 标准和草案 索引中找到。

本文档是 RDF 1.2 文档套件的一部分。它是一份关于 RDF 关键概念的 信息性说明。有关 RDF 1.2 的规范性 规范,请读者参阅 RDF 1.2 概念与抽象数据模型 文档 [RDF12-CONCEPTS]。

本文档由 RDF 与 SPARQL 工作组以 小组说明草案的形式发布,采用 说明轨道

小组说明草案未获得 W3C 或其成员的认可。

这是一份草案文档,可能随时被其他文档更新、替换或废止。 除作为进行中的工作外,不宜引用本文档。

W3C 专利 政策 不对本文档附带任何许可要求或承诺。

本文档受 2025年8月18日 W3C 流程文档管辖。

1. 引言

资源描述框架(RDF)是一个用于 表达有关 资源的信息的框架。 资源 可以是任何事物,包括文档、人物、物理对象和抽象 概念。

RDF 适用于 Web 上的信息需要由应用程序 处理,而不只是显示给 人看的情形。RDF 提供了一个用于表达此类 信息的通用框架,使其可以在应用程序之间交换,而不会 丢失含义。由于它是一个通用框架,应用程序 设计者可以利用通用 RDF 解析器和 处理工具的可用性。在不同应用程序之间 交换信息的能力意味着,这些信息可以提供给 最初创建它的应用程序之外的其他应用程序使用。

特别是,RDF 可用于在 Web 上发布并互连数据。 例如,检索 http://www.example.org/bob#me 可能会提供有关 Bob 的数据,包括他 认识 Alice 这一事实,其中 Alice 由她的 IRI 标识(IRI 是 “国际化资源标识符”;详见 3.2 IRI)。 检索 Alice 的 IRI 随后可能会提供有关她的更多数据,包括指向 她的朋友、兴趣等其他数据集的链接。人或 自动化过程随后可以沿着这些链接,并聚合有关这些 各种事物的数据。RDF 的此类用法通常 被称为关联数据 [LINKED-DATA]。

本文档不是规范性文档,也不会给出 RDF 1.2 的完整 说明。RDF 的规范性 规范可在以下文档中找到:

2. 为什么使用 RDF?

下面展示了 RDF 的各种不同用途,面向 不同的实践社群。

3. RDF 数据模型

3.1 三元组

RDF 允许我们对资源作出陈述。 这些陈述的格式很简单。一个陈述始终 具有以下结构:

<subject> <predicate> <object>

一个 RDF 陈述表示两个资源之间的关系。 主语宾语 表示被关联的两个资源; 谓语表示它们 关系的性质。该关系以有方向的方式表述 (从主语到宾语),在 RDF 中称为 属性。由于 RDF 陈述由 三个元素组成,因此它们称为三元组

下面是 RDF 三元组示例(以伪代码非正式表示):

示例 1:示例 三元组(非正式)
<Bob> <is a> <person>.
<Bob> <is a friend of> <Alice>.
<Bob> <is born on> <the 4th of July 1990>.
<Bob> <is interested in> <the Mona Lisa>.
<the Mona Lisa> <was created by> <Leonardo da Vinci>.
<the video 'La Joconde à Washington'> <is about> <the Mona Lisa>.

同一资源通常会在多个三元组中被引用。在上面的示例中, Bob 是四个三元组的主语,而 Mona Lisa 是 一个三元组的主语和两个三元组的宾语。使同一资源能够 在一个三元组中处于主语位置、在另一个三元组中处于宾语位置的这种能力, 使得在三元组之间发现连接成为可能,这是 RDF 能力的 一个重要部分。

一组三元组称为。 我们可以将一组三元组可视化为一个连通图。 图由节点和弧组成。三元组的主语和 宾语构成图中的节点; 谓语构成弧。图 1 展示了由示例三元组产生的图。

示例三元组的非正式图
1 示例三元组的非正式图

一旦你拥有这样的图,就可以使用 SPARQL [SPARQL12-CONCEPTS] 来 查询例如对 Leonardo da Vinci 所作绘画感兴趣的人。

RDF 数据模型在本节中以“抽象语法”的形式 描述,即一种独立于特定具体语法 (用于表示存储在文本文件中的三元组的语法)的数据模型。 不同的具体语法从 抽象语法的角度看可能会生成完全相同的图。 RDF 图的语义 [RDF12-SEMANTICS] 是根据 此抽象语法定义的。具体的 RDF 语法将在 后面的 5. 编写 RDF 图中介绍。

在接下来的四个小节中,我们讨论出现在三元组中的四类 RDF 术语: IRI、字面量、空白节点和三元组项。

3.2 IRI

缩写 IRI 是“国际化资源 标识符”的简称。一个 IRI 标识一个资源。人们用作 Web 地址的 URL(统一资源定位符) 是 IRI 的一种形式。IRI 的其他形式 为资源提供标识符,而不暗示其位置 或如何访问它。IRI 的概念是 URI(统一资源标识符)的 泛化,允许在 IRI 字符串中使用 非 ASCII 字符。IRI 在 RFC 3987 [RFC3987] 中规定。

IRI 可以出现在三元组的所有三个位置中。

如前所述,IRI 用于标识文档、 人物、物理对象和抽象概念等资源。 例如,DBpedia 中 Leonardo da Vinci 的 IRI 是:

示例 2:Leonardo da Vinci 的 IRI
http://dbpedia.org/resource/Leonardo_da_Vinci

INA 中一段关于 Mona Lisa、题为 “La Joconde à Washington” 的视频在 Europeana 中的 IRI 是:

示例 3:关于 Mona Lisa 的视频的 IRI
http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619

IRI 是全局标识符,因此其他人可以复用这个 IRI 来标识同一事物。例如,下面的 IRI 被许多人用作 RDF 属性,用于声明人与人之间的熟识 关系:

示例 4:foaf:knows 的 IRI
http://xmlns.com/foaf/0.1/knows

RDF 对 IRI 表示什么并不作假设。不过, 特定的词汇表或约定可以为 IRI 赋予含义。例如, DBpedia 使用形如 http://dbpedia.org/resource/Name 的 IRI 来表示 相应 Wikipedia 文章所描述的事物。

3.3 字面量

字面量 用于编码值,而不是通过 IRI 标识它们。字面量的示例 包括诸如 "La Joconde" 的字符串、按 ISO-8601 格式化的日期(如 1990-07-04),以及数字(如 3.14159)。 字面量始终与一种 数据类型相关联,使其能够 被正确解析和解释。

字符串可以可选地与一个语言标签相关联; 例如,为了说明名称 “Leonardo da Vinci” 是其名称的英文 版本,可以将该字符串与 en 语言标签关联,将 “Léonard de Vinci” 与 fr 语言标签(法语)关联, 并将“李奥纳多·达·文西”与 zh 语言标签(中文)关联。 此类字面量称为 带语言标签的字符串

字符串还可以可选地与一个初始基 方向相关联,其值可以是 ltrrtl (分别表示从左到右和从右到左);例如,英文 标题 HTML & CSS: Designing and Creating Websitesen 语言标签关联,并被识别为 从左到右书写,而在阿拉伯语翻译中则会从右向 左书写,如: HTML و CSS: تصميم و إنشاء مواقع الويب, 当它与 ar 语言标签和 rtl 初始文本方向相关联时。此类字面量称为 有方向的带语言标签 字符串

基方向用于辅助 BIDI [I18N-Glossary] 处理。 如果没有初始基方向,上面的示例标题会被错误渲染 为: HTML و CSS: تصميم و إنشاء مواقع الويب。 这是由于编码形式中初始字符具有从左到右的方向性, 它们位于随后被 BIDI 算法 识别为从右到左的阿拉伯字母之前。更多示例可见于文章 Web 上 bidi 与 语言元数据的用例

字面量只能出现在三元组的宾语位置

RDF Concepts 文档提供了一份(非穷尽的) 数据类型列表。 其中包括许多由 XML Schema 定义的数据类型,如 string、boolean、integer、decimal 和 date。

3.4 空白节点

IRI 和字面量共同提供了 写下 RDF 陈述的基本材料。此外,有时能够在不费心使用全局 标识符的情况下谈论资源也很方便。 例如,我们可能想声明 Mona Lisa 画作的背景中有一棵未标识的树,而我们知道它是一棵柏树。 没有全局标识符的资源,如这幅画中的柏树,可以在 RDF 中用 空白节点表示。 空白节点就像代数中的简单变量; 它们表示某个事物,而不说明其值是什么。

空白节点可以出现在三元组的主语和宾语 位置。它们可用于 表示没有用 IRI 明确命名的资源。

空白节点示例:柏树
2 非正式空白节点示例:Mona Lisa 的背景描绘了 一个属于柏树类的未命名资源。

3.5 三元组项

作为 RDF 中描述的基本单位,一个三元组陈述了两个资源之间简单的、 有方向的关系。有时,我们需要描述 此类关系背后更详细的情境。从概念上说,我们 可以用更详细的内容来注释一个陈述:

Bob 感兴趣于 Mona Lisa 是一个 兴趣 1998年10月4日
3 非正式三元组注释示例:一个用自身特征描述的 陈述的具体化。

与表示该关系的弧结合起来,其下方的紫色 圆圈表示一个具体化器。这是 Bob 的兴趣, 具有类型和起始日期,作为 Bob 对 Mona Lisa 感兴趣这一事实的 具体情境。

在形式上,此注释由四个三元组组成:

<Bob> <is interested in> <the Mona Lisa> .
<Bob's interest> <is a concretization of> <<( <Bob> <is interested in> <the Mona Lisa> )>> .
<Bob's interest> <is an> <Interest> .
<Bob's interest> <since> <4th of October 1998> .

第二个三元组称为具体化三元组,并 表达由第一个三元组所陈述命题的一个具体化。 具体化三元组的宾语是一个三元组项。它表示 命题本身,作为一个通过其构成的 主语、谓语和宾语组件标识的逻辑抽象对象。

三元组项只能出现在宾语位置, 并且应与具体化三元组的特殊 reifies 谓词一起使用。

3.6 多个图

RDF 提供了一种机制,用于将 RDF 陈述分组到多个 图中,并将这些图与一个 IRI 相关联。多个图由 RDF 1.1 引入 RDF 数据模型。在实践中,RDF 工具构建者和数据管理者 需要一种机制来谈论一组三元组集合的子集。 多个图最初是在 RDF 查询语言 SPARQL 中引入的。因此,RDF 数据模型扩展了 多个图这一概念,该概念与 SPARQL 紧密对齐。

RDF 文档中的多个图构成一个 RDF 数据集。 一个 RDF 数据集可以有多个命名图,以及 至多一个未命名(“默认”)图。

例如,示例 1 中的 陈述可以分组成两个命名 图。第一个图可以由社交网络 站点提供,并由 http://example.org/bob 标识:

示例 6:示例数据集中的第一个图
<Bob> <is a> <person>.
<Bob> <is a friend of> <Alice>.
<Bob> <is born on> <the 4th of July 1990>.
<Bob> <is interested in> <the Mona Lisa>.

与图相关联的 IRI 称为图名称

第二个图可以由 Wikidata 提供,并由 https://www.wikidata.org/wiki/Special:EntityData/Q12418 标识:

示例 7:示例数据集中的第二个图
<Leonardo da Vinci> <is the creator of> <the Mona Lisa>.
<The video 'La Joconde à Washington'> <is about> <the Mona Lisa>

下面是一个未命名图的示例。它包含两个三元组, 其主语为图名称 <http://example.org/bob>。 这些三元组把发布者和许可信息与 这个图 IRI 关联起来:

示例 8:示例数据集中的未命名图
<http://example.org/bob> <is published by> <http://example.org>.
<http://example.org/bob> <has license> <http://creativecommons.org/licenses/by/3.0/>.

在此示例数据集中,我们假设图 名称表示相应图中保存的 RDF 数据的 来源,即通过检索 <http://example.org/bob>,我们将能够访问该图中的四个三元组。

RDF 没有提供标准方式来将这一语义 假设(即图名称表示 RDF 数据的来源) 传达给数据集的其他读者。这些读者将 需要依赖带外知识,例如既定的 社群实践,以按预期方式解释 该数据集。数据集的可能语义在单独的说明中描述 [RDF11-DATASETS]。

示例数据集的非正式图
4 示例数据集的非正式图

图 4 描绘了示例数据集。 5.1.3 TriG 提供了 此数据集的具体语法示例。

4. RDF 词汇表

RDF 数据模型提供了一种对 资源作出陈述的方式。正如我们所提到的,此数据模型不会对 资源 IRI 所代表的内容作任何 假设。在实践中,RDF 通常与词汇表或其他 约定结合使用,这些词汇表或约定会提供有关这些 资源的语义信息。

为支持词汇表的定义,RDF 提供了 RDF Schema 语言 [RDF12-SCHEMA]。这种语言允许人们定义 RDF 数据的语义 特征。例如,可以声明 IRI http://www.example.org/friendOf 可用作属性,并且 http://www.example.org/friendOf 三元组的主语和宾语必须是 http://www.example.org/Person 类的资源。

RDF Schema 使用这一概念来 指定可用于对资源进行分类的类别。实例与其类之间的 关系通过 type 属性来陈述。借助 RDF Schema,可以创建 类与子类的层次结构,以及 属性与子属性的层次结构。可以通过 domainrange 约束来定义特定三元组的主语 和宾语的类型约束。上面给出了 domain 约束的一个示例: “friendOf”三元组的主语应属于“Person”类。

RDF Schema 提供的主要建模 构造汇总在下表中:

1 RDF Schema 构造
构造 语法三元组形式 描述
Class(类) C rdf:type rdfs:Class C(资源)是一个 RDF 类
Property(类) P rdf:type rdf:Property P(资源)是一个 RDF 属性
type( 属性) I rdf:type C I(资源)是 C(类)的实例
subClassOf(属性) C1 rdfs:subClassOf C2 C1(类)是 C2(类)的子类
subPropertyOf(属性) P1 rdfs:subPropertyOf P2 P1(属性)是 P2(属性)的子属性
domain(属性) P rdfs:domain C P(属性)的 domain 是 C(类)
range (属性) P rdfs:range C P(属性)的 range 是 C(类)

语法三元组形式(第二列)采用前缀 记法,这会在 5. 编写 RDF 图中更详细地讨论。 这些构造具有两个不同前缀 (rdf:rdfs:)这一事实,是一个有些恼人的 历史遗留问题,为了向后 兼容而保留下来。

借助 RDF Schema,可以构建 RDF 数据的模型。一个 简单的非正式示例:

示例 9:RDF Schema 三元组(非正式)
<Person> <type> <Class>
<is a friend of> <type> <Property>
<is a friend of> <domain> <Person>
<is a friend of> <range> <Person>
<is a good friend of> <subPropertyOf> <is a friend of>

注意,虽然 <is a friend of> 是一个 通常用作三元组谓语的属性(正如它在 示例 1 中那样),但这类属性本身也是资源,可以被 三元组描述,或在其他资源的描述中提供 值。在此示例中,<is a friend of> 是若干三元组的主语, 这些三元组为它赋予 type、domain 和 range 值;同时它也是 一个三元组的宾语,该三元组描述了有关 <is a good friend of> 属性的某些内容。

最早在世界范围内使用的 RDF 词汇表之一是 “Friend of a Friend”(FOAF) 词汇表,用于描述社交网络。RDF 词汇表的其他示例包括:

Dublin Core
Dublin Core Metadata Initiative 维护一个元数据元素 集,用于描述广泛的资源。该词汇表提供了 “creator”、“publisher”和“title”等属性。
schema.org
Schema.org 是由一组主要搜索 提供商开发的词汇表。其想法是网站管理员可以使用这些术语来标记 Web 页面,以便搜索引擎理解这些页面 所描述的内容。
SKOS
SKOS 是一种用于在 Web 上发布分类方案 (如术语集和叙词表)的词汇表。SKOS 自 2009 年起就是一项 W3C 推荐标准,并在图书馆领域得到广泛使用。美国国会图书馆将其主题标题作为一个 SKOS 词汇表发布。

词汇表的价值来自复用:词汇表 IRI 被他人复用得越多,使用这些 IRI 就越有价值(即所谓的网络效应)。这意味着你应优先 复用他人的 IRI,而不是发明新的 IRI。

关于 RDF Schema 构造语义的形式化规范, 请读者参阅 RDF Semantics 文档 [RDF12-SEMANTICS]。对 RDF 数据更全面的 语义建模感兴趣的用户,可以考虑使用 OWL [OWL2-OVERVIEW]。 OWL 是一个 RDF 词汇表,因此它可以 与 RDF Schema 结合使用。

5. 编写 RDF 图

存在多种不同的序列化格式,用于写下 RDF 图。然而,写下同一图的不同方式会产生 完全相同的三元组,因此在逻辑上等价。

在本节中,我们通过带注释的示例简要介绍以下格式:

  1. RDF 语言的 Turtle 家族 (N-TriplesTurtleTriGN-Quads);
  2. JSON-LD(基于 JSON 的 RDF 语法);
  3. RDFa(用于嵌入 HTML 和 XML);
  4. RDF/XML(RDF 的 XML 语法)。

阅读提示:第 5.1 节(Turtle )讨论了序列化 RDF 的所有 基本概念。我们建议你只有在对 RDF 的特定用法 感兴趣时,才阅读 JSON-LD、RDFa 和 RDF/XML 相关小节。

5.1 RDF 语言的 Turtle 家族

在本小节中,我们介绍四种彼此密切相关的 RDF 语言。 我们从 N-Triples 开始,因为它提供了写下 RDF 三元组的 基本语法。Turtle 语法在此基本语法之上 扩展了各种形式的语法糖,以提高 可读性。随后我们讨论 TriG 和 N-Quads,它们分别是 Turtle 和 N-Triples 的扩展,用于编码多个图。 这四种语言合称为“RDF 语言的 Turtle 家族”。

5.1.1 N-Triples

N-Triples [RDF12-N-TRIPLES] 提供了一种简单的、基于行的 纯文本方式,用于序列化 RDF 图。图 1 中的非正式图可按如下方式用 N-Triples 表示:

示例 10:N-Triples
01    <http://example.org/bob#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
02    <http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> .
03    <http://example.org/bob#me> <http://schema.org/birthDate> "1990-07-04"^^<http://www.w3.org/2001/XMLSchema#date> .
04    <http://example.org/bob#me> <http://xmlns.com/foaf/0.1/topic_interest> <http://www.wikidata.org/entity/Q12418> .
05    <http://www.wikidata.org/entity/Q12418> <http://purl.org/dc/terms/title> "Mona Lisa" .
06    <http://www.wikidata.org/entity/Q12418> <http://purl.org/dc/terms/creator> <http://dbpedia.org/resource/Leonardo_da_Vinci> .
07    <http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619> <http://purl.org/dc/terms/subject> <http://www.wikidata.org/entity/Q12418> .

每一行表示一个三元组。完整 IRI 用尖括号 (<>)括起。行尾的句点表示 三元组结束。在第 3 行中,我们看到一个字面量示例,本例中是一个日期。 数据类型通过 ^^ 分隔符附加到字面量之后。日期 表示遵循 XML Schema 数据类型 date 的约定。

由于字符串字面量非常普遍,N-Triples 允许用户在编写字符串字面量时 省略数据类型。因此,第 5 行中的 "Mona Lisa" 等价于 "Mona Lisa"^^xsd:string。 对于带语言标签的字符串,标签 直接出现在字符串之后,并用 @ 符号分隔,例如 "La Joconde"@fr(Mona Lisa 的法语名称)。

出于技术原因,带语言标签 字符串的数据类型不是 xsd:string,而是 rdf:langString。 带语言标签字符串的数据类型从不显式指定。

下图显示了由该示例产生的三元组:

示例三元组的图
5 由 N-Triples 示例产生的 RDF 图

注意,N-Triples 示例中的七行对应上图中的七条 弧。

N-Triples 常用于交换大量 RDF,以及使用面向行的文本处理 工具处理大型 RDF 图。

5.1.2 Turtle

Turtle [RDF12-TURTLE] 是 N-Triples 的扩展。 除基本 N-Triples 语法外,Turtle 引入了若干语法快捷方式,例如 支持命名空间前缀、列表以及带数据类型字面量的简写。 Turtle 在易于 编写、易于解析和可读性之间提供了一种折中。图 5 中显示的图可以 用 Turtle 表示如下:

示例 11:Turtle
01    BASE   <http://example.org/>
02    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
03    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
04    PREFIX schema: <http://schema.org/>
05    PREFIX dcterms: <http://purl.org/dc/terms/>
06    PREFIX wd: <http://www.wikidata.org/entity/>
07
08    <bob#me>
09        a foaf:Person ;
10        foaf:knows <alice#me> ;
11        schema:birthDate "1990-07-04"^^xsd:date ;
12        foaf:topic_interest wd:Q12418 .
13
14    wd:Q12418
15        dcterms:title "Mona Lisa" ;
16        dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> .
17
18    <http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619>
19        dcterms:subject wd:Q12418 .

Turtle 示例在逻辑上等价于 N-Triples 示例。第 1-6 行包含若干指令,这些指令提供了 写下 IRI 的简写。相对 IRI(如第 8 行的 bob#me) 会相对于基 IRI 解析,这里在第 1 行指定。 第 2-6 行定义 IRI 前缀(如 foaf:),这些前缀可 用于前缀名(如 foaf:Person),而不是完整 IRI。 相应的 IRI 通过将前缀替换为其 对应 IRI 来构造(在此示例中,foaf:Person 表示 <http://xmlns.com/foaf/0.1/Person>)。

第 8-12 行展示了 Turtle 如何为具有相同主语的一组 三元组提供简写。第 9-12 行指定了以 <http://example.org/bob#me> 为 主语的三元组的谓语-宾语 部分。第 9-11 行末尾的分号表示 随后的谓语-宾语对是 一个新三元组的一部分,该三元组使用数据中最近出现的主语——在 此处即 bob#me

第 9 行展示了一种特殊语法糖的示例。该三元组 可非正式地读作“Bob (is) a Person”。 a 谓词 是属性 rdf:type 的简写,该属性对 实例关系建模(见 表 1)。 a 简写旨在匹配人们 对 rdf:type 的直觉。

5.1.2.1 带语言和方向的字符串表示

以下内容描述了一本书,其标题同时以英语和 阿拉伯语表示,使用带语言标签的字符串(第 7 行)以及有方向的 带语言标签字符串(第 8 行):

示例 12:Turtle
01    BASE   <http://example.org/>
02    PREFIX bibo: <http://purl.org/ontology/bibo/>
03    PREFIX dct:  <http://purl.org/dc/terms/>
05
06    <books/html_and_css> a bibo:Book ;
07        dct:title "HTML & CSS: Designing and Creating Websites"@en ,
08                  "HTML و CSS: تصميم و إنشاء مواقع الويب"@ar--rtl .
5.1.2.2 空白节点的表示

下面我们看到两种写下空白节点的语法变体,使用的是 之前的柏树示例。

示例 13:空白节点
PREFIX lio: <http://purl.org/net/lio#>

<http://dbpedia.org/resource/Mona_Lisa> lio:shows _:x .
_:x a <http://dbpedia.org/resource/Cypress> .

术语 _:x 是一个空白节点。它表示 Mona Lisa 画作中描绘的一个 未命名资源;该未命名资源是 Cypress 类的一个实例。上面的示例为 图 2 中的非正式图 提供了具体语法。

Turtle 还具有一种空白节点的替代记法, 不需要使用类似 _:x 的语法:

示例 14:空白节点(替代记法)
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .

# Some resource (blank node) is interested in some other resource
# entitled "Mona Lisa" and created by Leonardo da Vinci.

[] foaf:topic_interest [
          dcterms:title "Mona Lisa" ;
          dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> ] .

方括号在这里表示一个空白节点。方括号内的谓语-宾语对会被 解释为以该空白节点为 主语的三元组。以“#”开头的行表示 注释。

5.1.2.3 具体化三元组的表示

Turtle 提供了一种用于具体化和注释 三元组的简洁记法。这允许我们对三元组项一节中的示例进行编码,其中 Bob 对 Mona Lisa 感兴趣这一简单事实 被用一个更具体的情境加以注释。

我们可以使用未命名注释来陈述该兴趣本身 何时开始:

示例 15:未命名注释
PREFIX prov: <http://www.w3.org/ns/prov#>

<bob#me> foaf:topic_interest wd:Q12418 {| a prov:Influence ;
                                          dcterms:date "1998-10-04"^^xsd:date |} .

我们还可以描述 Alice 曾经作出过这个简单主张。这里 我们使用具体化三元组的语法,它引用该主张而不 蕴含其真实性:

示例 16:未命名具体化器
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

<< <bob#me> foaf:topic_interest wd:Q12418 >>
    a rdf:Statement ;
    dcterms:date "2004-01-12"^^xsd:date ;
    dcterms:creator <alice#me> .

前两个描述也可以组合,作为对一个陈述的两个 注释。这里我们还用 IRI 标识具体化器:

示例 17:命名注释
<bob#me> foaf:topic_interest wd:Q12418 ~ <bob#interest-1>
                                       ~ <alice#claim-1> .

<bob#interest-1>
    a prov:Influence ;
    dcterms:date "1998-10-04"^^xsd:date .

<alice#claim-1>
    a rdf:Statement ;
    dcterms:date "2004-01-12"^^xsd:date ;
    dcterms:creator <alice#me> .

有关 Turtle 语法的更多详情,请参阅 Turtle 规范 [RDF12-TURTLE]。

5.1.3 TriG

Turtle 语法仅支持指定单个 图,并且没有用于“命名”它们的方式。TriG [RDF12-TRIG] 是 Turtle 的扩展,支持以 RDF 数据集的形式 指定多个图。

在 RDF 1.2 中,任何合法的 Turtle 文档都是合法的 TriG 文档。人们可以将其视为一种语言。Turtle 和 TriG 这两个名称 仍然存在是出于历史原因。

我们示例的多图版本 可用 TriG 指定如下:

示例 18: TriG
01    BASE   <http://example.org/>
02    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
03    PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
04    PREFIX schema: <http://schema.org/>
05    PREFIX dcterms: <http://purl.org/dc/terms/>
06    PREFIX wd: <http://www.wikidata.org/entity/>
07
08    GRAPH <http://example.org/bob>
09      {
10        <bob#me>
11            a foaf:Person ;
12            foaf:knows <alice#me> ;
13            schema:birthDate "1990-07-04"^^xsd:date ;
14            foaf:topic_interest wd:Q12418 .
15      }
16
17    GRAPH <https://www.wikidata.org/wiki/Special:EntityData/Q12418>
18      {
19        wd:Q12418
20            dcterms:title "Mona Lisa" ;
21            dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> .
22
23        <http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619>
24           dcterms:subject wd:Q12418 .
25      }
26
27    <http://example.org/bob>
28        dcterms:publisher <http://example.org> ;
29        dcterms:rights <http://creativecommons.org/licenses/by/3.0/> .

此 RDF 数据集包含两个命名图。第 8 行和第 17 行列出了 这两个图的名称。命名图中的三元组 放在匹配的大括号之间(第 9 和 15 行,第 18 和 25 行)。你可以选择在图名称前加上关键字 GRAPH。这可能会提高可读性,但它主要是 为了与 SPARQL Update [SPARQL12-UPDATE] 对齐而 引入的。

三元组的语法以及顶部指令的语法都符合 Turtle 语法。

第 27-29 行指定的两个三元组不属于任何 命名图。它们共同构成此 RDF 数据集的未命名(“默认”)图。

下图显示了由此示例产生的三元组。

由 TriG 示例产生的三元组
6 由 TriG 示例产生的三元组

5.1.4 N-Quads

N-Quads [RDF12-N-QUADS] 是 N-Triples 的一个简单扩展,用于 支持 RDF 数据集的交换。 N-Quads 允许在一行中添加第四个元素,以捕获 该行所描述三元组的图 IRI。以下是上面 TriG 示例的 N-Quads 版本:

示例 19:N-Quads
01    <http://example.org/bob#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> <http://example.org/bob> .
02    <http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> <http://example.org/bob> .
03    <http://example.org/bob#me> <http://schema.org/birthDate> "1990-07-04"^^<http://www.w3.org/2001/XMLSchema#date> <http://example.org/bob> .
04    <http://example.org/bob#me> <http://xmlns.com/foaf/0.1/topic_interest> <http://www.wikidata.org/entity/Q12418> <http://example.org/bob> .
05    <http://www.wikidata.org/entity/Q12418> <http://purl.org/dc/terms/title> "Mona Lisa" <https://www.wikidata.org/wiki/Special:EntityData/Q12418> .
06    <http://www.wikidata.org/entity/Q12418> <http://purl.org/dc/terms/creator> <http://dbpedia.org/resource/Leonardo_da_Vinci> <https://www.wikidata.org/wiki/Special:EntityData/Q12418> .
07    <http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619> <http://purl.org/dc/terms/subject> <http://www.wikidata.org/entity/Q12418> <https://www.wikidata.org/wiki/Special:EntityData/Q12418> .
08    <http://example.org/bob> <http://purl.org/dc/terms/publisher> <http://example.org> .
09    <http://example.org/bob> <http://purl.org/dc/terms/rights> <http://creativecommons.org/licenses/by/3.0/> .

N-Quads 示例中的九行对应 图 6 中的九条 弧。第 1-7 行表示四元组,其中最后一个 元素构成图 IRI。四元组中位于 图 IRI 之前的部分指定该陈述的 主语、谓语和宾语,遵循 N-Triples 的语法 约定。第 8 行和第 9 行表示未命名(默认) 图中的陈述,它们缺少第四个元素,因此构成常规三元组。

与 N-Triples 一样,N-Quads 通常用于交换大型 RDF 数据集,以及使用 面向行的文本处理工具处理 RDF。

5.2 JSON-LD

JSON-LD [JSON-LD11] 为 RDF 图和数据集提供了一种 JSON 语法。 JSON-LD 可用于以最少改动将 JSON 文档转换为 RDF。 JSON-LD 为 JSON 对象提供通用标识符,提供一种机制使 一个 JSON 文档可以引用 Web 上其他位置的另一个 JSON 文档中描述的 对象,并支持数据类型和语言处理。JSON-LD 还提供了一种通过使用 @graph 关键字来序列化 RDF 数据集的方式。

下面的 JSON-LD 示例对 图 5 中的图进行编码:

示例 20: JSON-LD
01    {
02      "@context": "example-context.json",
03      "@id": "http://example.org/bob#me",
04      "@type": "Person",
05      "birthdate": "1990-07-04",
06      "knows": "http://example.org/alice#me",
07      "interest": {
08        "@id": "http://www.wikidata.org/entity/Q12418",
09        "title": "Mona Lisa",
10        "subject_of": "http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619",
11        "creator": "http://dbpedia.org/resource/Leonardo_da_Vinci"
12      }
13    }

第 2 行的 @context 键 指向一个 JSON 文档, 该文档描述如何将本文档映射到 RDF 图(见下文)。 每个 JSON 对象对应一个 RDF 资源。在此示例中, 被描述的主要资源是 http://example.org/bob#me,如第 3 行所指定, 通过使用 @id 关键字实现。 @id 关键字在 JSON-LD 文档中用作键时,会指向 标识与当前 JSON 对象对应资源的 IRI。 我们在第 4 行描述该资源的类型,在第 5 行描述其出生日期, 在第 6 行描述其一个朋友。从第 7 到第 12 行,我们描述 其兴趣之一,即 Mona Lisa 画作。

为了描述这幅画,我们在第 7 行创建一个 新的 JSON 对象,并在第 8 行将其与 Wikidata 中的 Mona Lisa IRI 关联。 然后我们从第 9 行到第 11 行描述该画作的各种属性。

此示例中使用的 JSON-LD 上下文如下。

示例 21:JSON-LD 上下文规范
01    {
02      "@context": {
03        "foaf": "http://xmlns.com/foaf/0.1/",
04        "Person": "foaf:Person",
05        "interest": "foaf:topic_interest",
06        "knows": {
07          "@id": "foaf:knows",
08          "@type": "@id"
09        },
10        "birthdate": {
11          "@id": "http://schema.org/birthDate",
12          "@type": "http://www.w3.org/2001/XMLSchema#date"
13        },
14        "dcterms": "http://purl.org/dc/terms/",
15        "title": "dcterms:title",
16        "creator": {
17          "@id": "dcterms:creator",
18          "@type": "@id"
19        },
20        "subject_of": {
21          "@reverse": "dcterms:subject",
22          "@type": "@id"
23        }
24      }
25    }

此上下文描述如何将 JSON-LD 文档映射到 RDF 图。第 4 到第 9 行指定如何将 Personinterestknows 映射到第 3 行定义的 FOAF 命名空间中的类型和属性。 我们还在第 8 行指定 knows 键具有一个会被解释为 IRI 的值,这是通过 使用 @type@id 关键字实现的。

从第 10 行到第 12 行,我们将 birthdate 映射到 一个 schema.org 属性 IRI,并指定其值可以 映射到 xsd:date 数据类型。

从第 14 行到第 23 行,我们描述如何将 titlecreatorsubject_of 映射到 Dublin Core 属性 IRI。第 21 行的 @reverse 关键字用于指定:每当我们在使用此 上下文的 JSON-LD 文档中遇到 "subject_of": "x" 时, 都应将其映射为一个 RDF 三元组,其主语是 x IRI,其属性是 dcterms:subject,并且 其宾语是与父 JSON 对象对应的资源。

5.3 RDFa

RDFa [RDFA-PRIMER] 是一种 RDF 语法,可用于在 HTML 和 XML 文档中嵌入 RDF 数据。 例如,这使搜索引擎能够在抓取 Web 时聚合 这些数据,并用它来丰富搜索 结果(参见例如 schema.orgRich Snippets)。

下面的 HTML 示例对 图 5 中描绘的 RDF 图进行编码:

示例 22: RDFa
01  <body prefix="foaf: http://xmlns.com/foaf/0.1/
02                   schema: http://schema.org/
03                   dcterms: http://purl.org/dc/terms/">
04    <div resource="http://example.org/bob#me" typeof="foaf:Person">
05      <p>
06        Bob knows <a property="foaf:knows" href="http://example.org/alice#me">Alice</a>
07        and was born on the <time property="schema:birthDate" datatype="xsd:date">1990-07-04</time>.
08      </p>
09      <p>
10        Bob is interested in <span property="foaf:topic_interest"
11        resource="http://www.wikidata.org/entity/Q12418">the Mona Lisa</span>.
12      </p>
13    </div>
14    <div resource="http://www.wikidata.org/entity/Q12418">
15      <p>
16        The <span property="dcterms:title">Mona Lisa</span> was painted by
17        <a property="dcterms:creator" href="http://dbpedia.org/resource/Leonardo_da_Vinci">Leonardo da Vinci</a>
18        and is the subject of the video
19        <a href="http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619">'La Joconde à Washington'</a>.
20      </p>
21    </div>
22    <div resource="http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619">
23        <link property="dcterms:subject" href="http://www.wikidata.org/entity/Q12418"/>
24    </div>
25  </body>

上面的示例包含四个特殊的 RDFa 属性,用于在 HTML 中 指定 RDF 三元组:resourcepropertytypeofprefix

第 1 行中的 prefix 属性以类似 Turtle 前缀的方式 指定 IRI 简写。严格 来说,这些特定前缀本可以省略,因为 RDFa 有一个 预定义 前缀列表,其中包括本示例中使用的前缀。

第 4 行和第 14 行中的 div 元素具有 resource 属性,用于指定在此 HTML 元素内可以对其作出 RDF 陈述的 IRI。第 4 行中的 typeof 属性的含义类似于 Turtle 中的 (is) a 简写: 主语 http://example.org/bob#mefoaf:Person 类的一个实例(rdf:type)。

在第 6 行中,我们看到一个 property 属性;该属性的值 (foaf:knows)被解释为一个 RDF 属性 IRI;href 属性的值 (http://example.org/alice#me)在这里被 解释为三元组的宾语。因此,第 6 行产生的 RDF 陈述 是:

<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> .

在第 7 行中,我们看到一个以字面量值为宾语的三元组。 property 属性在这里指定在 HTML time 元素上。HTML 要求 time 元素的内容应为某个有效的 时间值。 通过使用 time 元素内置的 HTML 语义,RDFa 可以在没有显式数据类型声明的情况下将 该值解释为 xsd:date

在第 10-11 行中,我们看到 resource 属性也被用于 指定三元组的宾语。当宾语是 IRI 且 IRI 本身不是 HTML 内容的一部分(例如 href 属性)时,会使用这种方法。第 16 行包含第二个字面量示例(“Mona Lisa”),这里定义为 span 属性的内容。如果 RDFa 无法推断该字面量的数据类型,它将假定 数据类型为 xsd:string

并非总是可以将 RDF 陈述定义为文档 HTML 内容的一部分。在这种情况下,可以使用不会渲染内容的 HTML 构造来指定三元组。第 22-23 行中可以看到一个示例。 第 23 行的 HTML link 元素在这里用于指定 Europeana 视频(第 22 行)的主题是什么。

此示例中 RDFa 的使用限于 RDFa Lite [RDFA-LITE]。有关 RDFa 的更多信息, 请参阅 RDFa Primer [RDFA-PRIMER]。

5.4 RDF/XML

RDF/XML [RDF12-XML] 为 RDF 图提供了一种 XML 语法。当 RDF 最初在 20 世纪 90 年代末开发时,这是它 唯一的语法,而且一些人仍将这种语法称为“RDF”。2001 年, 一种名为“N3”的 Turtle 前身被提出,随后这里列出的其他 语言逐渐被采用并标准化。

下面的 RDF/XML 示例对 图 5 中描绘的 RDF 图进行编码:

示例 23: RDF/XML
01    <?xml version="1.0" encoding="utf-8"?>
02    <rdf:RDF
03             xmlns:dcterms="http://purl.org/dc/terms/"
04             xmlns:foaf="http://xmlns.com/foaf/0.1/"
05             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
06             xmlns:schema="http://schema.org/">
07       <rdf:Description rdf:about="http://example.org/bob#me">
08          <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
09          <schema:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1990-07-04</schema:birthDate>
10          <foaf:knows rdf:resource="http://example.org/alice#me"/>
11          <foaf:topic_interest rdf:resource="http://www.wikidata.org/entity/Q12418"/>
12       </rdf:Description>
13       <rdf:Description rdf:about="http://www.wikidata.org/entity/Q12418">
14          <dcterms:title>Mona Lisa</dcterms:title>
15          <dcterms:creator rdf:resource="http://dbpedia.org/resource/Leonardo_da_Vinci"/>
16       </rdf:Description>
17       <rdf:Description rdf:about="http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619">
18          <dcterms:subject rdf:resource="http://www.wikidata.org/entity/Q12418"/>
19       </rdf:Description>
20    </rdf:RDF>

在 RDF/XML 中,RDF 三元组在 XML 元素 rdf:RDF 内指定(第 2 行和第 20 行)。rdf:RDF 开始标签的属性(第 3-6 行)提供了用于写下 XML 元素和属性名称的简写。XML 元素 rdf:Descriptionhttp://www.w3.org/1999/02/22-rdf-syntax-ns#Description 的简称) 用于定义一组三元组,这些三元组的主语是 由 about 属性指定的 IRI。第一个描述 块(第 7-12 行)有四个子元素。子元素的名称是 表示 RDF 属性的 IRI,例如 rdf:type(第 8 行)。这里,每个 子元素表示一个三元组。 在三元组的宾语也是 IRI 的情况下, 属性子元素没有内容,且宾语 IRI 通过 rdf:resource 属性指定(第 8、10-11、15 和 18 行)。例如,第 10 行对应以下三元组:

<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows> <http://example.org/alice#me> .

当三元组的宾语是 字面量时,字面量值作为 属性元素的内容输入(第 9 行和第 14 行)。数据类型被指定为 属性元素的属性(第 9 行)。如果省略数据类型 (第 14 行)且没有语言标签,则该字面量 被视为具有 xsd:string 数据类型。

此示例展示了基线语法;请参阅 RDF/XML 文档 [RDF12-XML] 以更深入地了解该语法。 尽管其中一些命名空间前缀已经 定义,但属性值却包含完整 IRI,这可能看起来有些奇怪。 这是因为这些前缀只能用于 XML 元素和属性名称。

6. RDF 图的语义

使用 RDF 的一个总体目标是能够 自动合并来自多个来源的有用信息,以 形成一个仍然连贯且有用的更大集合。作为这种 合并的起点,所有信息都以同一种简单形式传达,即 如上所述的主语-谓语-宾语三元组。不过,为了保持信息 连贯,我们需要的不只是标准语法;还需要就 这些三元组的语义达成一致。

读到本入门指南的这一部分时,读者很可能已经对 RDF 的语义有了 直观理解:

  1. 用于命名主语、谓语和宾语的 IRI 在范围上是“全局”的, 每次使用时都命名同一事物。
  2. 当且仅当谓语关系实际存在于 主语和宾语之间时,每个三元组才为“真”。
  3. 当且仅当 RDF 图中的所有三元组都为“真”时,该 RDF 图才为“真”。

这些概念 以及其他概念,在 RDF Semantics 文档 [RDF12-SEMANTICS] 中以数学精确性加以规定。

RDF 具有这些声明式语义的好处之一 是系统可以进行逻辑推断。也就是说,给定一组 系统接受为真的输入三元组,系统 在某些情况下可以推导出其他三元组在逻辑上 也必然为真。我们说第一组三元组“蕴涵” 这些附加三元组。这些系统称为“推理器”,它们有时还可以 推导出给定的输入三元组彼此 矛盾。

鉴于 RDF 的灵活性,当人们想使用新概念时可以 创建新的词汇表,因此人们可能想要进行许多 不同类型的推理。当某种 特定类型的推理似乎在许多不同 应用中有用时,它可以作为一个蕴涵机制来记录。 RDF Semantics 中规定了若干蕴涵机制。 关于其他一些蕴涵机制的技术描述以及如何 将它们与 SPARQL 一起使用,请参见 [SPARQL12-ENTAILMENT]。 注意,有些 蕴涵机制相当容易实现,推理也可以 快速完成,而其他机制则需要复杂的 技术才能高效实现。

作为一个蕴涵示例,考虑以下两个陈述:

ex:bob foaf:knows ex:alice .
foaf:knows rdfs:domain foaf:Person .

RDF Semantics 文档告诉我们,从这个图可以合法地 推导出以下三元组:

ex:bob rdf:type foaf:Person .

上面的推导是 RDF Schema 蕴涵的一个示例 [RDF12-SEMANTICS]。

RDF 的语义还告诉我们,以下三元组:

ex:bob ex:age "forty"^^xsd:integer . 

会导致逻辑不一致,因为该字面量不 符合 XML Schema 数据类型 integer 定义的约束。

注意,RDF 工具可能无法识别所有数据类型。作为 最低要求,工具必须支持字符串字面量 和带语言标签字面量的数据类型。

与许多其他数据 建模语言不同,RDF Schema 允许相当大的建模 自由度。例如,同一个实体既可以用作 类,也可以用作属性。此外,“类”世界与“实例”世界之间 也没有严格分离。因此,RDF 语义认为以下图是有效的:

ex:Jumbo rdf:type ex:Elephant .
ex:Elephant rdf:type ex:Species .

因此,一头大象既可以是一个类(Jumbo 是其一个示例 实例),也可以是一个实例(即动物 物种这个类的实例)。

本节中的示例只是为了让读者 对 RDF Semantics 能带来什么有一些感受。完整描述请参阅 [RDF12-SEMANTICS]。

7. RDF 数据

RDF 允许你将来自任何来源的三元组合并成一个图, 并将其作为合法 RDF 进行处理。大量 RDF 数据以关联 数据 [LINKED-DATA] 的形式可用。数据集正在使用 RDF 在 Web 上发布并 相互链接,其中许多数据集还通过 SPARQL [SPARQL12-CONCEPTS] 提供 查询功能。上面示例中使用的此类数据集示例包括:

可用作关联数据的数据集列表维护在 datahub.io

一些词汇表术语已经流行起来,用于 记录 RDF 数据源之间的链接。一个示例是 OWL 词汇表提供的 sameAs 属性。此 属性可用于表示两个 IRI 实际上指向 同一资源。这很有用,因为不同发布者 可能使用不同标识符来表示同一事物。例如, VIAF(见上文)也有一个表示 Leonardo da Vinci 的 IRI。借助 owl:sameAs,我们可以记录此 信息:

此类链接可以由 RDF 数据处理 软件部署,例如通过合并或比较 指向同一资源的 IRI 的 RDF 数据。

8. 更多信息

至此,我们对 RDF 的简要介绍结束。请参阅 参考文献以获取更详细的信息。你也可能 想看一看 W3C 关联数据页面

A. 致谢

A.1 RDF 1.1 致谢

本节是非规范性的。

Antoine Isaac 提供了许多示例,包括 不同的语法形式。Pierre-Antoine Champin 提供了其中一个 JSON-LD 示例。Andrew Wood 设计了 图示。Sandro Hawke 撰写了 RDF 语义一节的第一部分。

我们感谢以下人员(按 字母顺序)提供的评论:Gareth Adams、Thomas Baker、Dan Brickley、Pierre-Antoine Champin、Bob DuCharme、Sandro Hawke、Patrick Hayes、Ivan Herman、Kingsley Idehen、Antoine Isaac、Markus Lanthaler 和 David Wood。

本文档的引言包含来自 2004 年入门指南 [RDF-PRIMER] 的若干句子。除此之外,RDF 1.1 Primer 是一份完全 新的文档。

A.2 RDF 1.2 致谢

本节是非规范性的。

除编辑外,以下人员也为本规范作出了贡献: Andy Seaborne、Dominik Tomaszuk、Gregg Kellogg 和 Peter F. Patel-Schneider

RDF 与 SPARQL 工作组成员包括 Vladimir Alexiev、 James Anderson、 Amin Anjomshoaa、 Julián Arenas-Guerrero、 Dörthe Arndt、 Bilal Ben Mahria、 Erich Bremer、 Dan Brickley、 Kurt Cagle、 Sarven Capadisli、 Rémi Ceres、 Pierre-Antoine Champin、 David Chaves-Fraga、 Souripriya Das、 Daniil Dobriy、 Enrico Franconi、 Jeffrey Phillips Freeman、 Fabien Gandon、 Benjamin Goering、 Damien Graux、 Adrian Gschwend、 Olaf Hartig、 Timothée Haudebourg、 Ian Horrocks、 Gregg Kellogg、 Mark Kim、 Jose Emilio Labra Gayo、 Ora Lassila、 Richard Lea、 Niklas Lindström、 Pasquale Lisena、 Thomas Lörtsch、 Matthew Nguyen、 Peter Patel-Schneider、 Thomas Pellissier Tanon、 Dave Raggett、 Jean-Yves ROSSI、 Felix Sasaki、 Andy Seaborne、 Alan Snyder、 Stuart Sutton、 Ruben Taelman、 Ted Thibodeau Jr、 Dominik Tomaszuk、 Raphaël Troncy、 William Van Woensel、 Gregory Williams、 Jesse Wright、 Achille Zappa,以及 Antoine Zimmermann。

编辑注

确认任务组成员?不容易找到贡献者列表。

B. RDF 1.0 与 RDF 1.1 之间的变更

C. RDF 1.1 与 RDF 1.2 之间的变更

本节是非规范性的。

D. 索引

D.1 由本规范 定义的术语

D.2 由引用定义的术语

E. 参考文献

E.1 信息性参考文献

[I18N-Glossary]
国际化术语表。 Richard Ishida;Addison Phillips。W3C。2024年10月17日。W3C 工作组说明。URL:https://www.w3.org/TR/i18n-glossary/
[JSON-LD11]
JSON-LD 1.1。Gregg Kellogg; Pierre-Antoine Champin;Dave Longley。W3C。2020年7月16日。W3C 推荐标准。URL:https://www.w3.org/TR/json-ld11/
[LINKED-DATA]
关联数据设计 问题。Tim Berners-Lee。W3C。2006年7月27日。W3C 内部文档。URL:https://www.w3.org/DesignIssues/LinkedData.html
[OWL2-OVERVIEW]
OWL 2 Web 本体语言文档概述 (第二版)。W3C OWL 工作组。W3C。2012年12月11日。W3C 推荐标准。URL:https://www.w3.org/TR/owl2-overview/
[RDF-PRIMER]
RDF 入门指南。Frank Manola;Eric Miller。 W3C。2004年2月10日。W3C 推荐标准。URL:https://www.w3.org/TR/rdf-primer/
[RDF11-DATASETS]
RDF 1.1:论 RDF 数据集的语义。Antoine Zimmermann。W3C。2014年2月25日。W3C 工作组说明。URL: https://www.w3.org/TR/rdf11-datasets/
[RDF12-CONCEPTS]
RDF 1.2 概念与抽象数据 模型。Andy Seaborne;Gregg Kellogg;Olaf Hartig;Pierre-Antoine Champin。W3C。2026年4月7日。W3C 候选推荐标准。URL:https://www.w3.org/TR/rdf12-concepts/
[RDF12-INTEROP]
RDF 1.2 互操作性。 Pierre-Antoine Champin。W3C。W3C 编辑草案。URL:https://w3c.github.io/rdf-interop/spec/
[RDF12-N-QUADS]
RDF 1.2 N-Quads。Gregg Kellogg; Dominik Tomaszuk。W3C。2026年3月28日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-n-quads/
[RDF12-N-TRIPLES]
RDF 1.2 N-Triples。Gregg Kellogg; Dominik Tomaszuk。W3C。2026年4月2日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-n-triples/
[RDF12-NEW]
RDF 1.2 新变化。W3C RDF 与 SPARQL 工作组。W3C。W3C 编辑草案。URL:https://w3c.github.io/rdf-new/spec/
[RDF12-SCHEMA]
RDF 1.2 Schema。Dominik Tomaszuk。 W3C。2026年3月28日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-schema/
[RDF12-SEMANTICS]
RDF 1.2 语义。Peter Patel-Schneider;Enrico Franconi;Dörthe Arndt。W3C。2026年4月7日。W3C 候选推荐标准。 URL:https://www.w3.org/TR/rdf12-semantics/
[RDF12-TRIG]
RDF 1.2 TriG。Gregg Kellogg;Dominik Tomaszuk。W3C。2026年4月16日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-trig/
[RDF12-TURTLE]
RDF 1.2 Turtle。Gregg Kellogg; Dominik Tomaszuk。W3C。2026年4月7日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-turtle/
[RDF12-XML]
RDF 1.2 XML 语法。Gregg Kellogg; Jerven Bolleman。W3C。2026年4月9日。W3C 工作草案。URL:https://www.w3.org/TR/rdf12-xml/
[RDFA-LITE]
RDFa Lite 1.1 - 第二版。Manu Sporny。W3C。2015年3月17日。W3C 推荐标准。URL:https://www.w3.org/TR/rdfa-lite/
[RDFA-PRIMER]
RDFa 1.1 入门指南 - 第三版。Ivan Herman;Ben Adida;Manu Sporny;Mark Birbeck。W3C。2015年3月17日。W3C 工作组说明。URL:https://www.w3.org/TR/rdfa-primer/
[RFC3987]
国际化资源标识符 (IRI)。M. Duerst;M. Suignard。IETF。2005年1月。拟议标准。URL:https://www.rfc-editor.org/rfc/rfc3987
[SPARQL12-CONCEPTS]
SPARQL 1.2 概念。W3C RDF 与 SPARQL 工作组。W3C。W3C 编辑草案。URL:https://w3c.github.io/sparql-concepts/spec/
[SPARQL12-ENTAILMENT]
SPARQL 1.2 蕴涵机制。 Peter Patel-Schneider。W3C。2026年4月9日。W3C 工作草案。URL:https://www.w3.org/TR/sparql12-entailment/
[SPARQL12-FEDERATED-QUERY]
SPARQL 1.2 联邦 查询。Ruben Taelman;Gregory Williams。W3C。2026年1月26日。W3C 工作草案。 URL:https://www.w3.org/TR/sparql12-federated-query/
[SPARQL12-GRAPH-STORE-PROTOCOL]
SPARQL 1.2 图存储 协议。Andy Seaborne;Thomas Pellissier Tanon。W3C。2024年12月19日。W3C 工作草案。URL:https://www.w3.org/TR/sparql12-graph-store-protocol/
[SPARQL12-NEW]
SPARQL 1.2 新变化。W3C RDF 与 SPARQL 工作组。W3C。W3C 编辑草案。URL:https://w3c.github.io/sparql-new/spec/
[SPARQL12-PROTOCOL]
SPARQL 1.2 协议。Andy Seaborne;Ruben Taelman;Gregory Williams;Thomas Pellissier Tanon。W3C。2025年8月14日。W3C 工作 草案。URL:https://www.w3.org/TR/sparql12-protocol/
[SPARQL12-QUERY]
SPARQL 1.2 查询语言。Olaf Hartig;Andy Seaborne;Ruben Taelman;Gregory Williams;Thomas Pellissier Tanon。W3C。2026年4月16日。 W3C 工作草案。URL:https://www.w3.org/TR/sparql12-query/
[SPARQL12-RESULTS-CSV-TSV]
SPARQL 1.2 查询结果 CSV 和 TSV 格式。Ruben Taelman;Gregory Williams;Thomas Pellissier Tanon。W3C。2026年3月28日。 W3C 工作草案。URL:https://www.w3.org/TR/sparql12-results-csv-tsv/
[SPARQL12-RESULTS-JSON]
SPARQL 1.2 查询结果 JSON 格式。Andy Seaborne;Ruben Taelman;Gregory Williams;Thomas Pellissier Tanon。 W3C。2026年3月28日。W3C 工作草案。URL:https://www.w3.org/TR/sparql12-results-json/
[SPARQL12-RESULTS-XML]
SPARQL 1.2 查询结果 XML 格式。Ruben Taelman;Dominik Tomaszuk;Thomas Pellissier Tanon。W3C。2024年12月27日。W3C 工作草案。URL:https://www.w3.org/TR/sparql12-results-xml/
[SPARQL12-SERVICE-DESCRIPTION]
SPARQL 1.2 服务 描述。Ruben Taelman;Gregory Williams。W3C。2026年3月19日。W3C 工作 草案。URL:https://www.w3.org/TR/sparql12-service-description/
[SPARQL12-UPDATE]
SPARQL 1.2 更新。Ruben Taelman; Andy Seaborne;Thomas Pellissier Tanon。W3C。2025年8月14日。W3C 工作草案。URL:https://www.w3.org/TR/sparql12-update/
[XMLSCHEMA11-2]
W3C XML Schema 定义语言(XSD)1.1 第 2 部分:数据类型。David Peterson;Sandy Gao;Ashok Malhotra;Michael Sperberg-McQueen;Henry Thompson;Paul V. Biron 等。W3C。2012年4月5日。W3C 推荐标准。URL: https://www.w3.org/TR/xmlschema11-2/