- 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}
235 lines
No EOL
8.2 KiB
JSON
235 lines
No EOL
8.2 KiB
JSON
{
|
|
"ppid": "ID_NL-ZH-ROT_198X_NL-ZH-ROT_XXXX_ANDRE-CASTRO",
|
|
"ppid_type": "ID",
|
|
"ppid_components": {
|
|
"type": "ID",
|
|
"first_location": "NL-ZH-ROT",
|
|
"first_date": "198X",
|
|
"last_location": "NL-ZH-ROT",
|
|
"last_date": "XXXX",
|
|
"name_tokens": [
|
|
"ANDRE",
|
|
"CASTRO"
|
|
],
|
|
"first_date_source": "inferred_birth_decade",
|
|
"first_location_source": "inferred_birth_settlement",
|
|
"last_location_source": "inferred_current_settlement"
|
|
},
|
|
"name": {
|
|
"full_name": "Andre Castro",
|
|
"display_name": "Andre Castro",
|
|
"name_romanized": null,
|
|
"name_tokens": [
|
|
"ANDRE",
|
|
"CASTRO"
|
|
],
|
|
"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 DANS"
|
|
},
|
|
"affiliations": [],
|
|
"profile_data": {
|
|
"name": "Andre Castro",
|
|
"linkedin_url": "https://www.linkedin.com/in/andre-castr0",
|
|
"headline": "Software engineer & team lead",
|
|
"location": "Rotterdam, South Holland, Netherlands (NL)",
|
|
"connections": "246 connections • 249 followers",
|
|
"about": "Olá! My name is André Castro (he/him). I am a software practitioner working within Total Experience: 9 years and 11 months",
|
|
"experience": [
|
|
{
|
|
"title": "Senior Software Developer Team Lead",
|
|
"company": "DANS",
|
|
"date_range": "Oct 2024 - Present • 1 year",
|
|
"location": "The Hague, South Holland, Netherlands"
|
|
},
|
|
{
|
|
"title": "Data Manager",
|
|
"company": "Ruisdael Observatory",
|
|
"date_range": "Nov 2022 - Present • 2 years and 2 months",
|
|
"location": "Delft, South Holland, Netherlands"
|
|
},
|
|
{
|
|
"title": "Senior Data Scientist",
|
|
"company": "Ontotext",
|
|
"date_range": "Feb 2022 - May 2022 • 3 months"
|
|
},
|
|
{
|
|
"title": "Ontology Developer Software Engineer",
|
|
"company": "Leibniz Information Center for Science & Technology (TIB)",
|
|
"date_range": "Jun 2020 - Nov 2021 • 1 year and 5 months",
|
|
"location": "Hannover, Lower Saxony, Germany",
|
|
"description": "Implementing automated deploying (CI/CD) pipelines and stand-alone virtual-boxes for the testing and deployment of research-data-management and ontology-curation software, using Ansible, Vagrant and Gitlab CI/CD, pytest. Developing of automated tooling for ontology curation. Ontology curation and testing with tools with Github actions, Apache Jena suite, ROBOT OBO Tool, and Protégè, SPARQL. Creation knowledge graphs using Apache Jena suite, triple-stores, RDFLib."
|
|
},
|
|
{
|
|
"title": "Academic Tutor",
|
|
"company": "Willem de Kooning Academy Rotterdam",
|
|
"date_range": "Sep 2014 - Apr 2020 • 5 years and 7 months",
|
|
"location": "Rotterdam Area, Netherlands",
|
|
"description": "Since 2014 I work as a part-time higher education tutor at Willem de Kooning Academy Rotterdam and its postgraduate department Piet Zwart Institute. I have been teaching web-design and and multichannel publishing to BA programs. At the Master's program of Experimental Publishing I guide students in they graduation project development and a class on prototyping (which encompasses the Linux environment and command line tools as prototyping space, server administration, Python programming, Wiki administration, as well as concept development) Show less"
|
|
},
|
|
{
|
|
"title": "Python Developer",
|
|
"company": "DMC, a TVT Company",
|
|
"date_range": "Mar 2019 - Jan 2020 • 10 months",
|
|
"location": "Amsterdam Area, Netherlands",
|
|
"description": "My responsibilities were focused on improving and maintaining the set of Python (REST API and webui) microservices (developed with Flask, SQLAlchemy, Jinja2, Celery, pytest, tox) for schedule and media processing, tracking, validation and notification, as part of a Python development team. As well troubleshoot operational issues."
|
|
}
|
|
],
|
|
"education": [
|
|
{
|
|
"degree": "Bachelor of Arts - BA, Sonic Arts",
|
|
"institution": "Middlesex University",
|
|
"date_range": "2004 - 2007 • 3 years"
|
|
}
|
|
],
|
|
"skills": [
|
|
"software",
|
|
"education",
|
|
"teaching",
|
|
"design",
|
|
"publishing",
|
|
"prototyping",
|
|
"linux",
|
|
"server",
|
|
"administration",
|
|
"python",
|
|
"programming",
|
|
"less",
|
|
"api",
|
|
"microservices",
|
|
"flask",
|
|
"processing",
|
|
"validation",
|
|
"pipelines",
|
|
"testing",
|
|
"deployment",
|
|
"research",
|
|
"management",
|
|
"ansible",
|
|
"vagrant",
|
|
"gitlab",
|
|
"github",
|
|
"robot",
|
|
"stores",
|
|
"higher education",
|
|
"web design",
|
|
"server administration",
|
|
"concept development",
|
|
"data management"
|
|
],
|
|
"languages": [
|
|
{
|
|
"language": "Portuguese",
|
|
"proficiency": "Native or bilingual proficiency"
|
|
},
|
|
{
|
|
"language": "English",
|
|
"proficiency": "Full professional proficiency"
|
|
},
|
|
{
|
|
"language": "Spanish",
|
|
"proficiency": "Professional working proficiency"
|
|
}
|
|
],
|
|
"profile_image_url": "https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2"
|
|
},
|
|
"web_claims": [],
|
|
"source_observations": [
|
|
{
|
|
"source_file": "/Users/kempersc/apps/glam/data/custodian/person/entity/andre-castr0_20251214T110511Z.json",
|
|
"observed_on": "2025-12-14T11:05:11.043470+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.647114+00:00",
|
|
"created_by": "generate_ppids.py",
|
|
"source_files": [
|
|
"/Users/kempersc/apps/glam/data/custodian/person/entity/andre-castr0_20251214T110511Z.json"
|
|
],
|
|
"modified_at": "2026-01-09T19:50:47.495261+00:00",
|
|
"modified_by": "enrich_ppids.py"
|
|
},
|
|
"linkedin_slug": "andre-castr0",
|
|
"ppid_history": [
|
|
{
|
|
"previous_ppid": "ID_XX-XX-XXX_XXXX_XX-XX-XXX_XXXX_ANDRE-CASTRO",
|
|
"new_ppid": "ID_NL-ZH-ROT_198X_NL-ZH-ROT_XXXX_ANDRE-CASTRO",
|
|
"changed_at": "2026-01-09T17:42:56.560137+00:00",
|
|
"reason": "observation_based_inference",
|
|
"inferred_fields": [
|
|
"inferred_birth_decade",
|
|
"inferred_birth_settlement",
|
|
"inferred_current_settlement"
|
|
]
|
|
}
|
|
],
|
|
"inferred_birth_decade": {
|
|
"value": "198X",
|
|
"edtf": "198X",
|
|
"precision": "decade",
|
|
"confidence": "low",
|
|
"inference_provenance": {
|
|
"method": "earliest_education_heuristic",
|
|
"inference_chain": [
|
|
{
|
|
"step": 1,
|
|
"observation": "Education record found",
|
|
"source_field": "profile_data.education",
|
|
"source_value": {
|
|
"institution": "Middlesex University",
|
|
"degree": "Bachelor of Arts - BA, Sonic Arts",
|
|
"date_range": "2004 - 2007 • 3 years"
|
|
}
|
|
},
|
|
{
|
|
"step": 2,
|
|
"extraction": "Start year extracted from date_range",
|
|
"extracted_value": 2004
|
|
},
|
|
{
|
|
"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": "2004 - 18 = 1986",
|
|
"result": "Estimated birth year: 1986",
|
|
"range": "1983-1989 (accounting for ±3 year variance)"
|
|
},
|
|
{
|
|
"step": 5,
|
|
"generalization": "Convert to EDTF decade notation",
|
|
"input": 1986,
|
|
"output": "198X",
|
|
"rationale": "Decade precision appropriate for heuristic-based estimate"
|
|
}
|
|
],
|
|
"assumptions": [
|
|
"Entry age for education/first job: 18 years (±3)",
|
|
"Career records are complete in LinkedIn profile"
|
|
],
|
|
"inferred_at": "2026-01-09T19:50:47.495255+00:00",
|
|
"inferred_by": "enrich_ppids.py"
|
|
}
|
|
}
|
|
} |