glam/data/person/ID_NL-ZH-ROT_200X_NL-ZH-ROT_XXXX_SANNE-GOEDHART.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

203 lines
No EOL
6.6 KiB
JSON

{
"ppid": "ID_NL-ZH-ROT_200X_NL-ZH-ROT_XXXX_SANNE-GOEDHART",
"ppid_type": "ID",
"ppid_components": {
"type": "ID",
"first_location": "NL-ZH-ROT",
"first_date": "200X",
"last_location": "NL-ZH-ROT",
"last_date": "XXXX",
"name_tokens": [
"SANNE",
"GOEDHART"
],
"first_date_source": "inferred_birth_decade.primary_value",
"first_location_source": "inferred_birth_settlement",
"last_location_source": "inferred_current_settlement",
"first_date_alternatives": [
"199X"
]
},
"name": {
"full_name": "Sanne Goedhart",
"display_name": "Sanne Goedhart",
"name_romanized": null,
"name_tokens": [
"SANNE",
"GOEDHART"
],
"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": [
"D"
],
"rationale": "Identified as heritage staff at Autoriteit Persoonsgegevens (AP) : Dutch DPA"
},
"affiliations": [],
"profile_data": {
"name": "Sanne Goedhart",
"linkedin_url": "https://www.linkedin.com/in/sanne-goedhart-6834771a6",
"headline": "Juridisch Ondersteuner bij Autoriteit Persoonsgegevens (Dutch DPA)",
"location": "Rotterdam, South Holland, Netherlands (NL)",
"connections": "292 connections • 293 followers",
"about": "Total Experience: 7 years and 4 months",
"experience": [
{
"title": "Juridisch Ondersteuner (JZWA)",
"company": "Autoriteit Persoonsgegevens (Dutch DPA)",
"date_range": "Oct 2023 - Present • 2 years",
"location": "Den Haag, Zuid-Holland, Nederland"
},
{
"title": "Secretary",
"company": "Rotterdam Jaguars Lacrosse",
"date_range": "Nov 2023 - Apr 2025 • 1 year and 5 months"
},
{
"title": "Secretaris Studie Commissie",
"company": "Juridische Faculteitsvereniging Rotterdam",
"date_range": "Sep 2022 - Jun 2023 • 9 months"
},
{
"title": "Werkstudent Sectie BBA",
"company": "Ten Holter Noordam advocaten",
"date_range": "Sep 2022 - Mar 2023 • 6 months"
}
],
"education": [
{
"degree": "Bachelor, Rechtsgeleerdheid",
"institution": "Erasmus Universiteit Rotterdam",
"date_range": "2020 - 2023 • 3 years"
},
{
"degree": "Minor, Safety, Security and Justice (SSJ)",
"institution": "Universiteit Leiden en TU Delft",
"date_range": "2022 - 2022"
},
{
"degree": "Master, Health Law",
"institution": "Erasmus Universiteit Rotterdam",
"date_range": "2023 - 2025 • 2 years"
},
{
"degree": "Master, Health Economics, Policy and Law",
"institution": "Erasmus School of Health Policy & Management (ESHPM)",
"date_range": "2024 - 2025 • 1 year"
}
],
"skills": [],
"languages": [],
"profile_image_url": "https://media.licdn.com/dms/image/v2/D4E03AQFqA3Lv43wSmA/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1676022884876?e=2147483647&v=beta&t=9V6kIdxcNH_CeeY4kUzc8j9wo4k1aHz1cHo_Vb0dJos"
},
"web_claims": [],
"source_observations": [
{
"source_file": "/Users/kempersc/apps/glam/data/custodian/person/entity/sanne-goedhart-6834771a6_20251214T112814Z.json",
"observed_on": "2025-12-14T11:28:14.692777+00:00",
"extraction_agent": "claude-sonnet-4-20250514"
}
],
"enrichment_metadata": {
"birth_date_search": {
"attempted": false,
"notes": "Not yet searched - requires manual enrichment"
}
},
"provenance": {
"created_at": "2026-01-09T17:29:48.532976+00:00",
"created_by": "generate_ppids.py",
"source_files": [
"/Users/kempersc/apps/glam/data/custodian/person/entity/sanne-goedhart-6834771a6_20251214T112814Z.json"
],
"modified_at": "2026-01-09T19:51:28.148274+00:00",
"modified_by": "enrich_ppids.py"
},
"linkedin_slug": "sanne-goedhart-6834771a6",
"ppid_history": [
{
"previous_ppid": "ID_XX-XX-XXX_XXXX_XX-XX-XXX_XXXX_SANNE-GOEDHART",
"new_ppid": "ID_NL-ZH-ROT_200X_NL-ZH-ROT_XXXX_SANNE-GOEDHART",
"changed_at": "2026-01-09T17:43:08.364061+00:00",
"reason": "observation_based_inference",
"inferred_fields": [
"inferred_birth_decade",
"inferred_birth_settlement",
"inferred_current_settlement"
]
}
],
"inferred_birth_decade": {
"values": [
"199X",
"200X"
],
"edtf": "[199X,200X]",
"edtf_meaning": "one of: 1990s or 2000s",
"precision": "decade_set",
"primary_value": "200X",
"primary_rationale": "2002 is in 200X, 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 Universiteit Rotterdam",
"degree": "Bachelor, Rechtsgeleerdheid",
"date_range": "2020 - 2023 • 3 years"
}
},
{
"step": 2,
"extraction": "Start year extracted from date_range",
"extracted_value": 2020
},
{
"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": "2020 - 18 = 2002",
"result": "Estimated birth year: 2002",
"range": "1999-2005 (accounting for ±3 year variance)"
},
{
"step": 5,
"generalization": "Birth year range spans decade boundary",
"input_range": [
1999,
2005
],
"output": [
"199X",
"200X"
],
"edtf": "[199X,200X]",
"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 2002 spans decades 199X/200X",
"inferred_at": "2026-01-09T19:51:28.148266+00:00",
"inferred_by": "enrich_ppids.py"
}
}
}