我想创建一个用于多个数据源的上下文文件。是否可以陈述将指代完全相同的 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"
}
}
这应该是有效的。在一个对象中,键必须是唯一的,但值没有这样的要求。
您可以在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
属性。