Open stevenvegt opened 1 year ago
This looks like it is correct; Framing explicitly will use property: null
in the case that the frame specifies a property that doesn't have a value for some particular match (unless the @requireAll
flag is used, in which case it won't emit this object at all).
You can get rid of the null
properties by re-compacting.
Hi wonderful people from the JSON-LD Framing group!
I have a question regarding framing on nested JSON-LD data.
Background
My question is in relation to Verifiable Credentials. I'm a maintainer of an open source credential wallet. We are now starting with the implementation of the new OIDC4VCI which supports a flow where the Issuer can ask the Holder for proof of ownership of a credential (in the form of a presentation). This can be done by the DIF Presentation exchange. In there is a
Future
which allows the Relying Party to query by 'frame': https://identity.foundation/presentation-exchange/#json-ld-framing-feature. This is I think so much more elegant than the json-schema filters. Since all of our credentials are in JSON-LD anyway, it seems the way to go. But I'm running into issues here.Assumption
One can use JSON-LD framing to "query" over a set over credentials, stored as a list of graphs.
Problem
I would like to use framing to query a set of Verifiable Credentials. I made a simpler example to illustrate the problem: Input:
I want to query for a "credential" of
Type1
, name isJohn
and address with streetOneway
:Frame:
This is the output I get from the JSON-LD Playground:
As you can see, the address of the second entry is
null
. I expected the result not to have this entry at all. That is also what happens when I frame on@id
:Input on
@id
:Output:
So my questions are:
@id
and framing by value?Thanks for taking the time to look at this issue!