Skip to content

Suppress redundant place-of-birth suggestions when a more precise location already exists #159

Description

@monneyboi

Problem

PoliLoom sometimes suggests adding a place of birth (P19) that is a less-precise ancestor of a location already recorded on the politician's Wikidata entry. This creates noise for reviewers and risks adding a redundant statement.

Example: Jonathan Le Tocq (Q923245) has place of birth = Castel (Q2070272) on Wikidata. PoliLoom's enrichment extracted Guernsey as a birthplace from a source. Castel is administratively contained within Guernsey via Wikidata's P131 chain:

Castel (Q2070272) →P131→ Guernsey (Q12348376) →P131→ Bailiwick of Guernsey (Q25230)

The suggestion isn't wrong, but it's less precise than what's already there and would be a downgrade if accepted.

Proposed solution

Use Wikidata's P131 hierarchy — already available from the imported dump — to detect containment relationships between birthplace entities. When an extracted birthplace is an ancestor (via P131 transitive closure) of an already-recorded birthplace, suppress or flag the suggestion as redundant.

The check should handle both directions:

  • Existing is more precise than suggestion (Castel → Guernsey): suppress the suggestion — it's a downgrade.
  • Existing is less precise than suggestion (Guernsey → Castel): keep the suggestion — it's an improvement.

This is a pure Wikidata-data operation; no LLM call or scraping needed.

Caveats

  • P131 coverage is not 100%. Broken chains (a missing P131 link anywhere in the hierarchy) will cause silent misses — the redundant suggestion slips through. This degrades gracefully (status quo is preserved), and coverage for ordinary populated places is good.
  • Ambiguous chains. P131 can have multiple values or "applies to part" qualifiers. A depth limit and ignoring qualified statements would mitigate misfires.
  • Country-level edges are inconsistent. The top of the P131 chain (country as direct P131 value) is the least reliable, but this only matters for birthplaces already recorded at country granularity.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    loomPoliloom core project issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions