DDMAL / DDMAL/UMIL

Workflow for syncing UMIL labels with Wikidata

Open
#480 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
4
Forks
2
PR merge metrics
No merged PRs in 30d

Description

As discussed, we need to update our data via Wikidata pulls. This requires a reconciliation workflow between the databases.

Since UMIL and Wikidata are asynchronous, several scenarios can occur.

## Possible Changes

### In UMIL (per instrument, per language)

- Names can be added (with different verification statuses)
- Names can be deleted (tracked via soft delete, #350)
- Another name in the names list may become the `UMIL_label`

### In Wikidata (per instrument, per language)

- The main label may be changed
- The main label may be removed
- Aliases may be removed
- Aliases may be added

Moreover,

- New UMIL names are checked **at the time of addition** to avoid duplication with Wikidata entries.
- Some UMIL names may also be batch-added to Wikidata.

## Proposed Rules

- **New alias or label appears in Wikidata**
- If it already exists in UMIL (soft-deleted or active) → **do nothing**
- Otherwise → **add it to UMIL**

- **A name in UMIL that was sourced from Wikidata is removed from Wikidata**
- → **Hard-delete** the name from UMIL*

- **Wikidata main label differs from the instrument’s `UMIL_label`**
- If **both labels are sourced from Wikidata** → update UMIL to match Wikidata
- Otherwise → **do nothing**

\* `Names` refers to both labels and aliases in the UMIL context.

\*\* This is a **hard delete** because the soft-delete feature exists to support UMIL’s internal review process, not Wikidata’s.
An instrument label may be removed from Wikidata and still require review if it originated there, but already rejected entries do not require review.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.