创建 JSON-LD 上下文:缺少属性

Creating a JSON-LD Context: Properties missing

我尝试为项目创建自己的上下文。但是,在使用 Compact 之后,一些属性将丢失。请看这个例子:

{
  "@context":
  {
    "myvocab": "http://localhost:8080/schema.json#",
    "Information":
    {
      "@id": "myvocab:Information",
      "@type": "@id",
      "name": "http://schema.org/name",
      "active": "http://schema.org/Boolean"
    }
  },

  "Information": [
   {
     "@type": "myvocab:Information",
     "name": "myCustomName",
     "active": "true"    
   }
  ]
}

这个例子也可以在 JSON-LD Playground 上找到。 压缩后,我再也看不到属性 "name" 和 "active",因为它们将被删除。游乐场也是如此。但是,@context 部分没有出现错误,所以我认为它是正确的。

请帮助我理解为什么这些属性会丢失,以及我如何才能在解析后正确地看到它们。

提前致谢!

你的上下文嵌套是错误的。您错误地制作了 Information 映射的 nameactive 属性,而不是让它们自己成为术语映射。这是固定示例:

{
  "@context":
  {
    "myvocab": "http://localhost:8080/schema.json#",
    "Information":
    {
      "@id": "myvocab:Information",
      "@type": "@id"
    },
    "name": "http://schema.org/name",
    "active": "http://schema.org/Boolean"
  },
  "Information": [
   {
     "@type": "myvocab:Information",
     "name": "myCustomName",
     "active": "true"    
   }
  ]
}

您可能还想检查 active 的映射。您将其映射到一个类型,而不是将其映射到 属性(属性在 Schema.org 中小写,classes/types 大写)。