registry-idea

The relation between a registry and a standard

This is an attempt to explain how I (Erlend) view the relationship between a Standard and the registry for that standard.

When developing a standard one of the major goals is to ensure interoperability. And to have interoperability between different systems there is a need for systems to understand each other. And the identifiers used to represent different values. For a global standard to be interoperable identifiers need to be "neutral" i.e. the identifier should differ from the label or name used.

Changing or adding elements to a standard is usually quite some work. To add a new value in a standard there is a need to do an amendment or corrigendum to the standard, that need to be justified and then balloted - a process that usually takes some time. The registry and rules and procedures for adding entries to a Registry are easier and more lightweight than for adding entries to a Standard. The value of the registry is in the procedures and rules that are followed for maintaining entries in the registry. And that the registration authority is approved, and are following the rules for laid out for the registry.

The registry is for any value-domains that are not fixed - where we would anticipate that new values will be added. Or where new terms will be added and their values.

Example

This example is just an invention of my imagination, and hopefully it would provide some indication on what I'm trying to explain.

Standard

In the standard we might have a concept of Grapes with an appropriate definition.
An XML example of how this information is used in exchange between different systems could be:

<?xml version="1.0" standalone="yes">
<my_standard xmlns="iso/iec 123456-1:2013">
  <grape>2</device>
</my_standard>

The question is then what does the 4 mean? And to identify that we need to go to the registry:

Registry

The registry could contain several different databases.
The "grape" database could have the following structure:

IDentifier

Label

Description

The "Grape" database would also have a identifier: And the registry would have a unique identifier (URL)
Grape

ID

Label

Description

001

Gamaret

Gamaret was developed for cultivation in French Switzerland...

002

Pinotage

It typically produces deep red varietal wines with smoky, bramble and earthy flavors...

Looking at the list from http://en.wikipedia.org/wiki/List_of_grape_varieties#Red_grapes it is evident that there is need for an extensible list.

So the actual data transfered between different systems would be more like this:

<?xml version="1.0" standalone="yes">
<my_standard xmlns="iso/iec 123456-1:2013">
  <grape>http://my.registry.com/grape/002</device>
</my_standard>

or

grape:http://my.registry.com/grape/002

And in the standard the concept Grape would also have a unique identifier, and a registry providing labels and descriptions in different languages - so that in my system I would have the Norwegian label Drue displayed.

The information could therefore be exchanged like this:

isoiec123456:2013/005:http://my.registry.com/grape/002

To be sure that we are exchanging information about the appropriate grape type we need to have a common global registry of grapes.

In many cases the registry will have an extensible way of providing labels and definitions in many languages where that is applicable.