Re: On JSON-LD with DIDs and VCs

On Tue, 7 Jan 2020 at 18:47, Orie Steele <orie@transmute.industries> wrote:

> We wrote this blog post on JSON-LD in the context of VCs and DIDs:
>
>
> https://medium.com/transmute-techtalk/on-json-ld-and-the-semantics-of-identity-42d051d3ce14
>
> Its meant to explain some of the historical context behind JSON-LD, and
> some of the integration benefits for choosing it.
>
> It's a technology we at Transmute use and love, but which we know is
> challenging and not always a welcome dependency for everyone.
>
> Our hope is that if you don't know anything about JSON-LD, this blog post
> might help provide some context.
>

It might help to go over what the @context does.

For those that know the languages C and Java, they have the concepts of
includes and imports.

Now an include is slightly different from an import.

In C the include references some external files and pulls in a bunch of
code and libraries.

In Java the the OPTIONAL import is simply an alias or a short hand which
saves typing.  Because after a while typing com.foo.bar.variable in your
code got long winded and ugly.

The JSON-LD the @context is just like in Java, when it is presented
inline.  It simply saves typing and makes the document look prettier.
Specifically, it makes it look like JSON.  JSON-LD is just JSON where the
keys are URIs and the values can be URIs (hence the "linked" in linked
data).

And also the @context can be in a separate file which can be included (C
style) so that the document really really looks like JSON.

But has all the benefits of Linked data.  ie extensibility, self
describing, highly connected by default etc.

In actually fact in JSON-LD the context is completely optional.  If you
wanted to type out those pesky http strings you add @context, and you
please the linked data people and you please the JSON people, helping to
create a critical mass.  If you type out the URLs the context problem goes
away.

Other forms of Linked Data which we'll probably all have to interoperate in
the longer term dont have external contexts and put everything inline.
This works well and solves alot of problems.  Just one way of doing things

So in order to move forward a comprise was struck that would give the
extensible benefits of Linked Data, but be simple enough for those familiar
with JSON to get started.  It seems to me a reasonable approach, provided
that the big picture is kept in mind and that the spec is here to help with
maturation and is not a straight jacket or something that should be
constraining.  Given the traction that this work has got, I think it seems
reasonable.

I may have large chunks of the above wrong, but that's my rough
understanding.  That we are introducing some common best practices to
achieve a milestone.  And that will open to door to future phases with more
features and a potentially larger network effect.


>
>
> Regards,
>
> OS
>
>
> --
> *ORIE STEELE*
> Chief Technical Officer
> www.transmute.industries
>
> <https://www.transmute.industries>
> ᐧ
>

Received on Wednesday, 8 January 2020 18:22:29 UTC