我有一个简单的json文件,如:
{
"name": "something"
}
现在我有一个json-ld定义,其中有对象。有一个id为#something的对象 - 它存在让我们说http://example.com/test.jsonld#something。
现在我想添加上下文而不修改原始数据,因此Name成为一个类型,值变为IRI http://example.com/test.jsonld#something。
我做过这样的事情:
{
"@context":{
"name":"@type"
},
"@id":"1234",
"name":"something"
}
这让我在jsonld操场上几乎是我想要的:
{
"@id": "1234",
"@type": "http://json-ld.org/playground/something",
}
如何添加上下文这样的值"某些东西被扩展为IRI http://example.com/test.jsonld#something而不是playgorund?
与" @ base"但它也将@id更改为url。
答案 0 :(得分:2)
您可以将术语(映射到IRI的字符串)用作@type
的值。当您将name
设为@type
时,您需要做的就是将映射从something
添加到http://example.com/test.jsonld#something
:
{
"@context":{
"name": "@type",
"something": "http://example.com/test.jsonld#something"
},
"@id": "1234",
"name": "something"
}
与" @ base"但它也将@id更改为url。
@id
的值始终是IRI。如果您没有基础("@base": null
)