What is the relationship of didDocumentStream and didDocument?
Reading 7.1, I don't see any requirement that didDocument and didDcoumentStream be semantically equivalent.
Do they have to be? If so, who is responsible for enforcing this? If not, what are the implications?
@ekr sorry for the late reply..
Reading that section you referenced:
The resolve function returns the DID document in its abstract form (a map). The resolveRepresentation function returns a byte stream of the DID Document formatted in the corresponding representation.
To me it seems sufficiently clear that given the same DID, the resulting didDocument or didDocumentStream are "semantically equivalent", the difference is that one is considered the "abstract data model", whereas the other one is a concrete representation of the DID document such as JSON-LD or JSON or CBOR. I think the diagram below also reenforces this view about the relationship between the two.
Does this answer your question, or do you maybe have a suggestion how we could clarify this better?
@ekr, we have recently resolved to remove the Abstract Data Model from the spec. There will only be a concrete representation, aligned with the Controller Document spec.
This should address your initial concern. Marking this as pending close, please let us know if you would like to keep it open.
This was discussed during the #did meeting on 06 December 2024.
View the transcript
w3c/did-core#803
manu: Yep, agreed -- Ivan had concerns, I think we addressed them with PRs in VCWG.
decentralgabe: difference is concrete representation vs. abstract one. Marking this as pending close.