vc-data-model icon indicating copy to clipboard operation
vc-data-model copied to clipboard

Explain relationship between Presentations and Verifiable Credentials

Open msporny opened this issue 3 years ago • 1 comments

The topic of the relationship between presentations and verifiable credentials was raised in a PR regarding the vc/v2 JSON-LD Context. Specifically, this term definition:

"verifiableCredential": {
  "@id": "https://www.w3.org/2018/credentials#verifiableCredential",
  "@type": "@id", 
  "@container": "@graph"
}

can we get a "plain english" explanation of @type and @container?

In this specific case, "@type": "@id" means "Interpret the value that is associated with verifiableCredential as an IRI (effectively, a URI that supports international character sets)". That is, the value will not be a string or other typed value, but rather, a resource identifier of some kind. More on this feature here: https://w3c.github.io/json-ld-syntax/#example-type-coercion

The "@container": "@graph" bit means "The value that is associated with verifiableCredential is another graph of information that lives outside of the current graph of information". That is, we're referencing another bundle of information (the verifiable credential) from the current bundle of information (the verifiable presentation). In other words, Don't cross the streams. More on this feature here: https://w3c.github.io/json-ld-syntax/#named-graphs

None of that is really explained in the VC Data Model specification, and we probably should explain it in some sort of "Advanced Concepts" section. Co-mingling "the thing you're talking about" and "the thing you're digitally signing" lead to semantic ambiguity that we really should continue to avoid (we have successfully done so since the beginning of the VCWG).

So, the question is: Should we document this information model separation in the specification?

msporny avatar Aug 17 '22 14:08 msporny

@msporny -- Please edit your initial comment here, and put code fences around @type and @container in the quoted block.... For reasons you know.

TallTed avatar Aug 17 '22 14:08 TallTed

closing this issue as it is a sub-case of #881

brentzundel avatar Dec 14 '22 18:12 brentzundel