Skip to content

Spec does not contain "name" and "description" terms in the context #1214

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

Closed
aljones15 opened this issue Jul 25, 2023 · 7 comments
Closed

Spec does not contain "name" and "description" terms in the context #1214

aljones15 opened this issue Jul 25, 2023 · 7 comments

Comments

@aljones15
Copy link

{
  "@context": {
    "@protected": true,
    "@vocab": "https://www.w3.org/ns/credentials/issuer-dependent#",

    "id": "@id",
    "type": "@type",
    "kid": {
      "@id": "https://www.iana.org/assignments/jose#kid",
      "@type": "@id"
    },
    "iss": {
      "@id": "https://www.iana.org/assignments/jose#iss",
      "@type": "@id"
    },
    "sub": {
      "@id": "https://www.iana.org/assignments/jose#sub",
      "@type": "@id"
    },
    "jku": {
      "@id": "https://www.iana.org/assignments/jose#jku",
      "@type": "@id"
    },
    "x5u": {
      "@id": "https://www.iana.org/assignments/jose#x5u",
      "@type": "@id"
    },

    "VerifiableCredential": {
      "@id": "https://www.w3.org/2018/credentials#VerifiableCredential",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type",

        "credentialSchema": {
          "@id": "https://www.w3.org/2018/credentials#credentialSchema",
          "@type": "@id"
        },
        "credentialStatus": {
          "@id": "https://www.w3.org/2018/credentials#credentialStatus",
          "@type": "@id"
        },
        "credentialSubject": {
          "@id": "https://www.w3.org/2018/credentials#credentialSubject",
          "@type": "@id"
        },
        "description": {
          "@id": "https://schema.org/description"
        },
        "evidence": {
          "@id": "https://www.w3.org/2018/credentials#evidence",
          "@type": "@id"
        },
        "validFrom": {
          "@id": "https://www.w3.org/2018/credentials#validFrom",
          "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
        },
        "validUntil": {
          "@id": "https://www.w3.org/2018/credentials#validUntil",
          "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
        },
        "issuer": {
          "@id": "https://www.w3.org/2018/credentials#issuer",
          "@type": "@id"
        },
        "name": {
          "@id": "https://schema.org/name"
        },
        "proof": {
          "@id": "https://w3id.org/security#proof",
          "@type": "@id",
          "@container": "@graph"
        },
        "refreshService": {
          "@id": "https://www.w3.org/2018/credentials#refreshService",
          "@type": "@id"
        },
        "termsOfUse": {
          "@id": "https://www.w3.org/2018/credentials#termsOfUse",
          "@type": "@id"
        }
      }
    },

    "VerifiablePresentation": {
      "@id": "https://www.w3.org/2018/credentials#VerifiablePresentation",
      "@context": {
        "@protected": true,

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

    "JsonSchema2023": {
      "@id":
        "https://w3.org/2018/credentials#JsonSchema2023",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type"
      }
    },

    "VerifiableCredentialSchema2023": {
      "@id":
        "https://w3.org/2018/credentials#VerifiableCredentialSchema2023",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type"
      }
    },

    "StatusList2021Credential": {
      "@id":
        "https://w3id.org/vc/status-list#StatusList2021Credential",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type",

        "description": "https://schema.org/description",
        "name": "https://schema.org/name"
      }
    },

    "StatusList2021": {
      "@id":
        "https://w3id.org/vc/status-list#StatusList2021",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type",

        "statusPurpose":
          "https://w3id.org/vc/status-list#statusPurpose",
        "encodedList": "https://w3id.org/vc/status-list#encodedList"
      }
    },

    "StatusList2021Entry": {
      "@id":
        "https://w3id.org/vc/status-list#StatusList2021Entry",
      "@context": {
        "@protected": true,

        "id": "@id",
        "type": "@type",

        "statusPurpose":
          "https://w3id.org/vc/status-list#statusPurpose",
        "statusListIndex":
          "https://w3id.org/vc/status-list#statusListIndex",
        "statusListCredential": {
          "@id":
            "https://w3id.org/vc/status-list#statusListCredential",
          "@type": "@id"
        }
      }
    },

    "DataIntegrityProof": {
      "@id": "https://w3id.org/security#DataIntegrityProof",
      "@context": {
        "@protected": true,
        "id": "@id",
        "type": "@type",
        "challenge": "https://w3id.org/security#challenge",
        "created": {
          "@id": "http://purl.org/dc/terms/created",
          "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
        },
        "domain": "https://w3id.org/security#domain",
        "expires": {
          "@id": "https://w3id.org/security#expiration",
          "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
        },
        "nonce": "https://w3id.org/security#nonce",
        "proofPurpose": {
          "@id": "https://w3id.org/security#proofPurpose",
          "@type": "@vocab",
          "@context": {
            "@protected": true,
            "id": "@id",
            "type": "@type",
            "assertionMethod": {
              "@id": "https://w3id.org/security#assertionMethod",
              "@type": "@id",
              "@container": "@set"
            },
            "authentication": {
              "@id": "https://w3id.org/security#authenticationMethod",
              "@type": "@id",
              "@container": "@set"
            },
            "capabilityInvocation": {
              "@id": "https://w3id.org/security#capabilityInvocationMethod",
              "@type": "@id",
              "@container": "@set"
            },
            "capabilityDelegation": {
              "@id": "https://w3id.org/security#capabilityDelegationMethod",
              "@type": "@id",
              "@container": "@set"
            },
            "keyAgreement": {
              "@id": "https://w3id.org/security#keyAgreementMethod",
              "@type": "@id",
              "@container": "@set"
            }
          }
        },
        "cryptosuite": "https://w3id.org/security#cryptosuite",
        "proofValue": {
          "@id": "https://w3id.org/security#proofValue",
          "@type": "https://w3id.org/security#multibase"
        },
        "verificationMethod": {
          "@id": "https://w3id.org/security#verificationMethod",
          "@type": "@id"
        }
      }
    }
  }
}

Terms terms description and name are in the context, but are not in the spec itself.
Both terms are optional.

@msporny msporny changed the title Spec does not contain terms in the context Spec does not contain "name" and "description" terms in the context Jul 26, 2023
@iherman
Copy link
Member

iherman commented Jul 26, 2023

The issue was discussed in a meeting on 2023-07-26

  • no resolutions were taken
View the transcript

2.4. Spec does not contain "name" and "description" terms in the context (issue vc-data-model#1214)

See github issue vc-data-model#1214.

Brent Zundel: If I recall correctly, we've had several issues similar to 1214. That makes me think we should have specification text for this.

Manu Sporny: After VC 1.0 came out, we couldn't add it in 1.1 as it was technically a breaking change.
… Now we can introduce it so we can finally address the issue.

Ivan Herman: Just to clarify, these are schema.org terms, no change on the vocabulary.

@selfissued
Copy link
Contributor

As discussed on the 16-Aug-23 call, I believe that terms should only be in the context if they're defined in the VC Data Model specification.

@Sakurann Sakurann assigned msporny and unassigned msporny Aug 16, 2023
@Sakurann Sakurann added the ready for PR This issue is ready for a Pull Request to be created to resolve it label Aug 16, 2023
@iherman
Copy link
Member

iherman commented Aug 17, 2023

The issue was discussed in a meeting on 2023-08-16

  • no resolutions were taken
View the transcript

2.5. Spec does not contain "name" and "description" terms in the context (issue vc-data-model#1214)

See github issue vc-data-model#1214.

Manu Sporny: We have talked about using name and description in VCs and put it in the context, this is about adding spec text for those things.

Orie Steele: I think the current v2 context plans to use schema.org definitions for these, when you consider entire VC vocabulary, you'd expect to see schema.org term definitions -- theoretically, we could have added name registered claim name from jose registry, there would be contention about which registry defines name -- wanted to surface that thing... I have been doing so many PRs for registered claim names, I expect that particular URL would never be surfaced and name would be protected, name would throw an error eventually, probably more information than people care about, wanted to put it in context.

Sebastian Crane: From other spec efforts, although you can't stop people from doing stupid things, if you provide name/description, careful to say that "this shouldn't be used for" and list cases where it would be more useful to extend it rather than dumping human readable information into those fields.

Orie Steele: He is right... expect people to put HL7 in the description field.

Kristina Yasuda: I'm not sure Orie or Sebastian agreed w/ Manu's suggestion on what to put in the text.

Michael Jones: The issue points out name and description are in the context and not in the spec.

Manu Sporny: That's what this issue is about, aligning those two things, making sure that we define them in the spec as well.

Orie Steele: We will define name as forever being https://schema.org/name.
And never being https://www.iana.org/assignments/jwt#name.

Sebastian Crane: Why can't we delete them entirely?

Dave Longley: re: why not delete them... because they are very commonly used and helpful in the ecosystem.

Kristina Yasuda: again, Manu said one thing... orie mentioned schema.org, do we have agreement on the direction.

Orie Steele: I think we have a path forward, we add sections of text to name/description and we make it reflect what's in the context today, would expect text on name/description on schema.org -- we mean same thing as in context today.

Dave Longley: we could recommend a length for them (something "short").

Sebastian Crane: Yes, but are they supposed to be displayed, say, in a wallet application? That makes it so much more important than a random human-readable helper for developers.

Dave Longley: seabass: yes, they are expected to be displayed in wallets.
that's a common use case in the ecosystem now.

Dave Longley: +1 to clear up that entity includes abstract concepts.

Sebastian Crane: thanks for explaining - let's make sure that's an explicit suggestion in the specification though - in a previous specification I worked on, the 'name' field was used by everyone but never for the same thing!!

Dave Longley: seabass: +1 to being explicit that name is expected to be used, for example, to display information in wallets.

@msporny
Copy link
Member

msporny commented Aug 20, 2023

PR #1252 has been raised to address this issue. Once PR #1252 has been merged, this issue will be closed.

@msporny msporny added pr exists and removed ready for PR This issue is ready for a Pull Request to be created to resolve it labels Aug 20, 2023
@iherman
Copy link
Member

iherman commented Aug 22, 2023

The issue was discussed in a meeting on 2023-08-16

  • no resolutions were taken
View the transcript

2.5. Spec does not contain "name" and "description" terms in the context (issue vc-data-model#1214)

See github issue vc-data-model#1214.

Manu Sporny: We have talked about using name and description in VCs and put it in the context, this is about adding spec text for those things.

Orie Steele: I think the current v2 context plans to use schema.org definitions for these, when you consider entire VC vocabulary, you'd expect to see schema.org term definitions -- theoretically, we could have added name registered claim name from jose registry, there would be contention about which registry defines name -- wanted to surface that thing... I have been doing so many PRs for registered claim names, I expect that particular URL would never be surfaced and name would be protected, name would throw an error eventually, probably more information than people care about, wanted to put it in context.

Sebastian Crane: From other spec efforts, although you can't stop people from doing stupid things, if you provide name/description, careful to say that "this shouldn't be used for" and list cases where it would be more useful to extend it rather than dumping human readable information into those fields.

Orie Steele: He is right... expect people to put HL7 in the description field.

Kristina Yasuda: I'm not sure Orie or Sebastian agreed w/ Manu's suggestion on what to put in the text.

Michael Jones: The issue points out name and description are in the context and not in the spec.

Manu Sporny: That's what this issue is about, aligning those two things, making sure that we define them in the spec as well.

Orie Steele: We will define name as forever being https://schema.org/name.
And never being https://www.iana.org/assignments/jwt#name.

Sebastian Crane: Why can't we delete them entirely?

Dave Longley: re: why not delete them... because they are very commonly used and helpful in the ecosystem.

Kristina Yasuda: again, Manu said one thing... orie mentioned schema.org, do we have agreement on the direction.

Orie Steele: I think we have a path forward, we add sections of text to name/description and we make it reflect what's in the context today, would expect text on name/description on schema.org -- we mean same thing as in context today.

Dave Longley: we could recommend a length for them (something "short").

Sebastian Crane: Yes, but are they supposed to be displayed, say, in a wallet application? That makes it so much more important than a random human-readable helper for developers.

Dave Longley: seabass: yes, they are expected to be displayed in wallets.
that's a common use case in the ecosystem now.

Dave Longley: +1 to clear up that entity includes abstract concepts.

Sebastian Crane: thanks for explaining - let's make sure that's an explicit suggestion in the specification though - in a previous specification I worked on, the 'name' field was used by everyone but never for the same thing!!

Dave Longley: seabass: +1 to being explicit that name is expected to be used, for example, to display information in wallets.

@msporny
Copy link
Member

msporny commented Aug 29, 2023

PR #1252 has been raised to address this issue. This issue will be closed once that PR is merged.

@msporny
Copy link
Member

msporny commented Sep 4, 2023

PR #1252 has been merged, closing.

@msporny msporny closed this as completed Sep 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants