decentralized-identity / vc-spec-map

Verifiable Credentials Specification Relationship Map
Apache License 2.0
9 stars 4 forks source link

Handling 1 of N dependencies #26

Closed manicprogrammer closed 3 years ago

manicprogrammer commented 3 years ago

In various specs there are sections that references to other specifications in which the exact choice is not specified but typically one of multiple of those specs would be in use. An example is when an encryption or signing scheme is used- there may be multiple schemes that are supported by the spec but only 1 is used. The relationship to the signing scheme is neither only a reference nor a pure dependency.

The map currently is inconsistent in how it treats those. The relationships may be treated as references, dependencies or handle specially with an intermediate element representing 1 of n relationship.

How to represent these relationships should be done consistently. Some current ideas are:

manicprogrammer commented 3 years ago

V1.31+ has the proposed scheme applied to

did-spec-registries has two 1-to-many relationships, one for signatures and the other for did-method

One variation was made to the proposed scheme. The same relationship label was carried through to the specs so instead of [spec a] ---implements -> [intermediate] -- references -> [spec y ] and [spec z] it was applied as: [spec a] ---implements -> [intermediate] -- implements -> [spec y ] and [spec z]

The element type for the was set to 'intermediate' for the intermediate element.

manicprogrammer commented 3 years ago

The wiki page on how to populate the CSV has been updated to document this scheme as it is expected to be a final change. This issue will be left open for an indefinite period to allow for more input if needed.

manicprogrammer commented 3 years ago

closing issue. An implementation was performed in an earlier release and additional issues for improvements have been made e.g. #35