Can a DCQL query be constructed for the following scenario?
- An mdoc document type with around 50-ish data elements out of which around 40 are optional (issuers may or may not include them in the VC).
- This document type is used by tens of different issuers. Each issuer could use a different combination of optional fields.
- Furthermore, even within one issuer different combinations could be used depending on what data on the holder of the document the issuer has available. This is all to say that there are essentially unlimited amount of combinations - a combinatorial blowout.
- The verifiers need to request all the data that the holder has available.
Based on section 6.4.1 the answer seems to be no. Am I correct or have I overlooked something?
- If the verifier provides no
claims query, then the wallet must not present any data as all data elements in mdoc format seem to be selectively disclosable. Specification states: "The Wallet MUST return only the claims that are mandatory to present"
- If verifier adds all data elements to the
claims query the wallet can only respond if it has all the claims available: "If the Wallet cannot deliver all claims requested by the Verifier according to these rules, it MUST NOT return the respective Credential."
- One idea on how to solve this would be to add different combinations of
claims_sets to the query ordering them by the amount of information requested. However, this idea is not workable due to the combinatorial blowout
While the scenario I've described here is quite specific, if my assumptions are correct, it seems to point to larger issue that DCQL does not work well with optional data if those fields are selectively disclosable. In previous drafts, I believe, it was possible to request credentials solely by doctype/namespace.
Can a DCQL query be constructed for the following scenario?
Based on section 6.4.1 the answer seems to be no. Am I correct or have I overlooked something?
claims query, then the wallet must not present any data as all data elements in mdoc format seem to be selectively disclosable. Specification states: "The Wallet MUST return only the claims that are mandatory to present"claims querythe wallet can only respond if it has all the claims available: "If the Wallet cannot deliver all claims requested by the Verifier according to these rules, it MUST NOT return the respective Credential."claims_setsto the query ordering them by the amount of information requested. However, this idea is not workable due to the combinatorial blowoutWhile the scenario I've described here is quite specific, if my assumptions are correct, it seems to point to larger issue that DCQL does not work well with optional data if those fields are selectively disclosable. In previous drafts, I believe, it was possible to request credentials solely by doctype/namespace.