-
Notifications
You must be signed in to change notification settings - Fork 152
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
Allow @id: null to decouple a term from @vocab #165
Comments
While I understand that this feature is being proposed for complete-ness, I don't think we should add the feature to this version of JSON-LD. We haven't had an implementer ask for it. @vocab is a sledgehammer and has a few down-sides - it applying to everything is one of those downsides. If author's don't want that to happen, they shouldn't use @vocab. My biggest concern is the added complexity to JSON-LD for something that seems (to me) like a fairly narrow corner-case. It's one more thing that authors have to look for in contexts... "Okay, vocab is active.... now I need to scan the context to see which items that @vocab doesn't apply to..." -1 for this feature. |
Agree, -1 from me as well. |
That would make it impossible to use e.g. proprietary data (such as the attached "rev" object our service requires to expose reverse relations) in combination with |
That's true, but how would you interpret something like this then:
What if you set the whole term to null, not just it's id: |
I just pushed a test for this but forgot to reference it. Here's the commit: b5cf284 |
I would expect that any term whose
to achieve that (or rather just pick the terms you need and don't do any redefinitions at all). As said, you still have to scan the context to see which terms In my case I use a plain |
Isn't that the purpose of
Currently a nulled term is simply removed from the active context and @vocab isn't touched which yields to the current behavior. Actually your argument is just as convincing as Manu's.. a developer has to scan the context anyway to see what's going on. Summed up I would be fine either way.
We do not forbid application-specific keywords but discourage from using them for forward-compatibility reasons. What do you mean by setting @id to @Rev? |
I'm not sure what I should think about this issue. There are good arguments for both sides.. So let's try to see what others think: PROPOSAL 1: Allow a term to be mapped to null (either directly or by setting PROPOSAL 2: If a term is mapped to null (either directly or by setting |
PROPOSAL 1: +0.5 I'm concerned that, whatever we do here, it'll cause confusion. |
Btw., proposal 2 is what we currently do |
I'm with @manu on this. No strong preference, but I can see some advantage to PROPOSAL 1 |
Neither the grammar section in the syntax spec, nor the context processing algorithm in the API spec have been updated. Perhaps also the compaction algorithm needs to be updated. |
Added this feature to the grammar section in commit 9cb2f6e. @lanthaler I think those changes cover everything required for this feature. Can you double-check, if all changes are in we should report back to the list and close this issue 24 hours after that. |
The syntax spec as well as the API spec have been updated to allow the explicit decoupling of a term from |
Currently there's no way to say that a JSON property shouldn't expand to a full IRI if
@vocab
was set:date
should not expand tohttp://example.org/vocab#date
here.This came up in the 2012-10-16 telecon
The text was updated successfully, but these errors were encountered: