2

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

例如:

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

1 回答 1

1

如果我正确理解您的问题,您想为同一属性定义不同的别名。因此,如果不使用前缀,则:

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

这应该是有效的。在一个对象中,必须是唯一的,但值没有这样的要求


您可以在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属性。

于 2018-04-26T19:13:29.930 回答