glam/data/person/ID_NL-ZH-ROT_198X_NL-UT-UTR_XXXX_MICHAEL-WILLEMS.json
kempersc 855fff5962 data(person): resolve PPID locations and enrich profiles
- Rename 512 person files from XX-XX-XXX placeholders to proper GeoNames locations
- Update 2,463 profiles with enriched data
- Add 512 new person profiles (AU, international heritage professionals)
- PPID format: ID_{birth-loc}_{decade}_{work-loc}_{custodian}_{NAME}
2026-01-09 21:09:28 +01:00

237 lines
No EOL
7.7 KiB
JSON

{
"ppid": "ID_NL-ZH-ROT_198X_NL-UT-UTR_XXXX_MICHAEL-WILLEMS",
"ppid_type": "ID",
"ppid_components": {
"type": "ID",
"first_location": "NL-ZH-ROT",
"first_date": "198X",
"last_location": "NL-UT-UTR",
"last_date": "XXXX",
"name_tokens": [
"MICHAEL",
"WILLEMS"
],
"last_location_source": "inferred_current_settlement",
"first_date_source": "inferred_birth_decade.primary_value",
"first_date_alternatives": [
"199X"
],
"first_location_source": "inferred_birth_settlement"
},
"name": {
"full_name": "Michael Willems",
"display_name": "Michael Willems",
"name_romanized": null,
"name_tokens": [
"MICHAEL",
"WILLEMS"
],
"source": "linkedin_profile"
},
"birth_date": {
"edtf": "XXXX",
"precision": "unknown",
"note": "See inferred_birth_decade for heuristic estimate"
},
"is_living": true,
"heritage_relevance": {
"is_heritage_relevant": true,
"heritage_types": [
"M",
"A",
"R"
],
"rationale": "Worked at Inspectie Overheidsinformatie en Erfgoed (Heritage Inspectorate) and Belasting- en douanemuseum (Tax Museum). History degree with research assistant experience on historical projects (Koerbagh, Wyermars, Santvoort)."
},
"affiliations": [],
"profile_data": {
"name": "Michael Willems",
"linkedin_url": "https://www.linkedin.com/in/michael-willems-757b3272",
"headline": "Onderzoeksmedewerker",
"current_position": "Onderzoeksmedewerker at Inspectie van het Onderwijs",
"location": "The Randstad, Netherlands",
"connections": "69 connections • 70 followers",
"total_experience": "10 years and 4 months",
"experience": [
{
"title": "Onderzoeksmedewerker",
"company": "Inspectie van het Onderwijs",
"duration": "Oct 2025 - Present",
"location": "Utrecht, Nederland",
"current": true
},
{
"title": "Junior Onderzoeksmedewerker (detachering)",
"company": "Inspectie Overheidsinformatie en Erfgoed",
"duration": "May 2025 - Sep 2025 • 4 months",
"location": "Den Haag, Zuid-Holland, Nederland"
},
{
"title": "Adviseur Bedrijfsvoering (BPZ)",
"company": "Belastingdienst",
"duration": "Oct 2023 - Sep 2025 • 1 year and 11 months",
"location": "Den Haag, Zuid-Holland, Nederland"
},
{
"title": "Bedrijfsadviseur Parlementaire Enquête Fraudebeleid En Dienstverlening",
"company": "Belastingdienst",
"duration": "Aug 2022 - Sep 2023 • 1 year and 1 month",
"location": "Den Haag, Zuid-Holland, Nederland"
},
{
"title": "Depotmedewerker (detachering)",
"company": "Belasting- en douanemuseum",
"duration": "Oct 2024 - Apr 2025 • 6 months",
"location": "Den Haag, Zuid-Holland, Nederland"
},
{
"title": "Assistent-onderzoeker Project-gebroeders Koerbagh",
"company": "Onafhankelijk",
"duration": "Jan 2019 - May 2022 • 3 years and 4 months"
},
{
"title": "Gastonderzoeker Project-Cuffeler",
"company": "Erasmus Universiteit Rotterdam",
"duration": "Jan 2018 - Jan 2018"
},
{
"title": "Algemeen Facilitair Medewerker",
"company": "RWSF Facilitaire Dienstverlening",
"duration": "Jan 2016 - Jan 2017 • 1 year",
"location": "Rotterdam, Zuid-Holland, Nederland"
},
{
"title": "Assistent-onderzoeker Projecten-Koerbagh, Wyermars En Santvoort",
"company": "Onafhankelijk",
"duration": "Jan 2013 - Jan 2016 • 3 years"
}
],
"education": [
{
"institution": "Erasmus University Rotterdam",
"degree": "Master of Arts (MA)",
"years": "2009 - 2011 • 2 years"
},
{
"institution": "Erasmus University Rotterdam",
"degree": "Bachelor of Arts (BA), Geschiedenis",
"years": "2006 - 2009 • 3 years"
}
],
"languages": [
"Nederlands - Native or bilingual proficiency",
"Engels",
"Duits"
]
},
"web_claims": [],
"source_observations": [
{
"source_file": "/Users/kempersc/apps/glam/data/custodian/person/entity/michael-willems-757b3272_20251212T221700Z.json",
"observed_on": "2025-12-12T22:17:00Z",
"extraction_agent": "claude-opus-4.5"
}
],
"enrichment_metadata": {
"birth_date_search": {
"attempted": false,
"notes": "Not yet searched - requires manual enrichment"
}
},
"provenance": {
"created_at": "2026-01-09T17:29:48.558529+00:00",
"created_by": "generate_ppids.py",
"source_files": [
"/Users/kempersc/apps/glam/data/custodian/person/entity/michael-willems-757b3272_20251212T221700Z.json"
],
"modified_at": "2026-01-09T19:50:58.570161+00:00",
"modified_by": "enrich_ppids.py"
},
"linkedin_slug": "michael-willems-757b3272",
"ppid_history": [
{
"previous_ppid": "ID_XX-XX-XXX_XXXX_XX-XX-XXX_XXXX_MICHAEL-WILLEMS",
"new_ppid": "ID_XX-XX-XXX_XXXX_NL-UT-UTR_XXXX_MICHAEL-WILLEMS",
"changed_at": "2026-01-09T18:58:13.465444+00:00",
"reason": "observation_based_inference",
"inferred_fields": [
"inferred_current_settlement"
]
},
{
"previous_ppid": "ID_XX-XX-XXX_XXXX_NL-UT-UTR_XXXX_MICHAEL-WILLEMS",
"new_ppid": "ID_NL-ZH-ROT_198X_NL-UT-UTR_XXXX_MICHAEL-WILLEMS",
"changed_at": "2026-01-09T19:15:33.970595+00:00",
"reason": "observation_based_inference",
"inferred_fields": [
"inferred_birth_decade",
"inferred_birth_settlement"
]
}
],
"inferred_birth_decade": {
"values": [
"198X",
"199X"
],
"edtf": "[198X,199X]",
"edtf_meaning": "one of: 1980s or 1990s",
"precision": "decade_set",
"primary_value": "198X",
"primary_rationale": "1988 is in 198X, but range extends into 199X",
"confidence": "very_low",
"inference_provenance": {
"method": "earliest_education_heuristic",
"inference_chain": [
{
"step": 1,
"observation": "Education record found",
"source_field": "profile_data.education",
"source_value": {
"institution": "Erasmus University Rotterdam",
"degree": "Bachelor of Arts (BA), Geschiedenis",
"date_range": "2006 - 2009 • 3 years"
}
},
{
"step": 2,
"extraction": "Start year extracted from date_range",
"extracted_value": 2006
},
{
"step": 3,
"assumption": "Education entry age is approximately 18 (±3 years)",
"rationale": "Standard entry age for this education level in Netherlands/Europe",
"confidence_impact": "Assumption introduces uncertainty; actual age may vary ±3 years"
},
{
"step": 4,
"calculation": "2006 - 18 = 1988",
"result": "Estimated birth year: 1988",
"range": "1985-1991 (accounting for ±3 year variance)"
},
{
"step": 5,
"generalization": "Birth year range spans decade boundary",
"input_range": [
1985,
1991
],
"output": [
"198X",
"199X"
],
"edtf": "[198X,199X]",
"rationale": "Cannot determine which decade with certainty; using EDTF 'one of' set notation"
}
],
"assumptions": [
"Entry age for education/first job: 18 years (±3)",
"Career records are complete in LinkedIn profile"
],
"boundary_note": "Birth year estimate 1988 spans decades 198X/199X",
"inferred_at": "2026-01-09T19:50:58.570155+00:00",
"inferred_by": "enrich_ppids.py"
}
}
}