You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过@context压缩@id中的IRI,无需使用@base?

问题解答

完全可以在不使用@base的前提下,通过@context实现@id的IRI压缩,你提供的示例代码本身就是符合JSON-LD规范的合法实现。

你给出的示例经过JSON-LD处理器展开后,@id会被正确解析为完整IRI http://example.org/MaxMustermann,name字段也会正确映射到https://schema.org/name,完全符合预期效果。

补充优化方案

如果你的场景下存在多个同域名下的资源需要定义@id,可以用前缀映射的方式简化@context配置,不需要为每个资源单独配置完整IRI映射,示例如下:

{
  "@context":  {
    "ex": {"@id": "http://example.org/", "@prefix": true},
    "name": "https://schema.org/name"
  },
  "@id": "ex:MaxMustermann",
  "name": "Max Mustermann"
}

上述代码展开后@id的解析结果和你原来的写法完全一致,可复用性更高。

常见误区说明

很多开发者误以为只有@base才能处理@id的IRI缩写,实际上JSON-LD规范中明确支持直接将@context中定义的术语、前缀用于@id值的自动展开,无需依赖@base配置。

内容的提问来源于stack exchange,提问作者frm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:39:06