Skip to main content

Intblock inclusion policy

Defines what belongs in the intblocks dataset and how to classify records with scope_category.

Inclusion criteria

An intblock is included when it is useful as a stable join target for membership, hierarchy (partof), or named reference sets used by other records in this repository.

KindInclude?Examples
Intergovernmental organization (IGO)YesUN, NATO, AU, ASEAN
Treaty / convention with parties rosterYesUNFCCC, CBD, UNCLOS
Standing policy forum / processYesG7, G20, ARF, FATF
Named geographic / set groupingsYes, labeled reference_enumerationSIDS, Maghreb, Caribbean
Country attribute partitionsNo — use country fieldsTraffic hand, DVD region, scripts, legal tradition, rail gauge, broadcast systems
Ad-hoc news coalitions / one-off summitsUsually noUnless membership is durable and sourced
Socioeconomic rankings / indicesNoHDI lists, GDP leagues (out of country & intblock scope)
Government form / regime typologyNo on countries; not as intblock membershipOptional vocab only: data/vocabs/government_forms.yaml

Attribute partitions → country fields

These classifications were previously inverted as intblocks and are now country properties (with controlled vocabs under data/vocabs/):

Former blocktypeCountry field
traffichandcar_side (left | right)
writingdirectionwriting_directions
writingsystemwriting_systems
dvdregiondvd_region
teleregionbroadcast_systems
lawsystemlegal_systems
railgaugerail_gauges
govform(retired; vocab-only, not on countries)

Retired intblock ids map via data/attribute_intblock_migrations.yaml (exported as data/datasets/attribute_intblock_migrations.json).

scope_category values

ValueMeaning
igoStanding intergovernmental organization with secretariat/HQ
treaty_bodyTreaty, protocol, or convention (parties are members)
policy_forumForum, process, or club without full IGO personality
reference_enumerationNamed geographic or set grouping (not attribute partitions)

Optional field; high-visibility and status: formal records should set it. Validation warns (non-blocking) when status: formal and scope_category is missing.

Boundaries vs treaties in partof

partof expresses organizational hierarchy, not “established by treaty X”. Treaty nesting (protocol → convention) is allowed. Organization → pure treaty links should be described in text instead (see partof hierarchy validation).

Specialized UN agencies prefer partof: UN (not ECOSOC alone).

Intblock id naming

  • Uppercase ASCII letters and digits only. Filename stem must match id exactly (case-sensitive).
  • Prefer the official acronym the organization uses (NATO, OECD, AUKUS).
  • No hyphens or spaces: drop punctuation (NORTHSEASUMMIT, FATFGREYLIST).
  • If two bodies share an acronym, keep the well-known id and disambiguate the other (sports/ICC vs criminal-court alias) via intblocks_aliases.json — do not silently reuse an id.
  • Do not invent nonce abbreviations that the organization itself does not use.
  • Typos in existing ids are fixed through the alias mechanism (rename + alias), not by leaving a misspelled primary key.

Directory vs blocktype

  • The directory under data/intblocks/ is the primary blocktype and must exist in data/blocktypes/blocktypes.yaml.
  • The YAML blocktype list may include additional keys (military + political).
  • Thin categories (few records) are allowed; empty directories should be removed.
  • Do not create a new category folder without adding the blocktype to the taxonomy in the same PR.