Skip to content

Tags and Keywords

Alexander Refsum Jensenius edited this page Jun 21, 2026 · 2 revisions

Tags describe research topics on person profiles, projects, and events. They power search, the people network graph, and topic filtering.

Where tags live

Location Fields
site/_directory/people/*/index.md tags, search_keywords
site/_directory/projects/*/index.md tags
site/_events/*.md tags
site/_data/tag_groups.yml grouped tag lists for network display

search_keywords usually mirrors tags on person profiles (both are set by the NVA sync).

Sources of tags

  1. NVA/ORCID sync — research topics imported nightly (scripts/enrich_directory_from_nva.py)
  2. Manual editing — events, projects, and fields NVA does not overwrite
  3. Tag merge script — normalises variants site-wide

Note: When a person has urls.nva, the nightly sync overwrites tags and search_keywords. The nightly CI runs merge_tags.py automatically after each NVA sync. Add new mappings to config/tag_merge_map.yml when --report finds unmapped duplicates.

Tag merge system

Configuration: config/tag_merge_map.yml

merges:
  Artificial intelligence:
    - Artificial Intelligence
    - AI

  Human computer interaction:
    - Human-Computer Interaction
    - Human–Computer Interaction

aliases:
  Digital libary: Digital library

Each canonical key absorbs listed variants. The script updates front matter and tag_groups.yml.

Commands

python3 scripts/merge_tags.py --report      # audit usage, find unmapped duplicates
python3 scripts/merge_tags.py --report --suggest  # print YAML for new groups
python3 scripts/merge_tags.py --dry-run       # preview changes
python3 scripts/merge_tags.py                 # apply mappings

Workflow

  1. Run --report to see duplicate or near-duplicate tags
  2. Add mappings to config/tag_merge_map.yml
  3. Run --dry-run to preview
  4. Run without flags to apply
  5. Commit the map file and updated content

Tag groups (people network)

site/_data/tag_groups.yml maps specific tags to broader labels on the network page (e.g. "Music Technology" → "Music & sound"). Groups match by exact tag first, then substring patterns.

When adding merge mappings, run merge_tags.py so tag_groups.yml stays consistent.

Event tags vs categories

On events, categories include work packages (WP1, MeshUp, …). Tags are topic keywords only — do not put WP labels in tags. See Adding Events.

Clone this wiki locally