Re: [EXTERNAL] Re: "Derivative predicate" of W3C VC WG and "Expression Language" of OIDF ekyc-ida WG

+ Alberto who wrote the expression language spec.

If derivative predicates and expression language are trying to achieve the same (looks like they are, correct me if I am wrong), can derivative predicates also be achieved via modifications to JSON Schema?


________________________________
差出人: Wayne Chang <wyc@fastmail.fm>
送信日時: 2020年7月16日 12:43
宛先: Daniel Buchner <Daniel.Buchner@microsoft.com>; Kristina Yasuda <Kristina.Yasuda@microsoft.com>; W3C Credentials CG <public-credentials@w3.org>; Brent Zundel <brent.zundel@evernym.com>; Dave Longley <dlongley@digitalbazaar.com>; Tobias Looker <tobias.looker@mattr.global>
件名: Re: [EXTERNAL] Re: "Derivative predicate" of W3C VC WG and "Expression Language" of OIDF ekyc-ida WG

That's an interesting proposal to extend JSON Schema. If one day it gets promoted to an IETF standard from its draft status, that might get easier to do. I'm curious about the direction of supporting things like references to ISO currency codes (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.iso.org%2Fiso-4217-currency-codes.html&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=b3t5XY%2FHT0zaSV%2B0oO8VPreNTKC1wu96SrwHkIHH2HY%3D&amp;reserved=0) in some kind of claims request language, and URI-referenced validation operations on top of that. JSON Schema is focused on validating JSON Document structures only, so this direction might be out of scope for it (and admittedly I'm pretty ignorant around JSON Hyper-Schema for which I haven't been able to find many well-supported libraries, and also not sure about its possible relationship to JSON-LD for that matter).

Furthermore, if the validation operators have special rules around processing typed values (for example, "the given HTTPS URL must be CA root cert-valid and resolve to 200 OK"), then it would probably have to live in a separate use case-specific extension to JSON Schema or other form of operator definition.

I think a similar conversation in Presentation Exchange involves the specification of trust frameworks hosted somewhere else:
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdecentralized-identity%2Fpresentation-exchange%2Fissues%2F24&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=i6KZbndzraspRu9zs05drOfQuBtdg%2Bqu384JihBcgd0%3D&amp;reserved=0

On Wed, Jul 15, 2020, at 10:22 PM, Daniel Buchner wrote:
> Wow, if that's the case, it's super unfortunate, because they can do
> literally every other type/value evaluation with JSON Schema. Have they
> consider working to add a stringified numeric type to JSON Schema?
> Seems like such a good opportunity to add value to an existing thing
> that does 90% of what they want.
>
> - Daniel
>
> -----Original Message-----
> From: Wayne Chang <wyc@fastmail.fm>
> Sent: Wednesday, July 15, 2020 7:04 PM
> To: Daniel Buchner <Daniel.Buchner@microsoft.com>; Kristina Yasuda
> <Kristina.Yasuda@microsoft.com>; W3C Credentials CG
> <public-credentials@w3.org>; Brent Zundel <brent.zundel@evernym.com>;
> Dave Longley <dlongley@digitalbazaar.com>; Tobias Looker
> <tobias.looker@mattr.global>
> Subject: Re: [EXTERNAL] Re: "Derivative predicate" of W3C VC WG and
> "Expression Language" of OIDF ekyc-ida WG
>
> Hey Dan, just some initial thoughts here after a brief review of the spec.
>
> In the following example, it seems that the spec allows for certain
> semantic/industry-specific comparison using the "gt" operator on
> strings, which would be not possible in JSON Schema:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgruposantander.github.io%2Fdigital-trust-docs%2Fassertions%2Fclaim-assertions-00.html%23name-example&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=20dNlGdQOW6OPIOuCfC8jOOLgJnEjH4fcZkBdBOVmw4%3D&amp;reserved=0
>
> It's pretty common in the financial sector to represent currencies as
> strings as prevent unintentional IEEE 754 mantissa-bending from getting
> settlements wrong and sending everyone to jail. There is also a
> capabilities negotiation section with
> "assertion_claims_query_language_supported" that may benefit from
> universal identifiers like
> "https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.bigbankstandards.com%2Foperators%2Fgt&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=ECb4KnJl%2Bf1Ci9t%2B8d45mZsNDv%2BeKK%2FQzPxssEWBUIc%3D&amp;reserved=0". These semantics might be different enough to target a goal other than recreating JSON Schema.
>
>
>
> On Wed, Jul 15, 2020, at 9:53 PM, Daniel Buchner wrote:
> > I guess my first question would be: why are the folks who created this Open ID proposal trying to recreate JSON Schema, when we already have JSON Schema?
>
> >
>
>
> > *From:* Wayne Chang <wyc@fastmail.fm>
> > *Sent:* Wednesday, July 15, 2020 6:05 PM
> > *To:* Kristina Yasuda <Kristina.Yasuda@microsoft.com>; W3C Credentials
> > CG <public-credentials@w3.org>; Brent Zundel
> > <brent.zundel@evernym.com>; Daniel Buchner
> > <Daniel.Buchner@microsoft.com>; Dave Longley
> > <dlongley@digitalbazaar.com>; Tobias Looker
> > <tobias.looker@mattr.global>
> > *Subject:* [EXTERNAL] Re: "Derivative predicate" of W3C VC WG and
> > "Expression Language" of OIDF ekyc-ida WG
>
> >
>
> > Thanks for your message, Kristina! Directly adding Brent + Dan + Dave + Tobias here, whom I believe have been working on related efforts in this problem space across Aries, DIF, and CCG. I hope there's an opportunity consolidate efforts.
>
> >
>
> > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fw3c-
> > ccg.github.io%2Fvp-request-spec%2F&amp;data=02%7C01%7CDaniel.Buchner%4
> > 0microsoft.com%7C8856a60f31f142f0399508d8292c9f9c%7C72f988bf86f141af91
> > ab2d7cd011db47%7C1%7C0%7C637304618921838596&amp;sdata=64kakuLf5f3F%2Bo
> > L39cjYY05nIRZZGN8dOHuBZXNPWGU%3D&amp;reserved=0
> > <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fw3c
> > -ccg.github.io%2Fvp-request-spec%2F&amp;data=02%7C01%7CDaniel.Buchner%
> > 40microsoft.com%7C8856a60f31f142f0399508d8292c9f9c%7C72f988bf86f141af9
> > 1ab2d7cd011db47%7C1%7C0%7C637304618921838596&amp;sdata=64kakuLf5f3F%2B
> > oL39cjYY05nIRZZGN8dOHuBZXNPWGU%3D&amp;reserved=0>
>
> > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fiden
> > tity.foundation%2Fpresentation-exchange%2F&amp;data=02%7C01%7CDaniel.B
> > uchner%40microsoft.com%7C8856a60f31f142f0399508d8292c9f9c%7C72f988bf86
> > f141af91ab2d7cd011db47%7C1%7C0%7C637304618921848592&amp;sdata=wAVCy3Nd
> > VrdTBykEW373ATo%2FxOj2sUs1FdarG7QJlws%3D&amp;reserved=0
> > <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fide
> > ntity.foundation%2Fpresentation-exchange%2F&amp;data=02%7C01%7CDaniel.
> > Buchner%40microsoft.com%7C8856a60f31f142f0399508d8292c9f9c%7C72f988bf8
> > 6f141af91ab2d7cd011db47%7C1%7C0%7C637304618921848592&amp;sdata=wAVCy3N
> > dVrdTBykEW373ATo%2FxOj2sUs1FdarG7QJlws%3D&amp;reserved=0>
>
> > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmatt
> > rglobal.github.io%2Foidc-client-bound-assertions-spec%2F&amp;data=02%7
> > C01%7CDaniel.Buchner%40microsoft.com%7C8856a60f31f142f0399508d8292c9f9
> > c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304618921848592&amp;
> > sdata=UGG%2Fw4IWYH7oieOqoMV9G9Moj0QYv0QYxE24SAXKdBg%3D&amp;reserved=0
> > <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmat
> > trglobal.github.io%2Foidc-client-bound-assertions-spec%2F&amp;data=02%
> > 7C01%7CDaniel.Buchner%40microsoft.com%7C8856a60f31f142f0399508d8292c9f
> > 9c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304618921848592&amp
> > ;sdata=UGG%2Fw4IWYH7oieOqoMV9G9Moj0QYv0QYxE24SAXKdBg%3D&amp;reserved=0
> > >
>
> >
>
> > Best,
>
> > - Wayne
>
> >
>
> > On Wed, Jul 15, 2020, at 7:58 PM, Kristina Yasuda wrote:
>
> >> Hi,
>
> >>
>
> >> I am reaching out since there seems to be synergy with 'derived predicate' concept <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.w3.org%2FTR%2Fvc-data-model%2F%23dfn-predicates&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=nZVai%2Fi6Wuo4HGs16Tkd3kCWds%2BEKk0ABUS5WXahJoo%3D&amp;reserved=0> of W3C VC spec and  expression language <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgruposantander.github.io%2Fdigital-trust-docs%2Fassertions%2Fclaim-assertions-00.html%23name-expression-language&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=Yvp6zn%2BmURxHU7V%2FHn8zWf9kubReS16kCbnAu9MjMok%3D&amp;reserved=0> concept being discussed in OpenID Foundation(OIDF)'s  ekyc-ida (identity assurance) WG <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fopenid.net%2Fwg%2Fekyc-ida%2F&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=FVBjsdspaVTfHfecJXDvTlsE%2FVFKESQpC4VYM1I4wcQ%3D&amp;reserved=0>  in the context of selective disclosure.
>
> >>
>
> >> This part
> >> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fw3
> >> c.github.io%2Fvc-imp-guide%2F%23predicates&amp;data=02%7C01%7CDaniel.
> >> Buchner%40microsoft.com%7C8856a60f31f142f0399508d8292c9f9c%7C72f988bf
> >> 86f141af91ab2d7cd011db47%7C1%7C0%7C637304618921848592&amp;sdata=Qtt8u
> >> tmjeG2PJgr8VVjhU094KQppi7eS7ZgvgcgIHQ8%3D&amp;reserved=0> in the
> >> vc-imp-guide is the most detailed implementation of derived predicate
> >> that I have seen. Do you know if
>
> >>  * there is more specific proposal for how to express the derived
> >> predicates
> >>  * there is anyone actually implementing this feature OIDF is
> >> discussing the concept of  expression language <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgruposantander.github.io%2Fdigital-trust-docs%2Fassertions%2Fclaim-assertions-00.html%23name-expression-language&amp;data=02%7C01%7CKristina.Yasuda%40microsoft.com%7Cf4fcb1e315dc442a258808d8293a6aeb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637304678180868210&amp;sdata=Yvp6zn%2BmURxHU7V%2FHn8zWf9kubReS16kCbnAu9MjMok%3D&amp;reserved=0> which could be more generic than "ageOver18" property in VC imp-guide and ekyc-ida wg has been wondering if we could work together on this important topic.
>
> >> OIDF's current proposal is outlined here <https://gruposantander.github..io/digital-trust-docs/assertions/claim-assertions-00.html>. For example for the alcohol purchase age, in the US it is ageOver18, but in Japan it is ageOver20. The concept of expression language would allow to express this as {"age" : { "gt" : "18", "lt" : "20" } } where gt is 'greater than' and 'lt' is less than..
>
> >>
>
> >> Best,
>
> >> Kristina
>
> >> *Identity Standards Team, Microsoft Corp.*
>
> >>
>
> >>
>
> >>
>
> >
>

Received on Thursday, 16 July 2020 08:56:43 UTC