You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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?
The text was updated successfully, but these errors were encountered:
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:
In this specific case,
"@type": "@id"
means "Interpret the value that is associated withverifiableCredential
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-coercionThe
"@container": "@graph"
bit means "The value that is associated withverifiableCredential
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-graphsNone 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?
The text was updated successfully, but these errors were encountered: