diff --git a/index.html b/index.html index 09c432366..2c946edf3 100644 --- a/index.html +++ b/index.html @@ -1172,9 +1172,9 @@
This specification is designed to ease the prototyping of new types of -[=verifiable credentials=]. Developers can copy the -template below and paste it into common [=verifiable credential=] -tooling to start issuing, holding, and verifying prototype credentials. +[=verifiable credential=]. Developers can copy the template below and paste it +into common [=verifiable credential=] tooling to start issuing, holding, and +verifying prototype credentials.
@@ -1183,14 +1183,18 @@
+{ - "@context": ["https://www.w3.org/ns/credentials/v2"], + "@context": [ + "https://www.w3.org/ns/credentials/v2", + "https://www.w3.org/ns/credentials/examples/v2" + ], "type": ["VerifiableCredential", "MyPrototypeCredential"], "credentialSubject": { "mySubjectProperty": "mySubjectValue" @@ -1201,12 +1205,14 @@Getting Started
Once a developer has prototyped their credential to a point where they believe all of the credential properties are stable, it is advised that they generate -vocabulary and context files for their application and publish them at stable URLs -so that other developers can use the same vocabulary and context to achieve -interoperability. This process is covered in Section -. Alternatively, developers can reuse existing vocabulary -and context files that happen to fit their use case. They can explore the -[[[VC-SPECS]]] [[VC-SPECS]] for reusable resources. +vocabulary and context files for their application and publish them at stable +URLs, so that other developers can use the same vocabulary and context to achieve +interoperability. The `https://www.w3.org/ns/credentials/examples/v2` URL above +would then be replaced with the URL of a use-case-specific context. This +process is covered in Section . Alternatively, +developers can reuse existing vocabulary and context files that happen to fit +their use case. They can explore the [[[VC-SPECS]]] [[VC-SPECS]] for reusable +resources.
@@ -4400,11 +4406,11 @@JSON-LD
documents=] are advised that interoperability might be reduced if JSON-LD keywords in the `@context` value are used to globally affect values in a [=verifiable credential=] or [=verifiable presentation=], such as by -globally setting the `@base` keyword. For example, globally setting these values -might trigger a failure in a mis-implemented JSON Schema check on the `@context` +setting either or both of the `@base` or `@vocab` keywords. For example, setting these values +might trigger a failure in a mis-implemented JSON Schema test of the `@context` value in an implementation that is performing [=type-specific credential -processing=] and not expecting the `@base` value to be expressed in the -`@context` value. +processing=] and not expecting the `@base` and/or `@vocab` value to be +expressed in the `@context` value.@@ -4415,22 +4421,43 @@
JSON-LD
+While this specification cautions against the use of `@vocab`, there are +legitimate uses of the feature, such as to ease experimentation, development, +and localized deployment. If an application developer wants to use `@vocab` in +production, which is advised against to reduce term collisions and leverage the benefits +of semantic interoperability, they are urged to understand that any use of `@vocab` will +disable reporting of "undefined term" errors, and +later use(s) will override any previous `@vocab` declaration(s). Different values +of `@vocab` can change the semantics of the information contained in the document, +so it is important to understand whether and how these changes will affect the +application being developed. Application developers MUST understand every +JSON-LD context used by their application, at least to the extent that it affects +the semantics of the terms that are used by their application. Applications MAY +use JSON-LD compaction +algorithms to transform a document that uses an unknown JSON-LD context +to one that does not, so the new document's terms will match expectations. +