-
Notifications
You must be signed in to change notification settings - Fork 116
Add undefined-term context. #1525
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
Conversation
This PR suggests a bad development pattern that the VCWG shouldn't condone for the following reasons:
That said, if we have WG Members that insist on this design pattern, I'll be a -1, but I won't block or formally object to the feature. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Is it worth adding an example or text around this being available?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's already a @vocab
value in the base context, so this is redundant.
@selfissued I believe you refer to the vcdm 2.0 context, the VC data model has multiple versions and this pr will enable implementers to have the same benefit with say the vcdm 1.1. This is irrelevant to the version used and just a great resource to have for developers getting started in the space overall. I support this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving as-is, though I've offered an alternative URL because I think the "issuer dependent" vocabulary approach has led to some confusion and trouble that would best be avoided (e.g., vendor lock-in, developers making unsafe assumptions). But I'll accept whichever approach can get consensus.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@msporny said:
It would be better for developers that want to use "private terms" to specify their own namespace
that they control instead of using a global one that is guaranteed to create semantic conflicts over time.
+1
We need to do a better job signalling that 1) usage of the [local term / private] context will inevitably lead to conflicts at scale, and 2) usage of the context is meant to be for local ecosystems only (not global ones).
+1
@dlongley said:
I've offered an alternative URL because I think the "issuer dependent" vocabulary approach has led to some
confusion and trouble that would best be avoided (e.g., vendor lock-in, developers making unsafe assumptions)
+1
I've been reading the multiple threads on this and adjacent topics. I see the value of @vocab
for development and attribute bundle refinement purposes by everyone who is using VCDM 2.0. I also know that there are entities with deep expertise in JSON-LD and vocabularies who leverage it with full awareness of how best to utilize it properly (I do not count myself to be in this category).
At the same time, I also recognize (as shared in other threads) that @vocab
is being used in VCDM 2.0 for a purpose it was not intended, which is a choice that tends to be a source of many unintended consequences, so that is and should be very concerning!
Because I don't know what I don't know, I am approving this with the caveats above, and defer to the folks with practical @vocab
implementation expertise in the hope that they will be able to help craft the normative language and options around this in a manner that can strike a balance between utility and protection from foot-guns.
For all the reasons argued above, I'm in favor of this PR. My favorite option for the |
+1 for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am fine having this (I'd prefer private-term or undefined-term, with a slight preference to the latter). However,
- Is this additional to, or replacing, the
@vocab
usage in the core context? I would prefer replacing. Having both is useless; if this context file comes after the core context, it will, I believe, override the@vocab
statement in the core. - There is, currently,
vocab/credentials/v2/issuer-dependent.html
file on the repo, which is used as a redirection target (at the moment) for the default@vocab
. Just flagging that if we rename the URL, that file must be renamed/copied, too!
Noted, it looks like "undefined-term" is getting the most support so far.
It's mean to be a replacement, not in addition to (because as you say, "in addition to" wouldn't make much sense at all).
Yep, noted, we'll want to make that update in this PR once we settle on the final terminology. |
It is not redundant; it is a replacement for a |
I like |
This comment was marked as resolved.
This comment was marked as resolved.
@decentralgabe wrote:
The term is, specifically, not being defined. Here's an example of a term that is defined: https://www.w3.org/2018/credentials/#issuer As a comparison, this one isn't defined: https://www.w3.org/ns/credentials/issuer-dependent#foo That is, there is no fragment identifier, there is no human-readable definition, and no way to discover where the actual definition is... and that will never change (because the "issuer-dependent" vocabulary isn't designed to ever resolve to any definition). Even the "issuer dependent" vocabulary says this:
The only thing that give you is a URL that will resolve to a human-readable page that contains no definition for the term used. |
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving, assuming the change to undefined-term
Co-authored-by: Ted Thibodeau Jr <[email protected]>
Barring @selfissued's objection to the |
The issue was discussed in a meeting on 2024-07-17
View the transcript3.2. Remove
|
Per the call today, this PR will be merged by Friday if there are no more objections. |
As with #1520 I won't block this PR, however I believe the framing is wrong.
This framing is problematic, if implementations simply wish to share a single global namespace without having to define it themselves, they should be able to do that without having to become the definer of that namespace. Its not being lazy its being pragmatic.
See above, if developers wish to share a single global namespace without having to define it themselves that is a valid requirement, this is a different usecase which they should also be free to do if they so wish. |
Editorial, multiple reviews, changes requested and made, no remaining objections, WG-imposed merge delay requirement in #1520 met, merging. |
This PR is a partial attempt to address issue #1514 by adding an issuer-dependent context that uses
@vocab
for localized deployments.