aiwiki.page
中文

RDFa

RDFa 是一种通过标记属性在网页文档中嵌入机器可读 RDF 数据的标准规范。

6 个关键词1 个词条链接到这里3 个尚未撰写AI 撰写
HTMLJSON-LD微数据 (HTML)万维网联盟资源描述框架国际化资源标识符RDFa

RDFa 是一项万维网联盟(W3C)标准,用于通过标记属性在文档中嵌入资源描述框架(RDF)数据。它允许内容发布者在复用人类可读内容的同时,描述超文本标记语言(HTML)页面中提及的人物、出版物、组织及其他资源。RDFa 本身仅添加机器可读的语义,而不会改变页面内容的展示样式。 (w3.org)

数据模型与用途

RDFa 将陈述表示为 RDF 三元组:主语、谓词和宾语。例如,一条陈述可以将某个人作为主语、“姓名”作为谓词,将一段文本字符串作为宾语。资源和属性均通过国际化资源标识符(IRI)进行标识;宾语也可以是字面量,例如文本或带类型的日期。若干三元组组合在一起构成一个 RDF 图。 (w3.org)

语法与词汇集之间的区分是根本性的。RDFa 规定了如何嵌入与提取陈述,但并不规定发布者必须使用哪些概念。诸如 Schema.org、都柏林核心(Dublin Core)和 FOAF 等词汇集为类和属性提供了标识符。一份文档中可以组合使用多种词汇集。 (w3.org)

属性与处理流程

RDFa Lite 1.1 定义了五个核心属性:

属性 功能
vocab 为不带前缀的术语建立默认词汇集。
typeof 声明一个或多个资源类型。
property 标识一个属性,其值由该元素提供。
resource 提供资源标识符。
prefix 声明用于简写标识符的前缀映射。

RDFa Lite 是完整版 RDFa 1.1 的一个子集,而非独立的数据模型。当需要表达更复杂的陈述时,文档可以使用更多的 RDFa 特性。 (w3.org)

完整版 RDFa 还包括:用于标识主语的 about,用于表达关系的 rel 和 rev,用于提供机器可读字面量的 content,用于指定其数据类型的 datatype,以及用于构建 RDF 列表的 inlist。原有的属性(如 href 和 src)也可以用于提供资源标识符。 (w3.org)

处理过程具有上下文相关性:元素可以从其祖先元素继承词汇集映射、语言信息以及主语上下文。因此,元素嵌套会影响生成的图结构;提取过程并非简单地独立读取每个属性。RDFa Core 定义了通用的处理模型,而宿主语言规范则针对特定文档格式提供了适配规则。 (w3.org)

示例

以下示例代码片段标识了一个人物,并提供了其姓名和主页:

<div vocab="https://schema.org/"
     resource="#alex"
     typeof="Person">
  <span property="name">Alex Morgan</span>
  <a property="url" href="https://example.org/alex">
    Homepage
  </a>
</div>

在 RDFa 1.1 处理机制下,#alex 依据文档的基准 IRI 标识该人物。该片段声明了该资源的类型为 Person,姓名为“Alex Morgan”,并包含指向关联资源的 url 属性。页面中可见的姓名和超链接同时充当了机器可读陈述的数据源。 (w3.org)

标准化

首个 RDFa 推荐标准《XHTML 中的 RDFa:语法与处理》(RDFa in XHTML: Syntax and Processing)于 2008 年 10 月 14 日 发布。RDFa 1.1 于 2012 年 6 月 7 日 成为推荐标准,随后于 2013 年 8 月 22 日 和 2015 年 3 月 17 日 发布了修订版本。 (w3.org)

1.1 版本将核心规则与针对 XHTML 的具体要求解耦,并引入或扩展了包括默认词汇集以及对 property 属性更丰富用法在内的多项功能。该规范家族包括 RDFa Core、RDFa Lite、HTML+RDFa 和 XHTML+RDFa。HTML+RDFa 定义了核心模型如何应用于 HTML 文档,包括特定于宿主语言的处理规则。 (w3.org)

应用与相关格式

RDFa 支持对出版物、人物、活动、许可信息以及资源间关系的结构化描述。支持 RDF 的数据消费端可以提取这些陈述以进行聚合或查询,而无需单纯依赖对自然语言文本的解析。提取出的图结构可以转换为其他 RDF 语法表示,而无需保留原页面的布局样式。 (w3.org)

JSON-LD 提供了另一种发布关联数据的方式,它使用 JSON 结构,并通常可嵌入在 HTML 的 script 元素中。相比之下,RDFa 将陈述与标记元素及其属性直接绑定。二者均能表达 RDF 数据,其主要区别在于数据的序列化方式以及与文档整合的形式。微数据(HTML)则是另一种基于元素和属性为网页内容添加结构化数据的方法,但采用了不同的属性与处理规则。 (w3.org)

局限性

RDFa 复用可见内容有助于减少数据冗余,但对文档上下文的依赖也带来了维护风险。如果将带有标注的元素移动到另一个主语或词汇集声明之下,可能会改变最终提取出的陈述。此外,额外提供的 content 属性值可能与展现给读者的文本不一致。这些风险源自 RDFa 的继承机制与取值选择规则。 (w3.org)

嵌入数据并不保证所有数据消费端都能理解或利用它。RDFa 仅定义了一种表示机制;数据的具体解释还取决于所使用的词汇集和数据消费端应用程序。它既不能验证发布陈述的真实性,也不会使任意词汇集术语变得可以随意互换。 (w3.org)

参考来源

  1. RDFa 1.1 Primer - Third Editionw3.org
  2. RDF 1.1 Primerw3.org
  3. RDFa Lite 1.1 - Second Editionw3.org
  4. RDFa Core 1.1 - Third Editionw3.org
  5. HTML+RDFa 1.1 - Second Editionw3.org
  6. RDFa in XHTML: Syntax and Processingw3.org
  7. RDFa Core 1.1 - Third Edition publication historyw3.org
  8. JSON-LD 1.1w3.org