Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Die Normalisierung von Datumsangaben ist Teil des Schritts “Metadata Enrichment and Normalization”. Dabei werden die im Mapping generierten rico:DateSet in rico:SingleDate oder rico:DateRange transformiert und die Daten in die korrekten Felder geschrieben. Die Normalisierung ist regelbasiert und kann konfiguriert werden. Wenn eine Normalisierung nicht möglich ist, kann das Datum nicht facetiert werden.

  • Normalisierung basiert auf ISO 8601.

  • Ein spezifischer Tag wird als Entität vom Typ rico:SingleDate modelliert.

  • Alles andere wird mit einer Entität vom Typ rico:DateRange modelliert.

  • Normalisierte Datum sind in rico:normalizedDateValue zu finden.

  • Qualifizierender Text kann aus dem Datum entfernt und in einem von zwei zusätzlichen Feldern gespeichert werden:

    • rico:dateQualifier: Text welcher auf eine Schätzung des Datums hindeutet (z.B. ca., um, etc.)

    • rico:certainty: Text welcher zusätzliche Informationen zum Datum enthält (z.B. Datiert nach Inschrift, genaues Datum nicht eruierbar, etc.)

  • Wenn die Normalisierung scheitert dann wird der Wert in rico:expressedDate gespeichert und als Entität rico:DateRange.

Prozess

  1. Alle Entitäten mit dem Typ rico:DateSet werden ausgewählt.

  2. Überprüfe ob das Attribut rico:expressedDate definiert ist.

    1. Entität ohne werden ignoriert und ein Report generiert.

  3. Entferne alle Leerzeichen am Anfang und am Ende des Wertes.

  4. Versuche jeden SingleDate Matcher in Reihenfolge mit einem vollen Abgleich.

    1. Abbruch bei Erfolg

  5. Suche Text mit dem Qualifier Filter.

    1. Gefundene Übereinstimmungen werden vom Wert entfernt und im Feld rico:dateQualifier angelegt.

  6. Suche Text mit dem Certainty Filter.

    1. Gefundene Übereinstimmungen werden vom Wert entfernt und im Feld rico:certainty angelegt.

  7. Entferne alle Leerzeichen im Wert.

  8. Versuche jeden DateRange Matcher in Reihenfolge mit einem vollen Abgleich.

Konfiguration

Besteht aus vier Teilen. Jeder wird in einem separaten Schritt angewendet. Beim erstellen muss unbedingt die Reihenfolge bedacht werden.

SingleDate Matcher

File: single-date-matchers.txt

Beispiel: (?<year>\d{4})-(?<month>[0-2][0-9])-(?<day>[0-3][0-9])

Muss die Gruppen year, month und day enthalten.

DateRange Matcher

File: date-range-matchers.txt

Beispiel: (?<singleYear>[0-2][0-9]{3})

Muss entweder die Gruppe singleYear enthalten oder mindestens die Gruppen fromYear und untilYear. Bei den letzten beiden kann auch fromMonth, fromDay, untilMonth und untilDay verwendet werden.

Certainty Filter

File: certainty.txt:

Beispiel: \(?(?<certainty>Datiert nach Inschrift)\)?

Jede Regex muss die Gruppe certainty enthalten.

Qualifier Filter

File: qualifier.txt

Beispiel: [\s+]\(?(?<qualifier>um)\)?[^a-zA-Z]

Jede Regex muss die Gruppe qualifier enthalten.

Namen von Monaten

Für die Normalisierung von Daten in Textform zu ISO 8601 werden aktuell die folgenden Namen verstanden und verarbeitet. Der Code kann mit zusätzlichen Varianten ergänzt werden. Diese werden angewendet wenn die Werte in den Gruppen month, fromMonth & untilMonth nicht numerisch sind.

  • Januar, Jan, janvier, janv., gennaio, gen

  • Februar, Feb, février, févr., febbraio, feb

  • März, Mär, mars, mars, marzo, mar

  • April, Apr, avril, avr., aprile, apr

  • Mai, Mai, mai, mai, maggio, mag

  • Juni, Jun, juin, juin, giugno, giu

  • Juli, Jul, juillet, juil., luglio, lug

  • August, Aug, août, août, agosto, ago

  • September, Sep, septembre, sept., settembre, set

  • Oktober, Okt, octobre, oct., ottobre, ott

  • November, Nov, novembre, nov., novembre, nov

  • Dezember, Dez, décembre, déc., dicembre, dic

Beispiele

Input

Class

Attributes and Values

19230817

rico:SingleDate

rico:normalizedDateValue: 1923-08-17

ca. 1970 er - 1980 er

rico:DateRange

rico:expressedDate: 1970 er - 1980 er

rico:qualifier: ca.

1987 - 1994

rico:DateRange

rico:normalizedDateValue: 1987/1994

1978

rico:DateRange

rico:normalizedDateValue: 1978

1961 ou avant

rico:DateRange

rico:expressedDate: 1961 ou avant

1930-1939, genaues Datum nicht eruierbar

rico:DateRange

rico:normalizedDateValue: 1930/1939

rico:certainty: genaues Datum nicht eruierbar

02.10.1999

rico:SingleDate

rico:normalizedDateValue: 1999-10-02

1.- 12. 8. 1996

rico:DateRange

rico:normalizedDateValue: 1996-08-07/12

1913 - 1919 (Datiert nach Inschrift)

rico:DateRange

rico:normalizedDateValue: 1913/1919

rico:certainty: Datiert nach Inschrift

(Keine Datumsangabe)

rico:DateRange

rico:expressedDate: Keine Datumsangabe

1941 (Um)

rico:DateRange

rico:normalizedDateValue: 1941

rico:qualifier: Um

Dezember 1996

rico:DateRange

rico:normalizedDateValue: 1996-12

11 avril 1992

rico:SingleDate

rico:normalizedDateValue: 1992-04-11

17-22 ottobre 1930

rico:DateRange

rico:normalizedDateValue: 1930-10-17/22

01 février 1967-02 avril 1967

rico:DateRange

rico:normalizedDateValue: 1967-02-01/1967-04-02

Octobre-novembre 1925

rico:DateRange

rico:normalizedDateValue: 1925-10/11

29 au 31 mars 1926

rico:DateRange

rico:normalizedDateValue: 1926-03-29/31

Mittelalter

rico:DateRange

rico:expressedDate: Mittelalter

  • No labels