如果将规范、符合惯例的 JSON-LD 映射到 EN 18223 序列化格式上,首先映入眼帘的就是其庞大的规模。目标格式显得格外冗长。
EN 18223 是 CEN/CLC JTC 24 制定的标准,该标准定义了数字产品护照(DPP)的数据模型 - - 一旦该标准在《欧盟官方公报》上被引用,所有 DPP 都必须符合这一格式。 在此格式下,每个值都会被转换为一个具有独立 elementId、dictionaryReference、objectType、valueDataType 和 value 的对象。三行源数据因此变成了二十行。
冗长带来的收益
这种冗长并非偶然,理解 ## 它所带来的收益是值得的。
当无法再假设语义信息可在线公开解析时,冗长性便成为语义的体现。JSON-LD文档通常通过@context传递语义:这是一个链接,读者可通过它查询某个字段的含义。
即使字典位于 ECLASS 或 IEC CDD 字段之后,EN 18223 标准也必须能够正常运行 - - 这两者均需付费,且均无法像开放的 @context-IRI 那样免费解析。 因此,该标准将含义逐项写入:使用哪个词典、哪个条目、哪种类型、哪个值。只有这样,当无法指望读者点击查阅时,该标准才能保持自描述性。
从这个角度来看,这种冗长并非设计缺陷,而是针对封闭式词典的一种合理应对。
其对比非常鲜明。我们所基于的词汇表 - - OpenEPCIS DPP Core及其法规扩展 - - 已在 ref.openepcis.io 上公开发布,并且始终可以自由解析。 一个简单的 @context 引用就承载了封闭词典必须写入其中的含义。
为何方向至关重要
从封闭词典中重建开放语义,是困难的方向。反之则很简单。
我们的 JSON-LD 源数据已经包含 EN 18223 模型所要求的每个属性:属性引用、词典引用、值数据类型,以及每个值对应的语言数组。 它们只是以带有 @context-IRI 的类型化 JSON-LD 对象形式表达,而非 EN 18223 标准中那种扁平的“实体-属性-值”结构。
从这些数据中生成 EN 18223 视图是一项格式化任务:将现有的字段转换为目标格式。
这一原则可概括为:具有开放命名空间的源数据会对每个封闭词典进行投影,因此,冗长性是那些从封闭结构开始的人必须付出的代价。我们从未这样做,因为意义从最初编写时就已存在。
采用复数命名空间而非标准词汇表
我们的源数据之所以已采用这种形式,是经过深思熟虑的决定,而非偶然。我们不会将每项法规都强行塞进单一的词汇表中。
每一项欧盟DPP法规 - - 包括电池、纺织品、电子产品以及未来即将出台的法规 - - 都保留着各自上游的命名空间:GS1的命名空间、OpenEPCIS DPP Core的命名空间,以及相应法规扩展的命名空间。 所有这些命名空间都并行存在于一个 @context 数组中,此外还有一个特意设计得精简的 transpareo: 命名空间,用于处理那些未被上游命名空间覆盖的少数术语。
EN 18223 标准在其第 0.2 条导言中几乎提出了完全相同的要求:避免行业特定的本体,允许并行使用根据各项授权法规发布的本体,并尽可能保持横向层的通用性。
基于开放、并行命名空间的架构不仅符合该标准的初衷,更是该标准设计原则本身所指向的方向。
压力测试:Battery Pass 的属性列表
其证明在于:该架构如何接纳了一本它原本并非为此构建而设计的词典。
Battery Pass 联盟发布的《数据属性长列表》(Data Attribute Long List)1.3 版,是第三本既独立于 EN 18223 标准,又与 GS1 标准相异的词典: 约 100 个属性、独特的命名规则、专属的访问级别,以及该联盟对《电池条例》附件 XIII 的解读。
我们将其与现有的数据模型进行了比对。100个属性中有91个未经修改,直接映射到了现有的属性类型上。基于多命名空间的架构将新的封闭式词典视为另一种投影 - - 它并不强制要求进行重新构建。
标准的现状
EN 18223及其姊妹标准EN 18216(该标准定义了EN 18223所引用的具体序列化格式)均为已发布的欧洲标准。
它们属于 CEN-CENELEC-JTC-24-DPP 标准集的首批发布标准:八项标准中有六项已发布,其余两项(涉及身份验证和访问权限)将于 2026 年夏季陆续发布。 预计这些标准将于2026年年中在《欧盟官方公报》上被引用,从而获得协调地位并享有符合性推定。
积极的一面
上述情况并不意味着 EN 18223 是一项错误的标准。在并非所有词典都开放的世界里,冗长繁琐是实现互操作性必须付出的代价,而该标准恰恰契合了这一现实。
积极的一面很简单:对于已经采用标准JSON-LD的人来说,EN 18223只是现有架构的映射,而非全新构建。真正耗费精力的则是另一条道路 - - 对于那些从封闭词典起步的人来说,这是必须走的路。
对于那些从第一行开始就基于开放、可解析语义构建的人来说,该标准的冗长性就不再是一种负担。它将成为一种输出格式,可在需要时生成。
