Open PatStLouis opened 4 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".
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
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.
The
@vocab
attribute from the base context leads to https://www.w3.org/ns/credentials/issuer-dependent#, which reads: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