10

假设我们有以下 JSON:

{
  "@context":
  {
    "name": "http://schema.org/name",
    "status": "http://schema.org/status"
  },
  "name": "Manu Sporny",
  "status": "trollin'"
}

JSON-LD 游乐场

trollin'状态由 URI:标识http://example.com/trolling。是否可以将trollin'上面示例中的关键字扩展为 URI http://example.com/trolling

对上下文的直接操作不起作用:

{
  "@context":
  {
    "name": "http://schema.org/name",
    "status": "http://schema.org/status",
    "trollin'": "http://example.com/trolling"
  },
  "name": "Manu Sporny",
  "status": "trollin'"
}

JSON 游乐场

强制statusto的类型@id也不起作用,因为它会假定trollin'是一个相对 URI。

{
  "@context":
  {
    "name": "http://schema.org/name",
    "status": {
      "@id": "http://schema.org/status",
      "@type": "@id"
    },
    "trollin'": "http://example.com/trolling"
  },
  "name": "Manu Sporny",
  "status": "trollin'"
}

JSON-LD 游乐场

4

1 回答 1

10

是的,你可以做到,你需要将状态类型设置为@vocab:

{
  "@context":
  {
    "name": "http://schema.org/name",
    "status": {
      "@id": "http://schema.org/status",
      "@type": "@vocab"
    },
    "trollin'": "http://example.com/trolling"
  },
  "name": "Manu Sporny",
  "status": "trollin'"
}

这是游乐场的链接。

于 2014-10-29T17:41:29.577 回答