コンテキストのない単純な JSON-LD ドキュメントを考えてみましょう。
[
{
"@id": "http://stackoverflow.com/#users",
"http://rdfs.org/sioc/ns#name": "SO Users",
"http://xmlns.com/foaf/0.1/member":
{
"@id": "http://example.com/me#me"
}
},
{
"@id": "http://example.com/me#me",
"http://xmlns.com/foaf/0.1/givenName": "Tomasz"
}
]
以下のようなものを取得するために、このドキュメントに単一の @context を追加したいと思います。
{
"@context": { /* what here? */ },
"@graph": [
{
"@id": "http://stackoverflow.com/#users",
"Name": "SO Users",
"Members": [ "http://example.com/me#me" ]
},
{
"@id": "http://example.com/me#me",
"Name": "Tomasz"
}]
}
ここでの問題は、foaf:givenName および sioc:name プロパティが両方とも json の Name キーにマップされていることです。ネストされた @context を使用してプロパティをオーバーライドできるため、このドキュメントを手動で作成する場合は問題ありません。
ただし、JSON-LD 仕様で定義されている Compact 操作では可能ですか? または、すべての述語を明確なプロパティにマップする唯一のオプションです (この場合は Name と GivenName の可能性があります)。