- Add inferred birth dates using EDTF notation - Add inferred birth/current settlements - Enrich employment history with temporal data - Add heritage sector relevance scores - Improve PPID component tracking - Update .gitignore with large file patterns (warc, nt, trix, geonames.db)
185 lines
No EOL
6.9 KiB
JSON
185 lines
No EOL
6.9 KiB
JSON
{
|
|
"ppid": "ID_NL-NH-AMS_197X_NL-NH-HAA_XXXX_FRANK-SMEETS",
|
|
"ppid_type": "ID",
|
|
"ppid_components": {
|
|
"type": "ID",
|
|
"first_location": "NL-NH-AMS",
|
|
"first_date": "197X",
|
|
"last_location": "NL-NH-HAA",
|
|
"last_date": "XXXX",
|
|
"name_tokens": [
|
|
"FRANK",
|
|
"SMEETS"
|
|
],
|
|
"first_location_source": "inferred_birth_settlement",
|
|
"last_location_source": "inferred_current_settlement",
|
|
"first_date_source": "inferred_birth_decade.primary_value",
|
|
"first_date_alternatives": [
|
|
"198X"
|
|
]
|
|
},
|
|
"name": {
|
|
"full_name": "Frank Smeets",
|
|
"display_name": "Frank Smeets",
|
|
"name_romanized": null,
|
|
"name_tokens": [
|
|
"FRANK",
|
|
"SMEETS"
|
|
],
|
|
"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": [
|
|
"A"
|
|
],
|
|
"score": 0.35,
|
|
"score_rationale": "Very sparse LinkedIn profile makes assessment difficult. (1) No job experience listed despite profile existing (+0.00). (2) Only education data: UvA 1997-2005 (8 years, no degree specified). (3) Located in Haarlem with 81 connections, suggesting possible heritage connection. (4) Identified as heritage staff at Nationaal Archief based on external list, but no corroborating LinkedIn data. (5) Without visible job titles, institutional affiliations, or professional activity, heritage relevance cannot be substantiated beyond initial identification. Score reflects insufficient data rather than low relevance.",
|
|
"rationale": "Identified as heritage staff at Nationaal Archief"
|
|
},
|
|
"affiliations": [],
|
|
"profile_data": {
|
|
"name": "Frank Smeets",
|
|
"linkedin_url": "https://www.linkedin.com/in/frank-smeets-088284375",
|
|
"headline": "",
|
|
"location": "Haarlem, North Holland, Netherlands (NL)",
|
|
"connections": "81 connections • 81 followers",
|
|
"about": "",
|
|
"experience": [],
|
|
"education": [
|
|
{
|
|
"institution": "Universiteit van Amsterdam (University of Amsterdam)",
|
|
"date_range": "1997 - 2005 • 8 years"
|
|
}
|
|
],
|
|
"skills": [],
|
|
"languages": [],
|
|
"profile_image_url": "https://media.licdn.com/dms/image/v2/D5603AQF4aUx57z9f5g/profile-displayphoto-scale_200_200/B56ZiFyhxMHMAg-/0/1754591273123?e=2147483647&v=beta&t=q-B8QGI_rn0gBMpF6O9nt6YCTq50rKRNDwDCPPn8ROc"
|
|
},
|
|
"web_claims": [],
|
|
"source_observations": [
|
|
{
|
|
"source_file": "/Users/kempersc/apps/glam/data/custodian/person/entity/frank-smeets-088284375_20251214T112857Z.json",
|
|
"observed_on": "2025-12-14T11:28:57.916496+00:00",
|
|
"extraction_agent": "claude-sonnet-4-20250514"
|
|
}
|
|
],
|
|
"enrichment_metadata": {
|
|
"birth_date_search": {
|
|
"attempted": false,
|
|
"notes": "Not yet searched - requires manual enrichment"
|
|
},
|
|
"deep_enrichment": {
|
|
"performed_on": "2026-01-11T19:30:00Z",
|
|
"performed_by": "opencode-claude-sonnet-4",
|
|
"sources_consulted": [
|
|
"https://www.linkedin.com/in/frank-smeets-088284375"
|
|
],
|
|
"claims_added": 0,
|
|
"notes": "Heritage relevance score assessment. Very sparse LinkedIn profile with no job experience listed. Only education at UvA (1997-2005) visible. Profile has 81 connections and is located in Haarlem. Identified as heritage staff at Nationaal Archief from external source but cannot corroborate from LinkedIn data. Score 0.35 reflects insufficient data for proper assessment."
|
|
}
|
|
},
|
|
"provenance": {
|
|
"created_at": "2026-01-09T17:29:48.679227+00:00",
|
|
"created_by": "generate_ppids.py",
|
|
"source_files": [
|
|
"/Users/kempersc/apps/glam/data/custodian/person/entity/frank-smeets-088284375_20251214T112857Z.json"
|
|
],
|
|
"modified_at": "2026-01-11T19:30:00Z",
|
|
"modified_by": "opencode-claude-sonnet-4",
|
|
"modification_notes": "Deep enrichment: Added heritage_relevance.score (0.35) and score_rationale. Very sparse LinkedIn profile with no job experience - score reflects insufficient data for proper heritage relevance assessment."
|
|
},
|
|
"linkedin_slug": "frank-smeets-088284375",
|
|
"ppid_history": [
|
|
{
|
|
"previous_ppid": "ID_XX-XX-XXX_XXXX_XX-XX-XXX_XXXX_FRANK-SMEETS",
|
|
"new_ppid": "ID_NL-NH-AMS_XXXX_NL-NH-HAA_XXXX_FRANK-SMEETS",
|
|
"changed_at": "2026-01-09T17:43:03.245117+00:00",
|
|
"reason": "observation_based_inference",
|
|
"inferred_fields": [
|
|
"inferred_birth_settlement",
|
|
"inferred_current_settlement"
|
|
]
|
|
},
|
|
{
|
|
"previous_ppid": "ID_NL-NH-AMS_XXXX_NL-NH-HAA_XXXX_FRANK-SMEETS",
|
|
"new_ppid": "ID_NL-NH-AMS_197X_NL-NH-HAA_XXXX_FRANK-SMEETS",
|
|
"changed_at": "2026-01-09T19:18:14.947169+00:00",
|
|
"reason": "observation_based_inference",
|
|
"inferred_fields": [
|
|
"inferred_birth_decade"
|
|
]
|
|
}
|
|
],
|
|
"inferred_birth_decade": {
|
|
"values": [
|
|
"197X",
|
|
"198X"
|
|
],
|
|
"edtf": "[197X,198X]",
|
|
"edtf_meaning": "one of: 1970s or 1980s",
|
|
"precision": "decade_set",
|
|
"primary_value": "197X",
|
|
"primary_rationale": "1979 is in 197X, but range extends into 198X",
|
|
"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": "Universiteit van Amsterdam (University of Amsterdam)",
|
|
"degree": "(no degree specified)",
|
|
"date_range": "1997 - 2005 • 8 years"
|
|
}
|
|
},
|
|
{
|
|
"step": 2,
|
|
"extraction": "Start year extracted from date_range",
|
|
"extracted_value": 1997
|
|
},
|
|
{
|
|
"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": "1997 - 18 = 1979",
|
|
"result": "Estimated birth year: 1979",
|
|
"range": "1976-1982 (accounting for ±3 year variance)"
|
|
},
|
|
{
|
|
"step": 5,
|
|
"generalization": "Birth year range spans decade boundary",
|
|
"input_range": [
|
|
1976,
|
|
1982
|
|
],
|
|
"output": [
|
|
"197X",
|
|
"198X"
|
|
],
|
|
"edtf": "[197X,198X]",
|
|
"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 1979 spans decades 197X/198X",
|
|
"inferred_at": "2026-01-09T19:51:05.520930+00:00",
|
|
"inferred_by": "enrich_ppids.py"
|
|
}
|
|
}
|
|
} |