Skip to content

3. Technical Prelude

Each table of this document represents a schema for a JSON or, equivalently, YAML document. The tables define the terms to be used in claims according to the Verifiable Credentials Data Model. Behind the scenes, there shall be a JSON-LD context1, which maps all terms such as attribute names to full URIs for interoperability according to the RDF data model, as is required by the Verifiable Credentials Data Model. This context will be published together with the machine-executable implementation of the Trust Framework at https://w3id.org/gaia-x/core/ with the release of this specification.

3.1 Attribute type

3.1.1 Address

Address refers to an object such as address object which contains a country attribute.

All country attributes are in the ISO 3166-1 alpha2, alpha-3 or numeric format.

3.2 JSONPath

Attributes can also express a JSONPath.

Ex: location[].country represents the path to a country attribute inside an array of location objects, like

{
   "location":[
      {
         "zipCode":"75001",
         "city":"Paris",
         "country":"FR"
      }
   ]
}

3.3 Cardinality

Cardinality Relationship
0..1 Optional
0..* Optional to Many
1 Mandatory
1..N Mandatory to N
1..* Mandatory to Many

3.4 Trust Anchor

The Trust Anchor column contains the information on the Trust Anchor which issued the root keypair in the chain of keypair used to sign the claim.

flowchart LR
    ta[Trust Anchor]

    subgraph holder1 [Holder ...]
        k1[keypair]
        direction TB
    end

    ta -- issues --> k1

    subgraph holder2 [Holder N]
        k2[keypair]
        direction TB
    end

    holder1 -- issues --> k2

    holder2 -- signs --> claim