Schema.org、JSON-LD、RDFa、Microdata和RDF有什么区别?
schema org json ld rdfa microdata rdf differences
RDF是一种用“主语—谓语—宾语”三元组表示关系的数据模型;Schema.org是一套可以在这种结构中使用的类型和属性词汇;JSON-LD是用JSON表达关联数据、并可序列化RDF图的格式;RDFa和Microdata则是在HTML元素上添加属性,把机器可读信息嵌入网页正文的两种标记语法。
直接答案
RDF是一种用“主语—谓语—宾语”三元组表示关系的数据模型;Schema.org是一套可以在这种结构中使用的类型和属性词汇;JSON-LD是用JSON表达关联数据、并可序列化RDF图的格式;RDFa和Microdata则是在HTML元素上添加属性,把机器可读信息嵌入网页正文的两种标记语法。
它们不是五个互斥的结构化数据标准。最常见的组合是“使用Schema.org词汇,用JSON-LD写在网页的script元素中”。同一组Schema.org实体也可以用RDFa或Microdata表达。选择语法不会自动改变词汇含义,换成JSON-LD也不会让错误、不可见或过期的数据变正确。
一、先分清三个层级
左右滑动查看完整对比 →| 层级 | 解决的问题 | 对应概念 |
|---|---|---|
| 数据模型 | 信息在逻辑上如何组成图 | RDF |
| 词汇表 | 类型、属性和关系叫什么 | Schema.org |
| 序列化或网页标记 | 数据如何写进文件或HTML | JSON-LD、RDFa、Microdata |
可以把RDF想成“句子的语法关系”,Schema.org想成“共同使用的词典”,JSON-LD、RDFa和Microdata想成“把句子写下来的不同记法”。一个网页可以不直接讨论RDF,却仍通过JSON-LD与Schema.org形成可解析的图状数据。
二、RDF是什么
W3C将RDF定义为在Web上表示信息的框架。它的核心是三元组:主语标识被描述的资源,谓语标识关系或属性,宾语是另一个资源或字面值。一组三元组构成RDF图。
例如:
这里的文章和作者是节点,headline、author与name是边。RDF抽象模型不要求源文件长得像这三行;同一张图可以用JSON-LD、Turtle、RDFa等具体语法表达。W3C规范明确把JSON-LD和RDFa列为RDF的具体语法。
RDF还区分IRI、字面值和空白节点。IRI用于全局标识资源或属性;字面值保存字符串、数字、日期等值;空白节点表示存在某个资源但没有给它全局标识。网页结构化数据中的@id,本质价值之一就是帮助不同位置指向同一实体,而不是不断创建无法合并的匿名节点。
三、Schema.org是什么
Schema.org是一套共享词汇,定义了Article、Person、Organization、Product等类型,以及headline、author、name、sameAs等属性。它告诉发布者和解析器“这些标识符约定表示什么”,但不规定只能采用一种网页语法。
例如,https://schema.org/Article是类型标识,https://schema.org/headline是属性标识。JSON-LD经常通过"@context": "https://schema.org"缩写这些完整IRI;Microdata则常在itemtype里写完整类型URL,在itemprop里写属性名。
Schema.org不是搜索引擎排名保证,也不是Google专属格式。搜索平台会从庞大词汇中选择其支持的类型和属性,并设置额外资格要求。词汇中存在某个属性,不代表所有搜索引擎都会显示对应富媒体结果。
四、JSON-LD是什么
JSON-LD是JSON for Linking Data。W3C JSON-LD 1.1规范定义了用JSON表达关联数据的方法,并提供从JSON-LD生成RDF数据集、以及反向处理的算法。它使用@context解释短名称,使用@id标识节点,使用@type声明类型。
网页中的常见写法是:
JSON-LD把结构化数据与可见HTML分开,便于由模板、CMS或后端统一生成,也便于表达嵌套实体和@graph。但这种分离也带来风险:页面标题、价格或库存更新后,脚本可能没有同步,形成“正文一套、结构化数据另一套”。
五、RDFa是什么
RDFa是一组可嵌入HTML、XHTML等宿主语言的属性,用来把页面内容映射为RDF三元组。常见属性包括vocab、typeof、property、resource、about和prefix。它直接围绕RDF模型设计,能使用多个词汇和显式资源标识。
RDFa的优点是结构化值贴近可见内容,正文修改时较容易同步;它也适合需要混用多个RDF词汇的页面。缺点是标记散布在DOM中,复杂组件重构、条件渲染和前端复用时更难整体检查。
六、Microdata是什么
Microdata是HTML标准中的名称—值标注机制。itemscope创建一个项目,itemtype指定类型,itemprop指定属性,itemid可提供全局标识,itemref可引用项目元素之外的属性。
WHATWG HTML标准把Microdata模型描述为项目及其名称—值属性组。它与HTML内容结合紧密,概念相对直观;但大型嵌套实体需要在许多元素上维护属性,模板变化时容易丢失作用域或关联。
七、RDFa与Microdata有什么区别
两者都把机器可读标记附着在可见HTML上,但抽象基础不同。RDFa直接产生RDF三元组,支持IRI、前缀与多词汇组合;Microdata使用HTML定义的项目和属性模型,词汇决定类型和属性的含义。
对只使用Schema.org的普通内容页,两者可以表达许多相同信息。RDFa更适合已有RDF/Linked Data体系或需要组合词汇的系统;Microdata适合已有模板大量采用itemprop的站点。没有必要只为“看起来更新”而迁移语法,迁移应以维护成本、解析结果和发布链路为依据。
八、JSON-LD与Microdata有什么区别
JSON-LD通常集中在一个或几个脚本块中,不改变可见DOM元素;Microdata把属性分散到正文元素。前者便于程序生成和整体替换,后者让机器值与页面文字天然靠近。
两者最大的工程差异不是“谁更懂语义”,而是数据同步方式。JSON-LD必须确保从与页面相同的数据源生成;Microdata必须确保组件嵌套后作用域仍正确。解析为等价实体与关系时,搜索系统获得的基本语义可以相同。
不要在不了解合并规则时同时输出两套描述同一实体的数据。若两套@id、价格或作者不同,解析器可能得到两个实体或冲突声明,而不是“互相增强”。
九、JSON-LD就是JSON吗
JSON-LD使用合法JSON语法,但普通JSON不会自动成为关联数据。@context赋予字段可展开的语义,@id与@type建立资源标识和类型。没有上下文的业务JSON可以被应用理解,却不一定能一致转换成RDF图。
反过来,JSON-LD也不等于“任何放进application/ld+json的JSON”。字段拼写、上下文、值类型和节点关系仍需符合所用词汇与消费方要求。JSON语法验证通过只能证明括号和数据类型合法,不能证明语义正确。
十、Schema.org与RDF Schema是不是同一个东西
不是。RDF Schema通常缩写为RDFS,是W3C定义的一套用于描述RDF类、属性、范围和继承关系的词汇。Schema.org是面向Web内容的共享应用词汇,拥有自己的类型和属性集合。
二者名字相似,因为都涉及“schema”,但命名空间不同、治理方式不同、用途也不同。rdfs:Class、rdfs:subClassOf属于RDFS;schema:Article、schema:headline属于Schema.org。网站添加文章结构化数据时通常使用Schema.org词汇,而不是把RDF Schema当作可替换名称。
十一、结构化数据是否必须展示在页面上
具体消费方可能有自己的政策,但通用原则是结构化数据应真实描述页面的主要可见内容。JSON-LD技术上可以保存页面没有逐字呈现的标识与关系;这不代表可以标记不存在的评价、价格、作者或FAQ。
RDFa和Microdata也不能自动保证真实。WHATWG规范指出,Microdata标记与文档内容的语义关联仍取决于作者如何放置和定义;仅把属性贴在某个元素附近,不会神奇地证明它们描述的是同一对象。
上线检查应比较H1、正文、面包屑、作者、日期、Canonical与结构化数据,而不只是让语法验证器显示绿色。
十二、如何选择格式
新建普通内容站
如果CMS能从统一数据模型生成,JSON-LD通常最容易集中维护。选择Schema.org类型后,为核心实体提供稳定@id,并让脚本与页面共用标题、URL、作者和日期字段。
已有Microdata或RDFa站点
先用解析器确认输出是否完整。如果当前标记正确、模板稳定,没有必要为了格式偏好立即重写。新增组件继续遵循现有规范通常比混入第二套序列化更安全。
Linked Data或多词汇项目
需要跨数据集标识实体、组合多个词汇或提供机器接口时,应从RDF图和IRI设计出发,再选择JSON-LD、RDFa、Turtle等一个或多个序列化,而不是只从搜索结果样式倒推字段。
十三、迁移到JSON-LD的步骤
- 抽取现有页面实际表达的实体、属性和标识;
- 将Microdata或RDFa解析成规范化图,保留基线;
- 为主要实体设计稳定@id,不要每次构建随机生成;
- 用相同页面数据源生成JSON-LD;
- 比较迁移前后的类型、属性、节点数量与关系;
- 使用语法验证器和目标平台测试工具分别检查;
- 确认新脚本上线后再移除旧标记,避免长期双写;
- 抽样检查动态页面、分页、语言版本和客户端渲染页面。
- 迁移验证的目标是图等价和内容一致,不是代码字符相同。属性顺序、空白节点标识或嵌套写法不同,仍可能表达相同RDF图。
十四、常见错误
- 把Schema.org称为JSON-LD格式
- Schema.org是词汇,JSON-LD是表达数据的语法。两者经常组合,但不是同一个层级。
- 把RDF当成XML文件格式
- RDF是数据模型。RDF/XML只是它的一种序列化,JSON-LD、Turtle和RDFa也可表达RDF。
- 只复制示例,不设实体标识
- 多个脚本块中的组织、作者与网页可能被解析成互不相关的匿名节点。稳定@id有助于显式连接同一实体。
- 同时输出冲突的三套标记
- JSON-LD、RDFa与Microdata不是投票机制。冲突信息会增加歧义,应建立单一事实来源。
- 验证通过就认为能获得富媒体结果
- 语法有效、词汇有效、平台支持、页面资格和最终展示是不同门槛。搜索系统保留是否展示的决定权。
十五、上线检查清单
- 主要实体的类型与页面主题一致;
- @id或itemid稳定、绝对且不会跨实体复用;
- Canonical URL、实体URL和语言版本关系清楚;
- 标题、作者、日期、图片和正文可见内容一致;
- 数字与日期使用正确数据类型和格式;
- 嵌套实体没有因模板边界丢失父子关系;
- 没有遗留的旧标记输出冲突值;
- 通用解析器能读取,目标平台测试也通过;
- 客户端渲染失败时仍评估结构化数据是否可用;
- 数据更新、删除和回滚会同步更新所有序列化。
十七、结论
RDF规定图状数据模型,Schema.org提供常用Web实体词汇,JSON-LD用JSON序列化关联数据,RDFa与Microdata把机器标记嵌入HTML。正确选择的第一步不是问“哪个格式排名更高”,而是先确定要描述的实体和关系,再选择能由现有发布系统稳定生成、验证和更新的语法。
参考资料
W3C:rdf11 conceptsW3C · 术语定义与技术背景 · 访问 2026-08-30
W3C:json ld11W3C · 术语定义与技术背景 · 访问 2026-08-30
W3C:rdfa coreW3C · 术语定义与技术背景 · 访问 2026-08-30
html.spec.whatwg.org:microdata.htmlhtml.spec.whatwg.org · 术语定义与技术背景 · 访问 2026-08-30
Schema.org:gs.htmlSchema.org · 术语定义与技术背景 · 访问 2026-08-30