引用一个 IRI 的多个术语
Multiple terms referring to one IRI
我想创建一个上下文文件以用于多个数据源。是否可以陈述不同的术语来指代完全相同的 IRI?
例如:
{
"@context": {
"twitter_name": "http://schema.org/name",
"facebook_name": "http://schema.org/name"
}
}
如果我没有正确理解你的问题,你想为同一个 属性 定义不同的别名。所以不使用前缀,这个:
{
"@context": {
"twitter_name": "http://schema.org/name",
"facebook_name": "http://schema.org/name"
}
}
这应该是有效的。在一个对象中,keys必须是唯一的,但是values.
没有这样的要求
您可以在 JSON-LD Playground 中测试它。
此示例使用四种方式来指定 属性:
{
"@context": {
"bi": "http://schema.org/",
"twitter_name": "bi:name",
"facebook_name": "bi:name"
},
"bi:name": "Alice (prefix)",
"twitter_name": "Alice (alias for Twitter)",
"facebook_name": "Alice (alias for Facebook)",
"http://schema.org/name": "Alice (full URI)"
}
压缩后的结果包含一个具有四个名称的数组值:
{
"http://schema.org/name": [
"Alice (prefix)",
"Alice (alias for Facebook)",
"Alice (full URI)",
"Alice (alias for Twitter)"
]
}
所以所有的键都被正确解释为Schema.org的name
属性.
我想创建一个上下文文件以用于多个数据源。是否可以陈述不同的术语来指代完全相同的 IRI?
例如:
{
"@context": {
"twitter_name": "http://schema.org/name",
"facebook_name": "http://schema.org/name"
}
}
如果我没有正确理解你的问题,你想为同一个 属性 定义不同的别名。所以不使用前缀,这个:
{
"@context": {
"twitter_name": "http://schema.org/name",
"facebook_name": "http://schema.org/name"
}
}
这应该是有效的。在一个对象中,keys必须是唯一的,但是values.
没有这样的要求您可以在 JSON-LD Playground 中测试它。
此示例使用四种方式来指定 属性:
{
"@context": {
"bi": "http://schema.org/",
"twitter_name": "bi:name",
"facebook_name": "bi:name"
},
"bi:name": "Alice (prefix)",
"twitter_name": "Alice (alias for Twitter)",
"facebook_name": "Alice (alias for Facebook)",
"http://schema.org/name": "Alice (full URI)"
}
压缩后的结果包含一个具有四个名称的数组值:
{
"http://schema.org/name": [
"Alice (prefix)",
"Alice (alias for Facebook)",
"Alice (full URI)",
"Alice (alias for Twitter)"
]
}
所以所有的键都被正确解释为Schema.org的name
属性.