uncefact / spec-untp

UN Transparency Protocol
https://uncefact.github.io/spec-untp/
GNU General Public License v3.0
10 stars 9 forks source link

Should we encourage issuers to leave terms undefined #117

Open PatStLouis opened 4 days ago

PatStLouis commented 4 days ago

The @vocab attribute from the base context leads to https://www.w3.org/ns/credentials/issuer-dependent#, which reads:

There may be cases, however, when the creation of such formal vocabularies and context definitions is too much of a burden, such as for closed applications, experiments, or examples.

I don't think production grade systems should rely on this feature and the UNTP model isn't a closed application, experiment or example. The original intent of having an @vocab attribute was to facilitate development when entities didn't want to publish a context. There are other convenient means to do development.

@zachzeus @onthebreeze @nissimsan

nissimsan commented 3 days ago

@vocab is sort of a "catch all". So if all terms are indeed properly defined, it makes no difference whether @vocab is there or not - there is nothing left to be "caught".

nissimsan commented 2 days ago

One more thought, @PatStLouis, if we narrow the json schema properly, we can insure that all issuers use our context - and then it's up to the spec to ensure that terms are properly defined.

This is exactly what I intended to demo on the video I recorded last month: https://youtu.be/0wgWxhmKyzk

Fak3 commented 2 days ago

Default vocab was pushed into the VCv2 context under the pressure of plain json camp. It was expected to "simplify" development, but I believe it hurts interoperability, asking for keyword and full url term collisions for downstream developers of untp extensions. Recently the VC group discussion about the default vocab emerged again, and it may be removed in the future. (for good, imo) Meanwhile, I would vote we set @vocab : null at the top of our context file to unset the default vocab and prevent term collisions for our downstream users.