Closed kdenhartog closed 2 months ago
@kdenhartog Looks like a good start.
I'm not an expert on JSONLD. Is there a way to translate the frame back into JSONLD credential field definitions in order to properly inform the user what is being requested of them?
I'm not sure what you mean by "JSONLD credential field definitions". Could you provide an example of what you're trying to accomplish?
@kdenhartog I don't have an example on hand but what I mean is for the agent software to inform the user of the individual pieces of data being requested, as opposed to just the entire credential. So instead of just informing the user "this Verifier would like you to disclose your driving license" the software could instead display "this Verifier would like you to disclose the date of birth from your driving license".
That sounds a bit like a concern for a UI/UX layer, so I'm a bit confused still what changes you're asking for at this layer here. Seems like everything you'd need at this layer for can be found in the frame, so I'm not sure what more needs to be included.
@kdenhartog Is there an update on this item - are you planning a PR to the spec?
Yeah I'll get to making a PR on this eventually. I'm caught up at the moment so won't get around to it right away. We've begun implementing this already and there's definitely some edge cases that need to be speced out, but in general it works.
@kdenhartog correct me if my understanding is wrong.
You are adding frame
object to existing QueryByExample
structure so that given frame can be applied on credential search result for selective disclosure.
QueryByExample
+ frame
--> QueryByFrame
Yup that's basically it 👍 Sounds like you guys figured it out. The edge cases we've ran into are basically what happens when you provide bad frames. For example, if the bbs context isn't included the proof gets dropped.
Noting here for later when I define this. We should align the trustedIssuer field on QueryByExample and QueryByFrame so that they are both defined within the CredentialQuery object rather than today where QueryByExample defines it within the example object.
The group discussed this on the 2024-07-30 telecon:
The latest vc-di-bbs specification does not use query by frame, nor do any of the latest queries use query by frame (JSON Pointers are used instead). Query By Example is used to generate JSON Pointers which are then used for selective disclosure (and it is expected that this pattern is broadly useful/used for other selective disclosure and unlinkable disclosure use cases).
This issue has been overtaken by events, closing.
This query type is being designed with JSON-LD BBS+ Signatures in mind where we want to be able to use a JSON-LD frame to request specific attributes in a query which is provided in the form of a JSON-LD frame.
An example of this query type would look like the following:
Are there any sorts of other considerations that we should take into account when adding this query type @dlongley @msporny @dmitrizagidulin ?