-
Notifications
You must be signed in to change notification settings - Fork 14
Apply nesting to extensions and dublinCore #283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I think we'll need to define dc:description, dc:identifier, and dc:title in the context of the "dublinCore": {
"@id": "@nest",
"@context": {
"@vocab": "http://purl.org/dc/terms/",
"description": {
"@id": "dct:description"
},
"identifier": {
"@id": "dct:identifier"
},
"title": {
"@id": "dct:title"
}
}
}(with I think that's all of the potential conflicts. But might be worth checking. |
|
I've been wrestling with the idea of "extensions": {
"@id": "@nest",
"@context": {
"@vocab": null
}
}What this will do is make sure that a) content of "@context": [
"https://distributed-text-services.github.io/specifications/context/1.0.json",
{
"extensions": {
"@id": "@nest",
"@context": {
"@vocab": "http://www.cidoc-crm.org/cidoc-crm/"
}
}
}
]If you don't care about RDF and just want to slap your own stuff in Also, if we're going this route, we should probably set |
|
I've been playing catch-up here and reading the spec, since my grasp of the JSON-LD issue was fuzzy. I'm convinced that the @nest approach is the way to go, and I like your suggestion @hcayless about setting @vocab to My only point of confusion is around the naming conflicts. This may still be a gap in my understanding. But if our top-level context collides with a term in the inner context's vocabulary, doesn't each term just get expanded with its own context's URI for that term? So "title" and "description" inside the dublinCore object would be expanded to "http://purl.org/dc/terms/title" and "http://purl.org/dc/terms/description", so the collision disappears? I suspect there's something I didn't follow in the discussion. If there is a collision issue, though, then anyone using another vocabulary in |
|
@monotasker Re the naming conflicts: You would think that, but I believe the idea is that explicitly defined terms always win. If you've set the vocabulary but not defined the term used, then it will be in the vocab you set, but if you defined the term in another vocab, it will be in that vocab wherever it's used (unless you override the definition), meaning |
Fixes #280
This does not look good on JSON LD playground but this seems to be specs valid.