W3C home > Mailing lists > Public > public-credentials@w3.org > April 2021

Re: JSON-LD internationalization support (Was:Re: Vaccination Certificate Test Suite)

From: Manu Sporny <msporny@digitalbazaar.com>
Date: Mon, 26 Apr 2021 10:44:44 -0400
To: public-credentials@w3.org
Message-ID: <a986c639-5143-1df8-8963-418e8f123335@digitalbazaar.com>
On 4/26/21 10:02 AM, David Chadwick wrote:
> The OCA work of Human Colossus has a much better way of signalling
> language and value layers on top of a base schema without burdening the
> actual VC with these. Once a VC is issued it is fixed, so how do you handle
> a new language?

I'll answer for the JSON-LD internationalization use case. I haven't been able
to understand the OCA work -- there's a lot there to absorb and the details
always seem to escape my grasp.

With JSON-LD... it depends on exactly what you want to do, but let's take a
simple example such as the type of vaccine. Let's say you want to use the WHO
ICD-11 code as the type... and let's just assume we're talking about a
"Measles, mumps, rubella" vaccine.

You'd have this entry in your JSON-LD Context ("XM8TF3" is the WHO ICD-11 code
for the "Measles, mumps, rubella" vaccine):

"XM8TF3": {
  "@id": "http://id.who.int/icd/entity/87842213",
  "@type": "@id"
}

You'd have this in your Verifiable Credential:

"vaccine": "XM8TF3"

You'll note that there is no language information anywhere in there, which
gets to your "how do you handle a new language" use case? In that case, the
WHO (or software developer needing to support dynamic multilingual use cases)
would annotate the vaccine entry with language information. So, they'd publish
something like this:

{
  "@context": "https://w3id.org/vaccination/v1",
  "id": "http://id.who.int/icd/entity/87842213",
  "type": "Vaccine",
  "name": {
    "en": "Measles, mumps, rubella",
    "es": "Paperas, sarampión, rubéola",
    "jp": "はしか、おたふく風邪、風疹",
    "ar": "الحصبة والنكاف والحصبة الألمانية",
    ...
  }
}

You'll note that the original VC doesn't have to contain any language
information. You'll also note that the WHO gets to define the translations for
their vaccination type. You may also note that the translations don't have to
come from WHO and could be done by the software developer if they so choose.

This feature has existed in Linked Data systems for 21+ years. Unfortunately,
it seems as if many of the people working on vaccination certificates seem to
be unaware of the multilingual issues they're creating with the current
solutions. To be clear, I don't think it's a big deal... the nice thing about
VCs is that you can always re-issue them and make them better... and because
they're powered by Linked Data, if you get the identifiers right, you can
always improve things in a decentralized, iterative fashion. The tools are
there, it's just a matter of using them in the right way.

-- manu

-- 
Manu Sporny - https://www.linkedin.com/in/manusporny/
Founder/CEO - Digital Bazaar, Inc.
blog: Veres One Decentralized Identifier Blockchain Launches
https://tinyurl.com/veres-one-launches
Received on Monday, 26 April 2021 14:45:08 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:25:13 UTC