From b284fb42e927c22e33ad6cc8101b2aa50309b13f Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Wed, 3 Jul 2024 17:29:40 -0400 Subject: [PATCH 1/5] Remove `@vocab` definition from v2 context. --- contexts/credentials/v2 | 1 - 1 file changed, 1 deletion(-) diff --git a/contexts/credentials/v2 b/contexts/credentials/v2 index b185daa29..717b8f0b3 100644 --- a/contexts/credentials/v2 +++ b/contexts/credentials/v2 @@ -1,7 +1,6 @@ { "@context": { "@protected": true, - "@vocab": "https://www.w3.org/ns/credentials/issuer-dependent#", "id": "@id", "type": "@type", From b7954e0b01d580466c87417fa6c0552a34c7eeab Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Wed, 3 Jul 2024 17:32:38 -0400 Subject: [PATCH 2/5] Remove text noting issuer-dependent terminology. --- index.html | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/index.html b/index.html index 5cafcb82e..536dbe543 100644 --- a/index.html +++ b/index.html @@ -3216,17 +3216,10 @@

Semantic Interoperability

-The base JSON-LD Context file for this specification also includes an extra -feature, using the `@vocab` -keyword, which ensures that any undefined term in a [=verifiable credential=] or -a [=verifiable presentation=] is automatically mapped to a URL prefixed with -`https://www.w3.org/ns/credentials/issuer-dependent#`. This is to allow early -experimentation with terms during the development phase, without requiring a -formal definition in every cycle of that experimentation. Note that developers -SHOULD NOT use this feature in production; this could lead to name clashes, -yielding semantic ambiguities with other applications. Instead, they SHOULD -define all the terms, as described earlier in this section, to achieve proper -interoperability. +Developers SHOULD NOT use the `@vocab` feature in production as it can lead to +name clashes, yielding semantic ambiguities with other applications. Instead, +they SHOULD define all the terms, as described earlier in this section, to +achieve proper interoperability.

From 2149e8ade7782945bd4af59e94e0b02a2411b5a6 Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Fri, 5 Jul 2024 12:17:38 -0400 Subject: [PATCH 3/5] Link to `@vocab` feature in JSON-LD specification. Co-authored-by: Ivan Herman --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 536dbe543..3452c6897 100644 --- a/index.html +++ b/index.html @@ -3216,7 +3216,7 @@

Semantic Interoperability

-Developers SHOULD NOT use the `@vocab` feature in production as it can lead to +Developers SHOULD NOT use the `@vocab` feature in production as it can lead to name clashes, yielding semantic ambiguities with other applications. Instead, they SHOULD define all the terms, as described earlier in this section, to achieve proper interoperability. From b2ab43bbd0a0e67d66a136c7132344bd74f91239 Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Sun, 7 Jul 2024 10:59:04 -0400 Subject: [PATCH 4/5] Added commentary on "proper interoperability". Co-authored-by: Ted Thibodeau Jr --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 3452c6897..6b324c883 100644 --- a/index.html +++ b/index.html @@ -3217,9 +3217,9 @@

Semantic Interoperability

Developers SHOULD NOT use the `@vocab` feature in production as it can lead to -name clashes, yielding semantic ambiguities with other applications. Instead, -they SHOULD define all the terms, as described earlier in this section, to -achieve proper interoperability. +JSON term clashes, resulting in semantic ambiguities with other applications. Instead, +to achieve proper interoperability, developers SHOULD define all terms used by their +applications, as described earlier in Section [[[#extensibility]]].

From e6868e860a7a2d375dea4804a2d85219e8e350de Mon Sep 17 00:00:00 2001 From: Manu Sporny Date: Wed, 17 Jul 2024 16:46:09 -0400 Subject: [PATCH 5/5] Specify docs with undefined terms MUST include related context. --- index.html | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 6b324c883..16aaf1d57 100644 --- a/index.html +++ b/index.html @@ -3216,10 +3216,15 @@

Semantic Interoperability

-Developers SHOULD NOT use the `@vocab` feature in production as it can lead to -JSON term clashes, resulting in semantic ambiguities with other applications. Instead, -to achieve proper interoperability, developers SHOULD define all terms used by their -applications, as described earlier in Section [[[#extensibility]]]. +A [=conforming document=] SHOULD NOT use the +`@vocab` feature in production +as it can lead to JSON term clashes, resulting in semantic ambiguities with +other applications. Instead, to achieve proper interoperability, a [=conforming +document=] SHOULD use JSON-LD Contexts that define all terms used by their +applications, as described earlier in Section [[[#extensibility]]]. If a +[=conforming document=] does not use JSON-LD Contexts that define all terms +used, it MUST include the `https://www.w3.org/ns/credentials/undefined-terms/v2` +as the last value in the `@context` property.