引用一个 IRI 的多个术语

Multiple terms referring to one IRI

我想创建一个上下文文件以用于多个数据源。是否可以陈述不同的术语来指代完全相同的 IRI?

例如:

{
    "@context": {
          "twitter_name": "http://schema.org/name",
          "facebook_name": "http://schema.org/name"
    }
}

如果我没有正确理解你的问题,你想为同一个 属性 定义不同的别名。所以不使用前缀,这个:

{
  "@context": {
    "twitter_name": "http://schema.org/name",
    "facebook_name": "http://schema.org/name"
  }
}

这应该是有效的。在一个对象中,keys必须是唯一的,但是values.

没有这样的要求

您可以在 JSON-LD Playground 中测试它。

此示例使用四种方式来指定 属性:

{
  "@context": {
    "bi": "http://schema.org/",
    "twitter_name": "bi:name",
    "facebook_name": "bi:name"
  },
  "bi:name": "Alice (prefix)",
  "twitter_name": "Alice (alias for Twitter)",
  "facebook_name": "Alice (alias for Facebook)",
  "http://schema.org/name": "Alice (full URI)"
}

压缩后的结果包含一个具有四个名称的数组值:

{
  "http://schema.org/name": [
    "Alice (prefix)",
    "Alice (alias for Facebook)",
    "Alice (full URI)",
    "Alice (alias for Twitter)"
  ]
}

所以所有的键都被正确解释为Schema.org的name 属性.