Schema.org工作机制详解:技术词汇表的演进与协作流程
This document outlines Schema.org's structured process for vocabulary development, including community collaboration, release cycles, and extension mechanisms. (本文概述了Schema.org词汇表开发的结构化流程,包括社区协作、发布周期和扩展机制。)
Introduction
This document outlines the collaborative development process behind Schema.org, the widely adopted vocabulary for structured data on the web. It serves as a companion to the project's organizational overview, detailing how schemas are proposed, discussed, and evolved from initial idea to official release. Understanding this workflow is crucial for contributors, implementers, and anyone interested in the future direction of semantic markup.
本文档概述了 Schema.org 这一被广泛采用的网络结构化数据词汇表的协作开发流程。它作为项目组织概述的补充,详细说明了模式从初步构思到正式发布的提议、讨论和演进过程。理解这一工作流程对于贡献者、实施者以及任何对语义标记未来方向感兴趣的人都至关重要。
Overview: The Development Workflow
The Schema.org project operates on a continuous, community-driven development cycle. Changes range from minor bug fixes to the introduction of new vocabulary terms, all managed through a transparent process involving public discussion and formal review.
Schema.org 项目运行在一个持续的、社区驱动的开发周期上。变更范围从微小的错误修复到新词汇术语的引入,所有这些都通过一个涉及公开讨论和正式评审的透明流程进行管理。
A quick summary of the key stages:
- Official Releases: The primary vehicle for updates, occurring every few weeks. All changes are documented on the releases page. (主要更新载体,每隔几周发布一次。所有变更都记录在发布页面上。)
- Community Discussion: Proposed improvements are debated within the W3C Schema.org Community Group, typically using the project's GitHub issue tracker. (提议的改进在W3C Schema.org 社区组内进行讨论,通常使用项目的GitHub 问题跟踪器。)
- Staging Environment: A work-in-progress development site, staging.schema.org, is maintained by the project webmaster. It reflects the current state of discussions and forms the basis for release candidates. (项目网站管理员维护着一个进行中的开发站点 staging.schema.org。它反映了讨论的当前状态,并构成发布候选版本的基础。)
- The "Pending" Extension: New vocabulary proposals can be rapidly published to pending.schema.org for early experimentation. This highlights potential new terms but does not guarantee wider community or steering group consensus. (新的词汇提案可以快速发布到 pending.schema.org 以供早期实验。这突出了潜在的新术语,但并不保证更广泛的社区或指导小组Schema.org项目的决策机构,负责审批所有变更和发布,确保变更反映社区共识。的共识。)
- Steering Group Review & Approval: Periodically, snapshots representing rough community consensus are packaged as release candidates for review by the project's steering group. After approval and a 10-business-day review period, the official schema.org site is updated. (定期地,代表粗略社区共识的快照被打包为发布候选版本,供项目指导小组评审。经批准并经过10个工作日的评审期后,官方的 schema.org 网站将被更新。)
Versioning and Change Control
Schema.org evolves incrementally through named releases (e.g., "2.1", "3.0"). All changes incorporated into a release require the unanimous agreement of the Steering Group, which is strongly informed by public community discussions.
Schema.org 通过命名的发布版本(例如 "2.1"、"3.0")逐步演进。纳入发布版本的所有变更都需要指导小组Schema.org项目的决策机构,负责审批所有变更和发布,确保变更反映社区共识。的一致同意,而该决定深受公开社区讨论的影响。
For general use, publishers are encouraged to reference the latest release using non-versioned URLs (e.g., https://schema.org/Place). However, the project supports scenarios requiring precise versioning:
对于一般用途,鼓励发布者使用非版本化的 URL(例如
https://schema.org/Place)来引用最新版本。然而,项目也支持需要精确版本控制的场景:
- Dated Snapshots: Each release includes timestamped, machine-readable definitions of the core vocabulary, linked from the releases page. (每个发布版本都包含核心词汇表带时间戳的、机器可读的定义,链接自发布页面。)
- The
schemaVersionProperty: Publishers can explicitly indicate the intended schema version within their structured data using theschemaVersionproperty. (发布者可以使用schemaVersion属性在其结构化数据中明确指示预期的模式版本。) - Full Transparency: All changes to the site and its underlying software are tracked and published via GitHub. (网站及其底层软件的所有变更都通过 GitHub 进行跟踪和发布。)
The project also manages vocabulary through extensions:
项目还通过扩展来管理词汇表:
- Hosted Extensions (e.g.,
auto.schema.org,bib.schema.org): These are effectively part of schema.org but reside under specific subdomains. They are managed within the project's process, often led by dedicated community groups. (托管扩展Schema.org项目管理的子领域词汇表(如bib.schema.org),作为核心词汇表的一部分但独立标记。(例如auto.schema.org、bib.schema.org):这些实际上是 schema.org 的一部分,但位于特定的子域名下。它们在项目流程内进行管理,通常由专门的社区小组领导。) - External Extensions (e.g., GS1's Web Vocabulary): Published and managed independently by other organizations, with their own processes. Schema.org acknowledges and can link to these external vocabularies. (外部扩展由其他组织独立发布和管理的词汇表(如GS1 Web Vocabulary),与Schema.org兼容但遵循自身流程。(例如 GS1 的 Web 词汇表):由其他组织独立发布和管理,拥有自己的流程。Schema.org 可以承认并链接到这些外部词汇表。)
Schema Structure and Definitions
The schema.org site is built from several key components that define its vocabulary and enable both human understanding and machine processing.
schema.org 网站由几个关键组件构建而成,这些组件定义了其词汇表,并支持人类理解和机器处理。
Site Components
网站组件
- Human-Readable Content: A homepage, overview documents, and most importantly, a dedicated page for each term (Type, Property, or Enumeration). Each term page includes a textual definition, examples, and metadata. (人类可读内容:一个主页、概述文档,以及最重要的,每个术语(类型、属性或枚举值)的专用页面。每个术语页面包括文本定义、示例和元数据。)
- Machine-Readable Files: These are not intended for direct human consumption but are critical for tools and software. (机器可读文件:这些文件不直接供人类阅读,但对工具和软件至关重要。)
- RDFa File (
schema_org_rdfa.html): Contains the underlying technical definition of the core schemas. (RDFa 文件 (schema_org_rdfa.html):包含核心模式的基础技术定义。) - JSON-LD Context File (
jsonldcontext.json): Automatically generated, it tells JSON-LD processors how to interpret string values (as text or URL) for each property, enabling reliable use of relative links. (JSON-LD 上下文文件 (jsonldcontext.json):自动生成,它告诉 JSON-LD 处理器如何解释每个属性的字符串值(作为文本或 URL),从而实现相对链接的可靠使用。) - Other Releases: Additional machine-oriented files are available in the project's GitHub repository. (其他发布版本:更多面向机器的文件可在项目的 GitHub 仓库中找到。)
- RDFa File (
The Anatomy of a Release
发布版本的构成
Each release can encompass various types of changes, reflecting the project's layered approach to evolution:
每个发布版本可以包含各种类型的变更,反映了项目分层演进的方法:
- Cosmetic & Documentation: Fixing typos, markup errors in examples, adding new examples, or adjusting textual descriptions. (外观和文档:修复拼写错误、示例中的标记错误、添加新示例或调整文本描述。)
- Machine-Readable Logic: Adjusting the formal relationships between terms. This includes: (机器可读逻辑:调整术语之间的正式关系。这包括:)
- Hierarchies: Changing a type's supertype(s) or a property's super-property. (层次结构:更改类型的父类型或属性的父属性。)
- Associations: Modifying which properties can be used with which types (
domainIncludes) and what values they can take (rangeIncludes). (关联:修改哪些属性可以与哪些类型一起使用(domainIncludes)以及它们可以接受什么值(rangeIncludes)。) - Inverses & Mappings: Defining or updating inverse property pairs (e.g.,
isPartOf/hasPart) and mappings to external vocabularies. (逆属性和映射:定义或更新逆属性对(例如isPartOf/hasPart)以及到外部词汇表的映射。) - Deprecation: Marking terms as
supersededBynewer ones, rather than deleting them. (弃用:将术语标记为被新术语取代,而不是删除它们。)
- Vocabulary Movement: Terms can be migrated between the core vocabulary and hosted extensions (e.g., from
auto.schema.orginto core), with accompanying definition adjustments. (词汇表移动:术语可以在核心词汇表和托管扩展Schema.org项目管理的子领域词汇表(如bib.schema.org),作为核心词汇表的一部分但独立标记。之间迁移(例如,从auto.schema.org迁移到核心),并伴随定义的调整。)
A core principle is that property names are global across all of schema.org (core and hosted extensions). The definition of a property like startDate must be general enough to apply correctly in all conceivable contexts where it might be used. This often drives evolutionary refinement as a property's applicability broadens over time.
一个核心原则是,属性名称在整个 schema.org(核心和托管扩展Schema.org项目管理的子领域词汇表(如bib.schema.org),作为核心词汇表的一部分但独立标记。)中是全局的。像
startDate这样的属性的定义必须足够通用,以便在所有可能使用它的情境中都能正确应用。这常常推动着演进式的改进,因为属性的适用性会随着时间的推移而扩大。
Extensibility Mechanisms
Schema.org is designed to be extended. Beyond the formal hosted and external extensions, publishers have several independent methods for including additional data alongside schema.org markup.
Schema.org 被设计为可扩展的。除了正式的托管和外部扩展由其他组织独立发布和管理的词汇表(如GS1 Web Vocabulary),与Schema.org兼容但遵循自身流程。之外,发布者还有几种独立的方法可以在 schema.org 标记旁边包含额外的数据。
- Co-existing Markup: Schema.org data can be published on the same page as other structured data formats (Microformats, other RDFa) using independent vocabularies. (共存标记:Schema.org 数据可以与使用独立词汇表的其他结构化数据格式(Microformats、其他 RDFa)发布在同一页面上。)
- The
PropertyValueType: Allows the exposure of arbitrary property/value pairs within a schema.org description, useful for site-specific data that doesn't map to existing terms. (PropertyValue类型:允许在 schema.org 描述中暴露任意的属性/值对,适用于无法映射到现有术语的站点特定数据。) - The
RoleMechanism: Enables arbitrary annotation of any schema.org entity with extra contextual information. (Role机制:允许使用额外的上下文信息对任何 schema.org 实体进行任意注释。) - Vocabulary Mixing in Syntax: Supported syntaxes like JSON-LD and RDFa 1.1 inherently allow other schemas to be mixed into a schema.org-based description. The JSON-LD context file and RDFa initial context facilitate this interoperability. (语法中的词汇表混合:支持的语法如 JSON-LD 和 RDFa 1.1 本质上允许其他模式混合到基于 schema.org 的描述中。JSON-LD 上下文文件和 RDFa 初始上下文促进了这种互操作性。)
(The original document continues with further operational details for collaborators, which can be found in the Schema.org W3C Community Group's "how we work" section.)
(原始文档继续提供了针对协作者的更多操作细节,这些细节可以在 Schema.org W3C 社区组的“how we work”部分找到。)
版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。
文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。
若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。 也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。