创建 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
映射的 name
和 active
属性,而不是让它们自己成为术语映射。这是固定示例:
{
"@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 大写)。
我尝试为项目创建自己的上下文。但是,在使用 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
映射的 name
和 active
属性,而不是让它们自己成为术语映射。这是固定示例:
{
"@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 大写)。