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
Add guidance on Representations of Verifiable Credentials #1101
Changes from all commits
91bda6b
5b3b6a1
4889870
14be217
db8800b
f565154
63ba60c
b99e054
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -3447,6 +3447,19 @@ <h3>Syntactic Sugar</h3> | |||||
</section> | ||||||
|
||||||
</section> | ||||||
|
||||||
<section> | ||||||
<h3>Mapping to the Standard Representation</h3> | ||||||
|
||||||
<p> | ||||||
The standard representation of a Verifiable Credential is defined in this specification (which uses the media type <code>application/vc+ld+json</code>). | ||||||
Other representations can be used, provided that a mapping is defined between that representation and the standard one. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Representations defined by other organizations will never be W3C VCs. This language currently implies that any other representation that maps to VCs can call itself a VC. It would be trivial to construct an arbitrarily ridiculous representation, create a mapping and call that a VC. I don't believe this language would pass muster when it comes to CR. This is why the resolution itself is explicit about limiting the scope of the resolution:
It is not our place to direct others about what they may call Verifiable Credentials. I also don't know what "Other representations can be used" means. Of course, people can use whatever representations they want for whatever they want. What does that have to do with W3C Verifiable Credentials? It's also not appropriate to state that representations created by something other than the W3C are in, fact, W3C Verifiable Credentials. It is also not appropriate to use the term Verifiable Credentials to mean anything OTHER than W3C Verifiable Credentials. I've suggested this change to clarify that scoping. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. -1 to "created by the VCWG" Broad adoption of VCs would be hamstrung if every use case required a special dispensation from the WG. This becomes impossible once the WG disbands. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree it would be hard if the W3C VCWG has to create all mappings. The VCWG does not have subject matter or domain expertise to create all possible mappings. For that reason, also -1 "created by the VCWG". There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd be ok with "registered in the VC Directory" though if the registration process stays slim and non-political. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. -1 to "created by the VCWG", we passed a resolution specifically to remove this requirement. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. agree with Orie, we explicitly noted that representations need not be created by the W3C There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
It would be helpful if you could include/add a link to the resolution being cited. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Transformations can be defined by parties other than the working group. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The resolution explicitly includes:
|
||||||
This mapping definition is expected to state whether it is unidirectional or bidirectional. | ||||||
Deployments that choose to do so can map the representation to the standard one and process it accordingly. | ||||||
A media type is expected to be defined for each Verifiable Credential representation, which can then be used to distinguish between representations. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
</p> | ||||||
</section> | ||||||
|
||||||
<section> | ||||||
<h3>Media Types</h3> | ||||||
|
||||||
|
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.
In order to avoid confusion, we should say that the required mapping must be for all instances in a given representation to the standard one (i.e., at least one "general" mapping exists). A bespoke, one-off mapping for some particular instance in that representation is insufficient.
Of course, anyone can use whatever mappings they want to (including doing bespoke mappings) for application-specific purposes, but that is orthogonal to the need for a general purpose mapping.
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 can live with this, although I don't know that everyone understands existential qualifiers, or that they are adding anything here.
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 could be more than one mapping per representation, as long as it maps back to the same base data model, so I do not understand
for all
part.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 can live with
for any
I think.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.
What I want us to say is: for all
x
in some other representation, there must be anf
such thatf(x)
is the standard representation. This might be the same as saying "for anyx
" and we're just stuck on a language issue but really mean the same thing. What is important is that there must not be anyx
such thatf(x)
is undefined;f
must be a complete mapping ... which rules out handcrafted mappings as being sufficient here.Again, this doesn't mean someone can't make a handcrafted mapping for some particular use case (not that we could ever stop that with spec text anyway), nor does it mean that there can't be some other function
g
with the same properties asf
. It just means that at least somef
must be defined.