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

如何修正JSON-LD语法以实现预期的属性值展开效果?

解决方案

要实现仅指定属性值的URI展开,同时避免属性名和类型被错误扩展,只需调整@context的配置,无需使用@vocab:

正确的JSON-LD代码

{
  "@context": {   
    "number": "locator:requirements/number/",
    "var": "locator:models/",
    "operator": {"@container": "@list"},
    "target": {"@container": "@list"},
    "variable": {"@container": "@list"}
  },

  "@graph": [
    {
      "@id": "number:001",
      "target": {
        "@type": "float",
        "@value": 22.6
      },
      "variable": {
        "@id": "var:StarTracker/AngleToSun"
      },
      "operator": "minimum"
    }
  ]
}

配置说明

  1. 前缀映射:仅在@context中定义number和var两个前缀,确保只有使用这些前缀的@id值会被展开为完整URI(比如number:001→locator:requirements/number/001,var:StarTracker/AngleToSun→locator:models/StarTracker/AngleToSun)。
  2. 容器配置:为operator、target、variable添加"@container": "@list",强制这些属性的展开结果以数组形式呈现,完全匹配你期望的输出结构。
  3. 避免全局扩展:不设置@vocab,这样operator、target等属性名以及float类型都不会被错误扩展,保持原样。

展开后的结果

[
  {
    "@id": "locator:requirements/number/001",
    "operator": [
      {
        "@value": "minimum"
      }
    ],
    "target": [
      {
        "@type": "float",
        "@value": 22.6
      }
    ],
    "variable": [
      {
        "@id": "locator:models/StarTracker/AngleToSun"
      }
    ]
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:03:10