我在此处复制了json-ld 标准中示例的一部分:
{
"@context": {
"foaf": "http://xmlns.com/foaf/0.1/",
"picture": { "@id": "foaf:depiction", "@type": "@id" }
},
"picture": "http://twitter.com/account/profile_image/markuslanthaler"
}
我不明白,为什么我们应该@id
在@context
. 它应该是:
{
"@context": {
"foaf": "http://xmlns.com/foaf/0.1/",
"picture": {
"@type": [ "@id", "foaf:depiction" ]
}
},
"picture": "http://twitter.com/account/profile_image/markuslanthaler"
}
你有什么解释吗?
几年过后
我想上面的意思是以更可重用的形式表示以下内容:
{
"http://xmlns.com/foaf/0.1/depiction": "http://twitter.com/account/profile_image/markuslanthaler"
}
如果我们先检查扁平形式并尝试逐渐压缩它,则更容易理解。所以 the@id
是属性的 IRI,而 the@type
是值的类型,这里是@id
,这可能会令人困惑,但这只是意味着我们期望 IRI 作为值。