Skip to content
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

Closed
wants to merge 8 commits into from
13 changes: 13 additions & 0 deletions index.html
Expand Up @@ -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.
Copy link
Contributor

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.

Suggested change
Other representations can be used, provided that a mapping is defined between that representation and the standard one.
Other representations can be used, provided that a mapping is defined for all
instances in that representation to the standard one.

Copy link
Contributor

@OR13 OR13 May 9, 2023

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.

Copy link
Contributor

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.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Other representations can be used, provided that a mapping is defined between that representation and the standard one.
Other representations can be used, provided that a mapping is defined for any
instances in that representation to the standard one.

i can live with for any I think.

Copy link
Contributor

@dlongley dlongley May 23, 2023

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 an f such that f(x) is the standard representation. This might be the same as saying "for any x" and we're just stuck on a language issue but really mean the same thing. What is important is that there must not be any x such that f(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 as f. It just means that at least some f must be defined.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Other representations can be used, provided that a mapping is defined between that representation and the standard one.
Other representations created by the VCWG can be used, provided that a mapping is defined between that representation and the standard one.

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:

(defined by the VCWG)

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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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".

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@OR13 wrote:

-1 to "created by the VCWG", we passed a resolution specifically to remove this requirement.

@decentralgabe wrote:

agree with Orie, we explicitly noted that representations need not be created by the W3C

It would be helpful if you could include/add a link to the resolution being cited.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transformations can be defined by parties other than the working group.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The resolution explicitly includes:

Transformation rules MUST be defined, but not necessarily by this WG.

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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A media type is expected to be defined for each Verifiable Credential representation, which can then be used to distinguish between representations.
A media type is expected to be defined for each verifiable credential representation, which can then be used to distinguish between representations.

</p>
</section>

<section>
<h3>Media Types</h3>

Expand Down