Extend lists, add MDConcFieldRelatedWorksType for specifying target

fields in imports with unspecified relatedWorks (like LIDO)
This commit is contained in:
Joshua Ramon Enslin 2023-10-16 16:46:17 +02:00
parent 301efa38c3
commit 91a3c0e059
Signed by: jrenslin
GPG Key ID: 46016F84501B70AE
4 changed files with 157 additions and 17 deletions

View File

@ -24,10 +24,14 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
'http://terminology.lido-schema.org/eventType/production' => 1,
'Leipoldt, J.' => 1,
'Rohleder, Walter, Reichenbach' => 1,
// "Unknown event"
'Ereignis' => 1,
'http://terminology.lido-schema.org/lido00003' => 1,
// 2: Was found
'Auffinden' => 2,
'Ausgrabung' => 2,
'Excavation' => 2,
'Finding' => 2,
'Fund' => 2,
'Fund (Aktivität)' => 2,
@ -36,6 +40,13 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
// 3: Published
'Published' => 3,
'Veröffentlicht' => 3,
'Veröffentlichung' => 3,
'published' => 3,
'http://terminology.lido-schema.org/eventType/publication' => 3,
'Publikation' => 3,
'Publishing' => 3,
'Publication Event' => 3,
'Publication (Event)' => 3,
// 4: Template creation
'Template creation' => 4,
@ -226,7 +237,8 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
'Verkauft' => 43,
// 44: Restorated
'Restauierung' => 44,
'Restaurierung' => 44,
'Restauriert' => 44,
'wurde restauriert' => 44,
// 45: Damaged
@ -234,12 +246,8 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
'Beschädigung' => 44,
'wurde beschädigt' => 44,
// 48: Published
'published' => 48,
// 48: Edited
'Herausgegeben' => 48,
'http://terminology.lido-schema.org/eventType/publication' => 48,
'Publikation' => 48,
'Publication Event' => 48,
// 49: Gifted, donated
'Schenkung' => 49,

View File

@ -0,0 +1,117 @@
<?PHP
/**
* Represents a possible target for importing related works
* as defined by LIDO.
*
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
*/
declare(strict_types = 1);
/**
* Represents a possible target for importing related works
* as defined by LIDO.
*/
enum MDConcFieldRelatedWorksType {
case related_works_freetext;
case series;
case literature;
case weblink;
case undefined;
/**
* Returns a target field value of this type based on a string.
*
* @param string $input Input to get a value from.
*
* @return MDConcFieldRelatedWorksType
*/
public static function fromString(string $input):MDConcFieldRelatedWorksType {
return match($input) {
"Dokumentiert in",
"dokumentiert in",
"Erwähnung in",
":iterature",
"Beschrieben in",
"Literatur",
"Literatur in Zusammenhang",
"beschrieben in" => self::literature,
"Teil von",
"ist Teil von",
"Gehört zu",
"Part of",
"Gesamtwerk",
"part of",
"Photoserie",
"Mappe",
"series",
"Serie" => self::series,
"hat Vorlage",
"Kopie von",
"Objekt",
"ist Version von",
"inhaltlicher Bezug zu",
"Teil",
"has part",
"Dublette",
"Objektbezug",
"Vergleiche",
"Umfasst",
"Entwurf",
"Vorderseite",
"Rückseite",
"Paarweise mit",
"Zustandsdruck",
"Foto",
"Original",
"Variante",
"Aufnahme Objekt",
"Zusammen mit",
"Ausführung",
"Related objects",
"Join",
"Hauptobjekt",
"Akte",
"Vorgang",
"Form",
"Identisch mit",
"Kopie",
"Gegenstück zu",
"hat Version",
"hat Kopie",
"ist Verso von",
"ist Recto von",
"ist Kopie nach",
"ist Quelle für",
"in Beziehung zu",
"ist abgeleitet von",
"ist vorbereitend für",
"Enthalten in",
"Enthält",
"Verso von",
"Recto von",
"ist Teil desselben konzeptuellen Ganzen mit",
"ist vorbereitende Studie für",
"Druck",
"Referenz",
"Haupttafel",
"Faksimile",
"Blatt",
"Photo",
"Einzelteil",
"Vorlage" => self::related_works_freetext,
"Weblink",
"Web link" => self::weblink,
"" => self::undefined,
default => throw new MDpageParameterNotFromListException("Unknown target field for related works type: " . $input),
};
}
}

View File

@ -12,17 +12,25 @@ declare(strict_types = 1);
final class MDConcLengths implements MDImporterConcordanceListInterface {
private const LENGTHS_LIST = [
"cn" => "cm",
",cm" => "cm",
"5cm" => "cm",
"Breite" => "cm", // Default: cm
"breite" => "cm", // Default: cm
"Width" => "cm", // Default: cm
"width" => "cm", // Default: cm
"Höhe" => "cm", // Default: cm
"höhe" => "cm", // Default: cm
"Height" => "cm", // Default: cm
"height" => "cm", // Default: cm
"cn" => "cm",
",cm" => "cm",
"5cm" => "cm",
"ca" => "cm", // Default: cm; This is likely also a typo
"Breite" => "cm", // Default: cm
"breite" => "cm", // Default: cm
"Width" => "cm", // Default: cm
"width" => "cm", // Default: cm
"Höhe" => "cm", // Default: cm
"höhe" => "cm", // Default: cm
"Height" => "cm", // Default: cm
"height" => "cm", // Default: cm
"´´´" => "cm", // Default: cm
"Theater" => "cm", // Default: cm
"Oper" => "cm", // Default: cm
"min" => "cm", // Default: cm
"-" => "cm", // Default: cm
"a)" => "cm", // Default: cm
"/" => "cm", // Default: cm
"inch" => "in",
"Zoll" => "in",

View File

@ -17,7 +17,9 @@ final class MDConcLicenses implements MDImporterConcordanceListInterface {
"CC0 1.0" => "CC0",
"CC 0 1.0" => "CC0",
"CC_0 1.0" => "CC0",
"kein Copyright / Public domain (CC0 1.0)" => "CC0",
"http://creativecommons.org/publicdomain/zero/1.0/" => "CC0",
"http://creativecommons.org/publicdomain/zero/1.0/deed.de" => "CC0",
"https://creativecommons.org/publicdomain/zero/1.0/" => "CC0",
"https://creativecommons.org/publicdomain/zero/1.0/deed.de" => "CC0",
@ -38,6 +40,7 @@ final class MDConcLicenses implements MDImporterConcordanceListInterface {
"http://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
"https://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
"Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0)" => "CC BY-SA",
"Namensnennung 4.0 International (CC BY 4.0)" => "CC BY-SA",
"CC BY_NC" => "CC BY-NC",
"CC_BY_NC" => "CC BY-NC",
@ -68,6 +71,10 @@ final class MDConcLicenses implements MDImporterConcordanceListInterface {
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz/" => "RR-F",
"https//www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz" => "RR-F",
"http://www.deutsche-digitale-bibliothek.de/lizenzen/rv-fz/" => "RR-F",
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez" => "RR-F",
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez/" => "RR-F",
"https//www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-ez" => "RR-F",
"http://www.deutsche-digitale-bibliothek.de/lizenzen/rv-ez/" => "RR-F",
"http://www.europeana.eu/rights/rr-f/" => "RR-F",
"https://www.europeana.eu/rights/rr-f/" => "RR-F",
"Rechte vorbehalten - Freier Zugang" => "RR-F",