Extractie¶
Overzicht¶
De extractielaag vormt de ingangspoort van het Wasstraat Archeologische Data systeem. Dit onderdeel leest en verwerkt diverse bronformaten en maakt de data beschikbaar voor verdere verwerking in het systeem.
Ondersteunde Bronformaten¶
De extractielaag kan gegevens inlezen uit een breed scala aan bronnen:
- Excel-bestanden (.xls, .xlsx)
- Word-documenten (.doc, .docx)
- Access-databases (.mdb, .accdb)
- CSV-bestanden (diverse scheidingstekens)
- XML-bestanden
- Gescande documenten (afbeeldingen, foto's)
Kernfunctionaliteiten¶
Zeichenkodering en Diacrieten¶
De extractielaag behandelt automatisch diverse tekencoderingsschema's (UTF-8, Latin-1, Windows-1252, etc.) en beheerst correct diakritische tekens (accenten, umlautsem, etc.). Dit is essentieel voor het verwerken van Nederlands-talige bronnen.
Tekenherkenning
Het systeem detecteert automatisch de tekencodering van bronbestanden en voert indien nodig conversies uit.
Formaatdetectie¶
Op basis van bestandsextensies en bestandsinhoud detecteert het systeem automatisch welke parser moet worden gebruikt. Dit maakt handmatige configuratie overbodig in veel gevallen.
Import-Modi¶
Eenmalige Imports¶
Geschikt voor enkelvoudige databronnen die eenmalig moeten worden ingelezen.
from extractie import Extractor
extractor = Extractor()
data = extractor.extract_once('bron_data.xlsx')
Periodieke Imports¶
Voor bronnen die regelmatig worden bijgewerkt, ondersteunt de extractielaag geplande imports:
- Dagelijkse synchronisatie
- Wekelijkse updates
- Maandelijkse integratieprocessen
Planning
Periodieke imports kunnen worden geconfigureerd via het configuratiemodule van Wasstraat Archeologische Data.
Architectuur¶
┌─────────────────────────────────┐
│ Diverse Bronformaten │
│ (Excel, Word, Access, CSV etc) │
└────────────┬────────────────────┘
│
▼
┌─────────────────────────────────┐
│ Formaatdetectie & Parsing │
│ (Python-gebaseerde Parser) │
└────────────┬────────────────────┘
│
▼
┌─────────────────────────────────┐
│ Tekencodering Normalisatie │
│ (UTF-8, Diakritische tekens) │
└────────────┬────────────────────┘
│
▼
┌─────────────────────────────────┐
│ Geïntegreerde Datasets │
└─────────────────────────────────┘
Verwerkingsflow¶
- Brondetectie: Identificatie van het brontype en bestandsindeling
- Parsing: Omzetting van het bronformat naar interne representatie
- Normalisatie: Harmonisering van tekencodering en diakritische tekens
- Validatie: Eerste controle op structuur en integriteit
- Opslag: Doorgifte naar de SingleStore laag
Best Practices¶
Gegevenskwaliteit
Zorg ervoor dat bronbestanden consistent zijn geformatteerd. Inconsistenties kunnen tot gevolg hebben dat de extractie minder accuraat verloopt.
- Controleer bronbestanden op typografische fouten voordat deze worden ingeladen
- Vermijd speciale karakters in kolomnamen waar mogelijk
- Zorg voor consistente datuumnotaties (aanbevolen: ISO 8601 formaat: YYYY-MM-DD)
Foutafhandeling¶
De extractielaag implementeert robuuste foutafhandeling:
- Encoding-fouten: Automatische fallback naar alternatieve coderingsschema's
- Parsing-fouten: Gedetailleerde foutmeldingen met regelreferenties
- Structuurfouten: Waarschuwingen voor onverwachte bestandsstructuren
Kritieke Fouten
Bij kritieke fouten wordt het importproces gestopt en ontvangt de beheerder een gedetailleerde foutrapport.