The following is a list of recommended descriptors to use when conveying what type of entity a DID represents. Members of the Decentralized Identity Foundation compiled this list based on examination of descriptors commonly used to represent entities across industry verticals and existing system that include semantic role definitions.
NOTE: Use of the dash (
-
) character in theVertical
columns below indicates the descriptor is not from an industry-specific schema and can be used across vertical contexts.
Descriptor(s) | Schema | Vertical |
---|---|---|
Person | schema.org | - |
There are numerous descriptors across various industry-specific schemas that are commonly used to describe different types of organizations. The user/manager responsible for determining the entity association for a given organization should select the descriptor that is most common in the vertical in which their organization is typically classified.
Descriptor(s) | Schema | Vertical |
---|---|---|
Organization | schema.org | - |
Corporation | schema.org | - |
LocalBusiness | schema.org | - |
Organization | hl7.org/fhir | Medical |
Organization | gs1.org | Supply Chain |
Any type of product, excluding intangibles and service-based offerings.
Descriptor(s) | Schema | Vertical |
---|---|---|
Product | gs1.org | Supply Chain |
Product | schema.org | - |
Descriptor(s) | Schema | Vertical |
---|---|---|
SoftwareApplication | schema.org | - |
MobileApplication | schema.org | - |
WebApplication | schema.org | - |
VideoGame | schema.org | - |
Any type of service offering.
Descriptor(s) | Schema | Vertical |
---|---|---|
Service | schema.org | - |
Descriptor(s) | Schema | Vertical |
---|---|---|
codeRepository | schema.org | - |
SoftwareSourceCode | schema.org | - |
The descriptors
property can be an array of objects from different schemas that contribute to the description of what the DID-linked entity is. User Agents and consuming entities should assume a 0-index ascending order of primacy.
NOTE: The
Profile
object wrapper defined by DIF's Identity Hub schema is not intended to define/contains a large number of properties that describe the target entity. Doing so should be left to the descriptor objects provided in thedescriptors
array.
{
"@context": "https://identity.foundation/schemas/hub",
"@type": "Profile",
"did": "did:foo:123"
"name": "Jeff Lebowski",
"nickname": "The Dude",
"email": "[email protected]",
"picture": IMG_URL,
"descriptors": [
{
"@context": "http://schema.org",
"@type": "Person",
"name": "Jeffrey Lebowski",
"description": "That's just, like, your opinion, man.",
"address": {
"@type": "PostalAddress",
"streetAddress": "5227 Santa Monica Boulevard",
"addressLocality": "Los Angeles",
"addressRegion": "CA"
}
},
{...}
]
}
// Person profile, without top-level props
{
"@context": "https://identity.foundation/schemas/hub",
"@type": "Profile",
"did": "did:sov:456"
"descriptors": [
{
"@context": "http://schema.org",
"@type": "Person",
"name": "Jeffrey Lebowski",
"description": "That's just, like, your opinion, man.",
"address": {
"@type": "PostalAddress",
"streetAddress": "5227 Santa Monica Boulevard",
"addressLocality": "Los Angeles",
"addressRegion": "CA"
}
},
{...}
]
}