From 3932fb43e576cdc4a6fcdafba0bc71a729c493a1 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Thu, 7 Sep 2023 20:57:26 -0400 Subject: [PATCH 01/10] Explain JSON-LD further. Addresses #1227. --- index.html | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 157 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index db34f17b9..fb1d0e1a9 100644 --- a/index.html +++ b/index.html @@ -3951,6 +3951,155 @@

Syntaxes

JSON-LD

+The world of credentials is vast and varied. A physical wallet places +relatively few constraints on the shape and size of those credentials–and it +places no restriction on their contents. Likewise, Verifiable Credential Data +Model’s use of [[!JSON-LD]] provides the consistent shape for all compliant +Verifiable Credentials, so that digital wallets can store credentials with +widely varying content, providing value to a plethora of communities, and +enabling many diverse use cases–from coupons to authentication. +

+ +

+Consequently, Wallet providers can have the confidence that any Verifiable +Credential will “fit” while Issuers and Verifiers benefit from a common +exchange representation that provides built in extensibility without the +high costs from centralized terminology registration or JSON format churn. +

+ +

+Issuers can add claims terminology unique to their communities via [[!JSON-LD]]’s +context files rather than be dependent on a single, centralized registry +system. This webby decentralized approach provides infinite scalability. Future +standardization efforts, then focus on vocabulary definitions and +object-oriented modeling provided by communities of practice vs. idiosyncratic +JSON format creation for individual use cases or scenarios. +

+ +

+Verifiers can furthermore lean on the similarly provided proof mechanisms +without writing new document parsers for each new security mechanism. +

+ +

+Lastly, Wallets can then move these consistently shaped credentials between +Issuers and Verifiers without the need to create new storage systems for each +format with the confidence that each relying party can depend on consistent +grammatical structures and inbuilt object-oriented data modeling. +

+ +

+The Verifiable Credential Data Model’s consistent object-oriented modeling +constraints are familiar to developers and enable better reuse and composition +of data. That modeling is built from clean expressions of subject, property, +values which comprise the shape of each atomic claim within a VCDM credential. +This approach empowers Wallets to store any credential shaped in this way (as +with physical wallets) and to index the contained claims made across all the +holder’s credentials such that credentials may be quickly and easily found and +presented when needed. +

+ +

+This foundational data modeling and grammatical structure is provided through +the addition of a single `@context` key which identifies context files that map +otherwise idiosyncratic and often ephemeral terms into universally shareable, +collision resistant vocabularies. This context mechanism provides the +underlying subject, property, value graph-based data model which enables +aggregation, collation, and even separation of the individual statements held +within the [[!JSON-LD]] graph and brings the object-oriented structure to previously +freeform JSON documents. +

+ +
+

Extending JSON

+ +

+[[!JSON-LD]] brings context, meaning, and object-oriented modeling to previously +idiosyncratic JSON formats. It provides that contextualization by mapping +colloquial terms used within a JSON object to term and type definitions with +universal identifiers in the form of URLs. This prevents term collisions and +need for yet-more-JSON-formats by providing a common extensible JSON structure +with minimal requirements for extensibility. The additional grammatical +constraints at this foundational layer prevent the need for endless invention +and support of use case specific JSON models with idiosyncratic terms and +unique to the implementation approaches to data modeling, value usage, and +parsing approaches. +

+ +

+A JSON document becomes a [[!JSON-LD]] document when it includes an `@context` +property with a URL associated with a context file. The context file provides +the mapping between the idiosyncratic in-document terminology and universally +shareable identifiers and value definitions. This provides not only +contextualization and meaning, but also reusability through universally +shareable terms and object-oriented structuring. This enables aggregation and +collation of data without the need for additional upfront integration +development time for each newly discovered JSON format. Future community +credential definitions will focus on the use of their terminology rather than +force implementers to parse another unique JSON format specific to that +community or use case. +

+ +

+Consequently, without any additional processing a JSON document gains the value +of an in-message association with its terminology definitions. Details on +processing VCDM documents consistently with the context file, but without +[[!JSON-LD]] tooling can be found in the “JSON Processing” section below. +

+ +

+The referenced context file provides the foundation for a consistent +grammatical layer based on object-oriented modeling and community driven +terminology selection which enables coexistence of various JSON tree shapes and +colloquial terms while preventing likely terminology collisions or creating a +need to write new tree traversal code for every new media type or JSON shape or +parsing approach. +

+ +

+Verifiable Credentials Data Model uses this consistent foundation to provide a +common layer across all credentials, presentations, and transaction formats +within a single, consistently parseable media type definition. This allows for +ecosystem extensibility without requiring a centralized registry to be updated +for every new application or community. The core data model terms are +registered and specified while communities are free to build on that foundation +through their own specification process. The terminology mappings are +referenced from the VCDM document removing the need for an ever changing +landscape of “private claims” or narrowly defined “public claims” housed in a +centralized registry. The common grammar and object-oriented data modeling +remain the same and properly contextualized terms can commingle. Applications +and communities can easily extend what is claimed and signed through the use of +vocabularies. +

+ +

+The underpinning graph data model enables signing of the document’s statements +rather than just the envelope it’s contained in. When using this feature, the +data–while signed–is accessible in the same way it had been prior to signing +allowing for easier indexing, storage, and in-Wallet selection.The existence of +the proof within the object-oriented graph model provides confidence that not +only the wrapping structure was signed, but its actual informational contents. +This enables selective disclosure of statements within the same JSON format +avoiding the ever increasing cost of retooling for new disclosure formats or +new envelope types. The proof is consistently placed alongside the claims. +

+ +

+[[!JSON-LD]] provides Verifiable Credentials with a consistent grammatical +foundation, object-oriented modeling, and collision-free terminology sharing +which allows for ecosystem growth, document format iteration (rather than +reinvention), and an extensible framework for new cryptographic proof +mechanisms without altering or damaging the underlying data structure. This +creates an economies of scale which reduces development time, decreased +retooling cost, increases time to market, and provides long term stability for +Issuers, Verifiers, and Wallets. +

+
+ +
+

JSON-LD Syntax

+ +

[[!JSON-LD]] is a JSON-based format used to serialize Linked Data. The syntax is designed to easily integrate into deployed systems already using JSON, @@ -3958,18 +4107,18 @@

JSON-LD

intended to be a way to use Linked Data in Web-based programming environments, to build interoperable Web services, and to store Linked Data in JSON-based storage engines. -

+

-

+

[[!JSON-LD]] is useful when extending the data model described in this specification. Instances of the data model are encoded in JSON-LD compact form [[!JSON-LD]] and include the @context property. The JSON-LD context is described in detail in the [[!JSON-LD]] specification and its use is elaborated on in Section . -

+

-

+

Multiple contexts MAY be used or combined to express any arbitrary information about verifiable credentials in idiomatic JSON. The JSON-LD context, @@ -3977,15 +4126,16 @@

JSON-LD

document that is never updated and can therefore be downloaded and cached client side. The associated vocabulary document for the Verifiable Credentials Data Model is available at https://www.w3.org/2018/credentials. -

+

-

+

This specification restricts the usage of JSON-LD representations of the data model. JSON-LD compact document form MUST be utilized for all representations of the data model in the base media type, `application/vc+ld+json`. -

+

+

Syntactic Sugar

From 38a93752792f43936f73292b01ec34bd6d8862b3 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 11 Sep 2023 09:35:28 -0400 Subject: [PATCH 02/10] Fix fancy quotes. --- index.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index fb1d0e1a9..9603df212 100644 --- a/index.html +++ b/index.html @@ -3954,7 +3954,7 @@

JSON-LD

The world of credentials is vast and varied. A physical wallet places relatively few constraints on the shape and size of those credentials–and it places no restriction on their contents. Likewise, Verifiable Credential Data -Model’s use of [[!JSON-LD]] provides the consistent shape for all compliant +Model's use of [[!JSON-LD]] provides the consistent shape for all compliant Verifiable Credentials, so that digital wallets can store credentials with widely varying content, providing value to a plethora of communities, and enabling many diverse use cases–from coupons to authentication. @@ -3962,13 +3962,13 @@

JSON-LD

Consequently, Wallet providers can have the confidence that any Verifiable -Credential will “fit” while Issuers and Verifiers benefit from a common +Credential will "fit" while Issuers and Verifiers benefit from a common exchange representation that provides built in extensibility without the high costs from centralized terminology registration or JSON format churn.

-Issuers can add claims terminology unique to their communities via [[!JSON-LD]]’s +Issuers can add claims terminology unique to their communities via [[!JSON-LD]]'s context files rather than be dependent on a single, centralized registry system. This webby decentralized approach provides infinite scalability. Future standardization efforts, then focus on vocabulary definitions and @@ -3989,13 +3989,13 @@

JSON-LD

-The Verifiable Credential Data Model’s consistent object-oriented modeling +The Verifiable Credential Data Model's consistent object-oriented modeling constraints are familiar to developers and enable better reuse and composition of data. That modeling is built from clean expressions of subject, property, values which comprise the shape of each atomic claim within a VCDM credential. This approach empowers Wallets to store any credential shaped in this way (as with physical wallets) and to index the contained claims made across all the -holder’s credentials such that credentials may be quickly and easily found and +holder's credentials such that credentials may be quickly and easily found and presented when needed.

@@ -4044,7 +4044,7 @@

Extending JSON

Consequently, without any additional processing a JSON document gains the value of an in-message association with its terminology definitions. Details on processing VCDM documents consistently with the context file, but without -[[!JSON-LD]] tooling can be found in the “JSON Processing” section below. +[[!JSON-LD]] tooling can be found in the "JSON Processing" section below.

@@ -4065,7 +4065,7 @@

Extending JSON

registered and specified while communities are free to build on that foundation through their own specification process. The terminology mappings are referenced from the VCDM document removing the need for an ever changing -landscape of “private claims” or narrowly defined “public claims” housed in a +landscape of "private claims" or narrowly defined "public claims" housed in a centralized registry. The common grammar and object-oriented data modeling remain the same and properly contextualized terms can commingle. Applications and communities can easily extend what is claimed and signed through the use of @@ -4073,8 +4073,8 @@

Extending JSON

-The underpinning graph data model enables signing of the document’s statements -rather than just the envelope it’s contained in. When using this feature, the +The underpinning graph data model enables signing of the document's statements +rather than just the envelope it's contained in. When using this feature, the data–while signed–is accessible in the same way it had been prior to signing allowing for easier indexing, storage, and in-Wallet selection.The existence of the proof within the object-oriented graph model provides confidence that not From 8a7514b820b1491d5ca01d3d778a495f8e3f18d7 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 11 Sep 2023 10:01:38 -0400 Subject: [PATCH 03/10] Cleanup various minor things per feedback. --- index.html | 58 +++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/index.html b/index.html index 9603df212..221e8ee8f 100644 --- a/index.html +++ b/index.html @@ -3952,51 +3952,51 @@

JSON-LD

The world of credentials is vast and varied. A physical wallet places -relatively few constraints on the shape and size of those credentials–and it -places no restriction on their contents. Likewise, Verifiable Credential Data +relatively few constraints on the shape and size of those credentials — and it +places no restriction on their contents. Likewise, the Verifiable Credential Data Model's use of [[!JSON-LD]] provides the consistent shape for all compliant Verifiable Credentials, so that digital wallets can store credentials with widely varying content, providing value to a plethora of communities, and -enabling many diverse use cases–from coupons to authentication. +enabling many diverse use cases — from coupons to authentication.

Consequently, Wallet providers can have the confidence that any Verifiable -Credential will "fit" while Issuers and Verifiers benefit from a common +Credential will "fit", while Issuers and Verifiers benefit from a common exchange representation that provides built in extensibility without the -high costs from centralized terminology registration or JSON format churn. +high costs of centralized terminology registration or JSON format churn.

-Issuers can add claims terminology unique to their communities via [[!JSON-LD]]'s -context files rather than be dependent on a single, centralized registry -system. This webby decentralized approach provides infinite scalability. Future -standardization efforts, then focus on vocabulary definitions and -object-oriented modeling provided by communities of practice vs. idiosyncratic +Issuers can add claim terminology unique to their communities via [[!JSON-LD]]'s +context files rather than being dependent on a single, centralized registry +system. This webby, decentralized approach provides infinite scalability. Future +standardization efforts may then focus on vocabulary definitions and +object-oriented modeling provided by communities of practice rather than idiosyncratic JSON format creation for individual use cases or scenarios.

-Verifiers can furthermore lean on the similarly provided proof mechanisms +Furthermore, Verifiers can furthermore lean on similarly provided proof mechanisms without writing new document parsers for each new security mechanism.

-Lastly, Wallets can then move these consistently shaped credentials between -Issuers and Verifiers without the need to create new storage systems for each -format with the confidence that each relying party can depend on consistent -grammatical structures and inbuilt object-oriented data modeling. +Lastly, Wallets can move these consistently-shaped credentials between +Issuers and Verifiers without needing to create new storage systems for each +format, with the confidence that each relying party can depend on consistent +grammatical structures and in-built object-oriented data modeling.

The Verifiable Credential Data Model's consistent object-oriented modeling constraints are familiar to developers and enable better reuse and composition of data. That modeling is built from clean expressions of subject, property, -values which comprise the shape of each atomic claim within a VCDM credential. -This approach empowers Wallets to store any credential shaped in this way (as -with physical wallets) and to index the contained claims made across all the -holder's credentials such that credentials may be quickly and easily found and -presented when needed. +and values which comprise the shape of each atomic claim within a Verifiable +Credential Data Model credential. This approach empowers Wallets to store any +credential shaped in this way (as with physical wallets) and to index the +contained claims made across all the holder's credentials such that credentials +may be quickly and easily found and presented when needed.

@@ -4004,7 +4004,7 @@

JSON-LD

the addition of a single `@context` key which identifies context files that map otherwise idiosyncratic and often ephemeral terms into universally shareable, collision resistant vocabularies. This context mechanism provides the -underlying subject, property, value graph-based data model which enables +underlying subject, property, and value graph-based data model which enables aggregation, collation, and even separation of the individual statements held within the [[!JSON-LD]] graph and brings the object-oriented structure to previously freeform JSON documents. @@ -4044,7 +4044,7 @@

Extending JSON

Consequently, without any additional processing a JSON document gains the value of an in-message association with its terminology definitions. Details on processing VCDM documents consistently with the context file, but without -[[!JSON-LD]] tooling can be found in the "JSON Processing" section below. +[[!JSON-LD]] tooling, can be found in the "JSON Processing" section below.

@@ -4057,7 +4057,7 @@

Extending JSON

-Verifiable Credentials Data Model uses this consistent foundation to provide a +The Verifiable Credentials Data Model uses this consistent foundation to provide a common layer across all credentials, presentations, and transaction formats within a single, consistently parseable media type definition. This allows for ecosystem extensibility without requiring a centralized registry to be updated @@ -4068,15 +4068,15 @@

Extending JSON

landscape of "private claims" or narrowly defined "public claims" housed in a centralized registry. The common grammar and object-oriented data modeling remain the same and properly contextualized terms can commingle. Applications -and communities can easily extend what is claimed and signed through the use of +and communities can extend what is claimed and signed through the use of vocabularies.

The underpinning graph data model enables signing of the document's statements -rather than just the envelope it's contained in. When using this feature, the -data–while signed–is accessible in the same way it had been prior to signing -allowing for easier indexing, storage, and in-Wallet selection.The existence of +rather than just the envelope in which it's contained in. When using this feature, the +data — while signed — is accessible in the same way it had been prior to signing, +allowing for easier indexing, storage, and in-Wallet selection. The existence of the proof within the object-oriented graph model provides confidence that not only the wrapping structure was signed, but its actual informational contents. This enables selective disclosure of statements within the same JSON format @@ -4090,8 +4090,8 @@

Extending JSON

which allows for ecosystem growth, document format iteration (rather than reinvention), and an extensible framework for new cryptographic proof mechanisms without altering or damaging the underlying data structure. This -creates an economies of scale which reduces development time, decreased -retooling cost, increases time to market, and provides long term stability for +creates economies of scale which reduces development time, decreases +retooling cost, decreases time to market, and provides long term stability for Issuers, Verifiers, and Wallets.

From 9acea48dd38abb6b416bc152aac6787dbaa83f2f Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 11 Sep 2023 10:05:41 -0400 Subject: [PATCH 04/10] Add @TallTed variations of graph model terms. --- index.html | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index 221e8ee8f..c80820e8b 100644 --- a/index.html +++ b/index.html @@ -3989,14 +3989,16 @@

JSON-LD

-The Verifiable Credential Data Model's consistent object-oriented modeling -constraints are familiar to developers and enable better reuse and composition -of data. That modeling is built from clean expressions of subject, property, -and values which comprise the shape of each atomic claim within a Verifiable -Credential Data Model credential. This approach empowers Wallets to store any -credential shaped in this way (as with physical wallets) and to index the -contained claims made across all the holder's credentials such that credentials -may be quickly and easily found and presented when needed. +The consistent object-oriented modeling constraints of the Verifiable +Credential Data Model (VCDM) are familiar to developers and enable better +reuse and composition of data. That modeling is built from clean expressions +of subjects, properties, and values (also referred to as entities, +attributes, and values, E-A-V, as well as subjects, predicates, and +objects, S-P-O) which comprise the shape of each atomic claim within +a VCDM credential. This approach empowers Wallets to store any credential +shaped in this way (as with physical wallets) and to index the contained +claims across all the holder's credentials, such that credentials may be +quickly and easily found and presented when needed.

From ed6b7fcb4d8c04604f301c5027f8f7c0d22bb77e Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 11 Sep 2023 10:49:43 -0400 Subject: [PATCH 05/10] Make new content informative. --- index.html | 115 +++++++++++++++++++++++++++-------------------------- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/index.html b/index.html index c80820e8b..dd0559e98 100644 --- a/index.html +++ b/index.html @@ -3950,69 +3950,72 @@

Syntaxes

JSON-LD

-

-The world of credentials is vast and varied. A physical wallet places -relatively few constraints on the shape and size of those credentials — and it -places no restriction on their contents. Likewise, the Verifiable Credential Data -Model's use of [[!JSON-LD]] provides the consistent shape for all compliant -Verifiable Credentials, so that digital wallets can store credentials with -widely varying content, providing value to a plethora of communities, and -enabling many diverse use cases — from coupons to authentication. -

+
+

Data Model Foundations

+

+ The world of credentials is vast and varied. A physical wallet places + relatively few constraints on the shape and size of those credentials — and it + places no restriction on their contents. Likewise, the Verifiable Credential Data + Model's use of [[!JSON-LD]] provides the consistent shape for all compliant + Verifiable Credentials, so that digital wallets can store credentials with + widely varying content, providing value to a plethora of communities, and + enabling many diverse use cases — from coupons to authentication. +

-

-Consequently, Wallet providers can have the confidence that any Verifiable -Credential will "fit", while Issuers and Verifiers benefit from a common -exchange representation that provides built in extensibility without the -high costs of centralized terminology registration or JSON format churn. -

+

+ Consequently, Wallet providers can have the confidence that any Verifiable + Credential will "fit", while Issuers and Verifiers benefit from a common + exchange representation that provides built in extensibility without the + high costs of centralized terminology registration or JSON format churn. +

-

-Issuers can add claim terminology unique to their communities via [[!JSON-LD]]'s -context files rather than being dependent on a single, centralized registry -system. This webby, decentralized approach provides infinite scalability. Future -standardization efforts may then focus on vocabulary definitions and -object-oriented modeling provided by communities of practice rather than idiosyncratic -JSON format creation for individual use cases or scenarios. -

+

+ Issuers can add claim terminology unique to their communities via [[!JSON-LD]]'s + context files rather than being dependent on a single, centralized registry + system. This webby, decentralized approach provides infinite scalability. Future + standardization efforts may then focus on vocabulary definitions and + object-oriented modeling provided by communities of practice rather than idiosyncratic + JSON format creation for individual use cases or scenarios. +

-

-Furthermore, Verifiers can furthermore lean on similarly provided proof mechanisms -without writing new document parsers for each new security mechanism. -

+

+ Furthermore, Verifiers can furthermore lean on similarly provided proof mechanisms + without writing new document parsers for each new security mechanism. +

-

-Lastly, Wallets can move these consistently-shaped credentials between -Issuers and Verifiers without needing to create new storage systems for each -format, with the confidence that each relying party can depend on consistent -grammatical structures and in-built object-oriented data modeling. -

+

+ Lastly, Wallets can move these consistently-shaped credentials between + Issuers and Verifiers without needing to create new storage systems for each + format, with the confidence that each relying party can depend on consistent + grammatical structures and in-built object-oriented data modeling. +

-

-The consistent object-oriented modeling constraints of the Verifiable -Credential Data Model (VCDM) are familiar to developers and enable better -reuse and composition of data. That modeling is built from clean expressions -of subjects, properties, and values (also referred to as entities, -attributes, and values, E-A-V, as well as subjects, predicates, and -objects, S-P-O) which comprise the shape of each atomic claim within -a VCDM credential. This approach empowers Wallets to store any credential -shaped in this way (as with physical wallets) and to index the contained -claims across all the holder's credentials, such that credentials may be -quickly and easily found and presented when needed. -

+

+ The consistent object-oriented modeling constraints of the Verifiable + Credential Data Model (VCDM) are familiar to developers and enable better + reuse and composition of data. That modeling is built from clean expressions + of subjects, properties, and values (also referred to as entities, + attributes, and values, E-A-V, as well as subjects, predicates, and + objects, S-P-O) which comprise the shape of each atomic claim within + a VCDM credential. This approach empowers Wallets to store any credential + shaped in this way (as with physical wallets) and to index the contained + claims across all the holder's credentials, such that credentials may be + quickly and easily found and presented when needed. +

-

-This foundational data modeling and grammatical structure is provided through -the addition of a single `@context` key which identifies context files that map -otherwise idiosyncratic and often ephemeral terms into universally shareable, -collision resistant vocabularies. This context mechanism provides the -underlying subject, property, and value graph-based data model which enables -aggregation, collation, and even separation of the individual statements held -within the [[!JSON-LD]] graph and brings the object-oriented structure to previously -freeform JSON documents. -

+

+ This foundational data modeling and grammatical structure is provided through + the addition of a single `@context` key which identifies context files that map + otherwise idiosyncratic and often ephemeral terms into universally shareable, + collision resistant vocabularies. This context mechanism provides the + underlying subject, property, and value graph-based data model which enables + aggregation, collation, and even separation of the individual statements held + within the [[!JSON-LD]] graph and brings the object-oriented structure to previously + freeform JSON documents. +

+
-
+

Extending JSON

From 18446c995777882845772b2c27bad48a9e02bff5 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 26 Sep 2023 13:54:05 -0400 Subject: [PATCH 06/10] Fix small requested tweaks. --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index dd0559e98..63783f17f 100644 --- a/index.html +++ b/index.html @@ -3979,7 +3979,7 @@

Data Model Foundations

- Furthermore, Verifiers can furthermore lean on similarly provided proof mechanisms + Furthermore, Verifiers can lean on similarly provided proof mechanisms without writing new document parsers for each new security mechanism.

@@ -4078,8 +4078,8 @@

Extending JSON

-The underpinning graph data model enables signing of the document's statements -rather than just the envelope in which it's contained in. When using this feature, the +The underlying graph data model enables signing of the document's statements +rather than just the envelope in which it's contained. When using this feature, the data — while signed — is accessible in the same way it had been prior to signing, allowing for easier indexing, storage, and in-Wallet selection. The existence of the proof within the object-oriented graph model provides confidence that not From 8286678bacb90dbcc92e5982609a7bbe63f7dd9c Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 26 Sep 2023 17:10:12 -0400 Subject: [PATCH 07/10] Greatly reduce length of JSON-LD intro. --- index.html | 67 +++++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 46 deletions(-) diff --git a/index.html b/index.html index 63783f17f..ac1b237d0 100644 --- a/index.html +++ b/index.html @@ -3953,54 +3953,29 @@

JSON-LD

Data Model Foundations

- The world of credentials is vast and varied. A physical wallet places - relatively few constraints on the shape and size of those credentials — and it - places no restriction on their contents. Likewise, the Verifiable Credential Data - Model's use of [[!JSON-LD]] provides the consistent shape for all compliant - Verifiable Credentials, so that digital wallets can store credentials with - widely varying content, providing value to a plethora of communities, and - enabling many diverse use cases — from coupons to authentication. + The world of credentials is vast and varied. A physical wallet places a few + constraints on the shape and size of those credentials, and no restriction on + their contents. Likewise, the Verifiable Credential Data Model's use of + [[!JSON-LD]] provides a consistent way to interpret all compliant Verifiable + Credentials using a syntax that can be enforced using complementary + technologies such as JSON Schema. This means issuers can add claim terminology + unique to their communities without the high costs of centralized terminology + registration or format churn. In turn, digital wallets can index and store + credentials with widely varying content, providing value to a plethora of + communities, and enabling many diverse use cases.

- -

- Consequently, Wallet providers can have the confidence that any Verifiable - Credential will "fit", while Issuers and Verifiers benefit from a common - exchange representation that provides built in extensibility without the - high costs of centralized terminology registration or JSON format churn. -

- -

- Issuers can add claim terminology unique to their communities via [[!JSON-LD]]'s - context files rather than being dependent on a single, centralized registry - system. This webby, decentralized approach provides infinite scalability. Future - standardization efforts may then focus on vocabulary definitions and - object-oriented modeling provided by communities of practice rather than idiosyncratic - JSON format creation for individual use cases or scenarios. -

- -

- Furthermore, Verifiers can lean on similarly provided proof mechanisms - without writing new document parsers for each new security mechanism. -

- -

- Lastly, Wallets can move these consistently-shaped credentials between - Issuers and Verifiers without needing to create new storage systems for each - format, with the confidence that each relying party can depend on consistent - grammatical structures and in-built object-oriented data modeling. -

-

- The consistent object-oriented modeling constraints of the Verifiable - Credential Data Model (VCDM) are familiar to developers and enable better - reuse and composition of data. That modeling is built from clean expressions - of subjects, properties, and values (also referred to as entities, - attributes, and values, E-A-V, as well as subjects, predicates, and - objects, S-P-O) which comprise the shape of each atomic claim within - a VCDM credential. This approach empowers Wallets to store any credential - shaped in this way (as with physical wallets) and to index the contained - claims across all the holder's credentials, such that credentials may be - quickly and easily found and presented when needed. + [[!JSON-LD]] provides the Verifiable Credential Data Model (VCDM) with + consistent object-oriented modeling constraints that are familiar to + developers and enable better reuse and composition of data. That modeling is + built from clean expressions of subjects, properties, and values + (also referred to as entities, attributes, and values, + E-A-V, as well as subjects, predicates, and objects, + S-P-O) which comprise the shape of each atomic claim within a VCDM + credential. This approach empowers Wallets to store any credential shaped in + this way and to index the contained claims across all the holder's + credentials, such that credentials may be quickly and easily found and + presented when needed.

From 66e4d4ae2bd609971a4b77820ff515f41c265368 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 26 Sep 2023 17:16:32 -0400 Subject: [PATCH 08/10] Polish closing JSON-LD intro paragraph a bit. --- index.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index ac1b237d0..b55e184ef 100644 --- a/index.html +++ b/index.html @@ -3982,10 +3982,11 @@

Data Model Foundations

This foundational data modeling and grammatical structure is provided through the addition of a single `@context` key which identifies context files that map otherwise idiosyncratic and often ephemeral terms into universally shareable, - collision resistant vocabularies. This context mechanism provides the + collision resistant vocabularies. [[!JSON-LD]] provides the VCDM's underlying subject, property, and value graph-based data model which enables aggregation, collation, and even separation of the individual statements held - within the [[!JSON-LD]] graph and brings the object-oriented structure to previously + within the [[!JSON-LD]] graph. It expresses this model using a developer-friendly + object-oriented structure enabling consistent interpretation of previously freeform JSON documents.

From 07241ce25abddd2397596ab62fc822a89a56232e Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Tue, 26 Sep 2023 17:23:13 -0400 Subject: [PATCH 09/10] Polish Extending JSON section a bit. --- index.html | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index b55e184ef..ed3b1abf6 100644 --- a/index.html +++ b/index.html @@ -4009,7 +4009,8 @@

Extending JSON

A JSON document becomes a [[!JSON-LD]] document when it includes an `@context` -property with a URL associated with a context file. The context file provides +property with a URL associated with a context file and is interpreted in an +object-oriented style. The context file provides the mapping between the idiosyncratic in-document terminology and universally shareable identifiers and value definitions. This provides not only contextualization and meaning, but also reusability through universally @@ -4030,7 +4031,7 @@

Extending JSON

The referenced context file provides the foundation for a consistent -grammatical layer based on object-oriented modeling and community driven +grammatical layer based on top of object-oriented modeling and community driven terminology selection which enables coexistence of various JSON tree shapes and colloquial terms while preventing likely terminology collisions or creating a need to write new tree traversal code for every new media type or JSON shape or @@ -4047,7 +4048,9 @@

Extending JSON

through their own specification process. The terminology mappings are referenced from the VCDM document removing the need for an ever changing landscape of "private claims" or narrowly defined "public claims" housed in a -centralized registry. The common grammar and object-oriented data modeling +centralized registry. Instead, contexts function as decentralized registries +that can be shared within or across communities. The common grammar and +object-oriented data modeling remain the same and properly contextualized terms can commingle. Applications and communities can extend what is claimed and signed through the use of vocabularies. @@ -4055,12 +4058,12 @@

Extending JSON

The underlying graph data model enables signing of the document's statements -rather than just the envelope in which it's contained. When using this feature, the -data — while signed — is accessible in the same way it had been prior to signing, +rather than just an envelope in which it's contained. When using this feature, the +data — while signed — is accessible in the same format it had been prior to signing, allowing for easier indexing, storage, and in-Wallet selection. The existence of -the proof within the object-oriented graph model provides confidence that not -only the wrapping structure was signed, but its actual informational contents. -This enables selective disclosure of statements within the same JSON format +one or more proofs within the object-oriented graph model, each fit for purpose, +can be used to obtain confidence its actual informational contents are signed. +This enables, for example, selective disclosure of statements within the same JSON format, avoiding the ever increasing cost of retooling for new disclosure formats or new envelope types. The proof is consistently placed alongside the claims.

From 8416b8a77c34068df6d5b5252520952f8edfc842 Mon Sep 17 00:00:00 2001 From: BigBlueHat Date: Mon, 2 Oct 2023 14:13:21 -0400 Subject: [PATCH 10/10] Apply editorial suggestions from code review. Co-authored-by: Ted Thibodeau Jr --- index.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index ed3b1abf6..e621e8e36 100644 --- a/index.html +++ b/index.html @@ -3960,7 +3960,7 @@

Data Model Foundations

Credentials using a syntax that can be enforced using complementary technologies such as JSON Schema. This means issuers can add claim terminology unique to their communities without the high costs of centralized terminology - registration or format churn. In turn, digital wallets can index and store + registration or format churn. In turn, digital wallets can store and index credentials with widely varying content, providing value to a plethora of communities, and enabling many diverse use cases.

@@ -3969,7 +3969,7 @@

Data Model Foundations

consistent object-oriented modeling constraints that are familiar to developers and enable better reuse and composition of data. That modeling is built from clean expressions of subjects, properties, and values - (also referred to as entities, attributes, and values, + (S-P-V, also referred to as entities, attributes, and values, E-A-V, as well as subjects, predicates, and objects, S-P-O) which comprise the shape of each atomic claim within a VCDM credential. This approach empowers Wallets to store any credential shaped in @@ -4031,7 +4031,7 @@

Extending JSON

The referenced context file provides the foundation for a consistent -grammatical layer based on top of object-oriented modeling and community driven +grammatical layer on top of object-oriented modeling and community-driven terminology selection which enables coexistence of various JSON tree shapes and colloquial terms while preventing likely terminology collisions or creating a need to write new tree traversal code for every new media type or JSON shape or @@ -4051,7 +4051,7 @@

Extending JSON

centralized registry. Instead, contexts function as decentralized registries that can be shared within or across communities. The common grammar and object-oriented data modeling -remain the same and properly contextualized terms can commingle. Applications +remain the same, and properly contextualized terms can commingle. Applications and communities can extend what is claimed and signed through the use of vocabularies.

@@ -4062,7 +4062,7 @@

Extending JSON

data — while signed — is accessible in the same format it had been prior to signing, allowing for easier indexing, storage, and in-Wallet selection. The existence of one or more proofs within the object-oriented graph model, each fit for purpose, -can be used to obtain confidence its actual informational contents are signed. +can be used to increase confidence that its actual informational contents are signed. This enables, for example, selective disclosure of statements within the same JSON format, avoiding the ever increasing cost of retooling for new disclosure formats or new envelope types. The proof is consistently placed alongside the claims.