Repository navigation
Person matching: lifetime guard (Wikidata death dates), curated Seimas alignments - #76
Merged
Merged
Conversation
…imas alignments Follow-ups of the audit (#75), which found one wrong exact-name link and a duplicate person. Lifetime guard: ltlod-reconcile persons now reads P570 and writes schema:deathDate into seimas/alignments.trig (148 persons). Every name matcher (VMI declarations, VTEK contacts/PINREG/lobbyists, VRK candidates and campaign participants) loads it and refuses any candidate who had died before the source's date, so a namesake who had died is no candidate at all. It drops two 2020 candidate links: "Jonas KUBILIUS" (LSDDP) -> the mathematician († 2011), found by the audit, and "Algirdas GRICIUS" (Greens) -> the member of 2000–2004 († 2013), which the sample had not drawn. 1 719 candidate results, 678 -> persons/ (was 680). Curated alignments: etl/seimas/data/wikidata-alignments.csv (asmens_id -> QID, --curated) aligns persons whose LRS and Wikidata labels differ. The one entry, 12253 "Jaroslaw Narkiewicz" = Q1282407 "Jaroslav Narkevič", makes the officials pipeline reuse the Seimas person for his 2019–2020 ministry instead of minting persons/Q1282407/ (350 persons: 162 reused, 188 new); the Lithuanian spelling goes into declarations/data/aliases.csv, so his PINREG declaration and two lobbying contacts now link to 12253 by alias (64 VTEK matches to review, was 67). Reconcile fix: the candidate index kept only the first WDQS row's label per item, so matching depended on row order — "Linas Linkevičius" vs "Linas Antanas Linkevičius". Every label is indexed now: 758 of 831 Seimas persons aligned (was 738; the 20 new ones checked against their lt labels), none lost. 13 officials' offices remain attributed by exact-name (was 19: four of those persons are now aligned by QID). Audit sampler: recount the population even for review files it keeps (it wrote an empty population.csv otherwise). SHACL: schema:deathDate on the Person shape. Datasets whose only change was the build timestamp are left as committed. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-ups of the audit in #75, which found one wrong
exact-namelink and one duplicate person.Lifetime guard
ltlod-reconcile personsnow reads Wikidata's date of death (P570) and writesschema:deathDateintoseimas/alignments.trig(148 persons). Every name matcher — VMI declarations, VTEK contacts / PINREG / lobbyists, VRK candidates and campaign participants — loads it (--alignments) and refuses any candidate who had died before the source's date: a namesake who had died is no candidate at all, so the living namesake (if unique) still resolves.It drops two 2020 candidate links, both to Seimas members who had died:
persons/122/(† 2011) — the audit's one wrong link;persons/41/, member 2000–2004 († 2013) — not in the sample.1 719 candidate results, 678 →
persons/(was 680).Curated Seimas–Wikidata alignments
etl/seimas/data/wikidata-alignments.csv(asmens_id → QID,--curated) aligns persons whose LRS and Wikidata labels differ. The one entry —12253"Jaroslaw Narkiewicz" = Q1282407 "Jaroslav Narkevič" — makes the officials pipeline reuse the Seimas person for his 2019–2020 ministry instead of mintingpersons/Q1282407/(350 persons: 162 reused, 188 new). The Lithuanian spelling is added todeclarations/data/aliases.csv(shared by VMI and VTEK), so his PINREG declaration and two lobbying contacts link to12253byalias. 64 VTEK matches to review (was 67).Reconcile fix found on the way
The candidate index kept only the first WDQS row's label per item, so a match depended on row order ("Linas Linkevičius" vs "Linas Antanas Linkevičius" — the first run of this branch lost six alignments). Every label is indexed now: 758 of 831 Seimas persons aligned (was 738), the 20 new ones checked against their
ltlabels, none lost. 13 officials' offices remain attributed by exact-name (was 19 — four of those persons are now aligned by QID).Also
population.csvotherwise); the recorded table in CLAUDE.md shows the population after these fixes;schema:deathDateon the Person shape; docs in CLAUDE.md, README, ONTOLOGY-NOTES;persons/links.🤖 Generated with Claude Code