我已经创建了猫头鹰本体,并希望创建尽可能简单的传输格式。为此,我想在json-ld上下文中包含任何上下文(vocab)信息。具体来说,我想指定(固有的)特定属性值的rdf:type。
所以:我有这个json:
{
"@type": "Observation",
"observedProperty": "temperature"
}
我想创建一个上下文,以便扩展的表单看起来像这样:
[
{
"@type": [
"http://www.my.vocab.org/def/Observation"
],
"http://www.my.vocab.org/def/observedProperty": [
{
"@id": "http://www.my.vocab.org/temperature",
"@type": "http://www.my.vocab.org/def/Property"
}
]
}
]
使用此上下文扩展:
"@context": {
"@base": "http://www.my.vocab.org/",
"@vocab": "def/",
"property": "property/",
"observedProperty": {
"@type": "Property"
}
}
结果
...
"@type": "http://www.my.vocab.org/def/Property",
"@value": "temperature"
...
扩展使用
"@context": {
...
"@type": "@id"
...
}
显然不包括类型。有什么想法吗?
此问题以前曾出现过,并且键入强制不起作用。看看https://www.w3.org/TR/json-ld11/#type-coercion中的音符。
但是,您可以通过框架来做到这一点。