Skip to main content

Vocabularies

┌────────────────────────────────────────────┐
│ Vocabularies / Reference systems |
│--------------------------------------------│
│ Application Référentiels |
│--------------------------------------------│
│ ┌─────────────────┐ R1 |
│ │ User │ ┌───────────┐ |
│ │ Interface │ | voc1 │ │
│ │ │ <=> | voc2 | │
│ │ Choice list │ └───────────┘ │
│ │ - voc1 │ │
│ │ - voc2 │ R2 │
│ │ - voc3 │ ┌───────────┐ │
│ │ - voc4 │ | voc3 | │
│ │ │ <=> | voc4 │ |
│ └─────────────────┘ └───────────┘ │
└────────────────────────────────────────────┘

Introduction

During the Carto4CH project, we gave a lot of thought to how to maintain vocabularies, or refer to existing european vocabularies. We would have liked to set them up, but the task was too complex for the limited time/energy we had.

We therefore opted for internal lists for each Carto4CH server.

  • Users can populate these lists, helped by suggestions from ESCO or Wikidata.
  • Using interoperability between servers, it is possible to see the lists of server A on server B.

This is an acceptable solution for a demonstrator, but not for production use.

In this page, we propose a future architecture to implement external vocabularies.

Reminder

To understand what we're talking about, you can reread the user documentation prerequisites on the subject of vocabularies.

From internal vocabularies to external vocabularies

Internal vocabularies

For the moment, each server has its own lists.

┌──────────────────────────────────────────────────┐
│ Internal vocabularies |
│--------------------------------------------------│
│ Server A Server B |
│--------------------------------------------------│
│ ┌─────────────────┐ ┌─────────────────┐ |
│ │ User │ │ User │ |
│ │ Interface │ │ Interface │ |
│ │ │ <=> │ │ │
│ │ Choice list │ │ Choice list │ │
│ │ - voc1 │ │ - voc3 │ │
│ │ - voc2 │ │ - voc4 │ │
│ └─────────────────┘ └─────────────────┘ │
│ ^ ^ │
│ └── Interoperability ─┘ │
└──────────────────────────────────────────────────┘

External vocabularies

We propose to use external repositories, which will be managed as commons by communities. They can be specialised in a particular field and used by any Carto4CH server.

┌──────────────────────────────────────────────────┐
│ External vocabularies |
│--------------------------------------------------│
│ Server A Server B |
│--------------------------------------------------│
│ ┌─────────────────┐ ┌─────────────────┐ |
│ │ User │ │ User │ |
│ │ Interface │ │ Interface │ |
│ │ │ │ │ │
│ │ Choice list │ │ Choice list │ │
│ │ - voc1 │ │ - voc1 │ │
│ │ - voc2 │ │ - voc2 │ │
│ │ - voc3 │ │ - voc3 │ │
│ │ - voc4 │ │ - voc4 │ │
│ └─────────────────┘ └─────────────────┘ │
│ ^ \ / ^ │
│ | X | │
│ | / \ | │
│ ┌─────────────────┐ ┌─────────────────┐ |
│ │ Vocab 1 │ │ Vocab 2 │ |
│ │ - voc1 │ │ - voc3 │ |
│ │ - voc2 │ │ - voc4 │ │
│ └─────────────────┘ └─────────────────┘ │
└──────────────────────────────────────────────────┘

Technology / standards

These vocabularies can also be thesaurus implemented by SOLID servers, using the SKOS ontology for example, like the one we used in the SOLID Tutorial and the Carto4CH Lexicon.