Compare commits
310
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3fd9c181d9 | ||
|
|
65f20a8726
|
||
|
|
cf3113012c | ||
|
|
1aa7af68e0
|
||
|
|
0486217257
|
||
|
|
d299f156d7
|
||
|
|
e9ba4bf4e1
|
||
|
|
be53dd93af
|
||
|
|
a383f76ad8
|
||
|
|
9a1a07fb14
|
||
|
|
628ccabdf5
|
||
|
|
fc8f98ff23
|
||
|
|
2d0554f67d
|
||
|
|
85040ba53e
|
||
|
|
0561a8d0c9
|
||
|
|
695c1899aa
|
||
|
|
ad531d9d07
|
||
|
|
838d1f3dfc
|
||
|
|
fa569b4c14
|
||
|
|
daba3e7120
|
||
|
|
3c1528e3b0
|
||
|
|
0b7231928f
|
||
|
|
7abf9c1255
|
||
|
|
c2707a840d
|
||
|
|
43cdf79418
|
||
|
|
5c8a65bec2
|
||
|
|
23f7c9de0d | ||
|
|
4fcbf26e7c
|
||
|
|
42a3cddd24
|
||
|
|
df3b098f38
|
||
|
|
6702f249e6
|
||
|
|
e4c639b975
|
||
|
|
5c5f52a8ed
|
||
|
|
78540306a8
|
||
|
|
e6e769d005
|
||
|
|
fa1cef5243
|
||
|
|
c8253713f8
|
||
|
|
e80dedd0d6
|
||
|
|
79493a2848
|
||
|
|
992ccab8f3
|
||
|
|
313174b218
|
||
|
|
2415483ee6
|
||
|
|
7c985749f0
|
||
|
|
fa2622302e
|
||
|
|
c5d4124495
|
||
|
|
933f2aef40
|
||
|
|
340c05f258
|
||
|
|
257d5395c1
|
||
|
|
f3b5f98f89
|
||
|
|
cd8fa5b073
|
||
|
|
4643ce667c
|
||
|
|
6fe6d2abfe
|
||
|
|
b830bfa83b
|
||
|
|
7eb5b044df | ||
|
|
08d71ac7f4
|
||
|
|
019817f54e
|
||
|
|
45e2dc20f2
|
||
|
|
f5b6dbb106 | ||
|
|
718e915218 | ||
|
|
47c59c0222 | ||
|
|
4a9f51761b
|
||
|
|
c2912644f9
|
||
|
|
5dcfbaa0a1
|
||
|
|
7630e46a36 | ||
|
|
36db6f2213 | ||
|
|
be5a2b84a8
|
||
|
|
312826259e
|
||
|
|
7ea8d14689
|
||
|
|
38a732de6d
|
||
|
|
1c2c25f45b
|
||
|
|
1ce75c2c9c
|
||
|
|
b122288127
|
||
|
|
c93f18a7df
|
||
|
|
9787a79c33
|
||
|
|
64018fd9a2
|
||
|
|
98e5a85fb8
|
||
|
|
d8d59adb66
|
||
|
|
cb0684da05
|
||
|
|
db3a659fa9
|
||
|
|
36803da776
|
||
|
|
21c25ff3f3
|
||
|
|
c03a60d05a
|
||
|
|
000b8db862
|
||
|
|
5aa2980600
|
||
|
|
d6a3c50e2a | ||
|
|
e88a7ef43c
|
||
|
|
a35262428e
|
||
|
|
0fb9743328
|
||
|
|
183e4b2e08
|
||
|
|
5b0da66287
|
||
|
|
821a6b4e6d
|
||
|
|
9568f58b7b
|
||
|
|
1cbf0dec8a
|
||
|
|
da8dfe079e
|
||
|
|
b6b883420c
|
||
|
|
c63e9df9b3
|
||
|
|
7e57ee2363
|
||
|
|
a0f4a2b159
|
||
|
|
f83b1aeb9f
|
||
|
|
b323e10d9b
|
||
|
|
52f861c739
|
||
|
|
50772ae02f
|
||
|
|
46817aca32
|
||
|
|
b2a5bec110
|
||
|
|
e3db74e734
|
||
|
|
0555dcd94f
|
||
|
|
091f5016aa
|
||
|
|
3bb3ba4d70 | ||
|
|
c2a433588f
|
||
|
|
399f345888
|
||
|
|
1d85ab3921
|
||
|
|
5796322692
|
||
|
|
f9c94926c8
|
||
|
|
1635d4130a
|
||
|
|
b7330634d7
|
||
|
|
a7ed284c26
|
||
|
|
d28e70d6c1 | ||
|
|
ca7ca028d2 | ||
|
|
ba0fe9d83a
|
||
|
|
aa51fdd56a | ||
|
|
2bd86abbdc | ||
|
|
1c903d7da3
|
||
|
|
731a5a1b11
|
||
|
|
bdbdf03821
|
||
|
|
a9f4dccda8
|
||
|
|
eb98610cb3
|
||
|
|
f7fa5e26ee
|
||
|
|
1a8f7158f6
|
||
|
|
a74e02d8d6
|
||
|
|
e34a8d2ab7
|
||
|
|
e302fcb0cf | ||
|
|
0cbcb46e47 | ||
|
|
1927d1b2b4 | ||
|
|
2820cbcc23
|
||
|
|
9276d38d16
|
||
|
|
f00569623a
|
||
|
|
d822d42107
|
||
|
|
3fa31272c7
|
||
|
|
e800a094f7 | ||
|
|
b8cff0b0be | ||
|
|
93507da659
|
||
|
|
299b6fda6a
|
||
|
|
ce7662c29c
|
||
|
|
9df78b457d
|
||
|
|
7a228423a8
|
||
|
|
3c6f1c0592
|
||
|
|
fdb47f9f63
|
||
|
|
7765ed2e96
|
||
|
|
8c01b42147
|
||
|
|
bb2206bb5b
|
||
|
|
2f482acfa9 | ||
|
|
a08e858c26 | ||
|
|
a141cfe4b4 | ||
|
|
5c995e0822 | ||
|
|
b4c57dbd00 | ||
|
|
69ac5af855
|
||
|
|
da963da0de
|
||
|
|
55c6d87423
|
||
|
|
bc02cd4ec6
|
||
|
|
f496f40ac9
|
||
|
|
e22c9d3912 | ||
|
|
a9c4c23c4c | ||
|
|
d04f2c5f78 | ||
|
|
d06617046d | ||
|
|
ab5200b24b | ||
|
|
73030b5ede
|
||
|
|
d2d9a84b19
|
||
|
|
74c9ecd847 | ||
|
|
add8be4463 | ||
|
|
05bd6115c4
|
||
|
|
72ea69d72f | ||
|
|
20319ed8ee
|
||
|
|
5547ea4e3a
|
||
|
|
6cc802ffc0
|
||
|
|
78de55f1f8
|
||
|
|
01945149cb | ||
|
|
2cb782cef4
|
||
|
|
eb7094ab9d
|
||
|
|
0adcbd2d5d
|
||
|
|
7bcb277e46
|
||
|
|
8a26aa426b
|
||
|
|
217aa53edd
|
||
|
|
59298830ca
|
||
|
|
3940614190
|
||
|
|
d6fae4dd3d
|
||
|
|
17b81f6d00 | ||
|
|
0bf9049018 | ||
|
|
7bcb4d4302
|
||
|
|
f7c42cf046 | ||
|
|
f539df807a | ||
|
|
e16a7b5db2 | ||
|
|
7952b9362a | ||
|
|
b94702d8d2
|
||
|
|
a97557640b
|
||
|
|
592c2d9d75 | ||
|
|
7fef0f0ada
|
||
|
|
c714eb081a | ||
|
|
54c64ed0f6 | ||
|
|
e4b6ae0c4a | ||
|
|
b65576a087 | ||
|
|
4f25679bff | ||
|
|
3978113d26 | ||
|
|
bf41e2f062 | ||
|
|
50b3dff4cd
|
||
|
|
a0e5ecdd29 | ||
|
|
b62ef5f357 | ||
|
|
f3bd620f85
|
||
|
|
c3e4581f2d
|
||
|
|
0bb62c675f
|
||
|
|
f175302627 | ||
|
|
6da4ce1933 | ||
|
|
3348228137 | ||
|
|
992312b39f
|
||
|
|
4beff90c42
|
||
|
|
866ef3c714
|
||
|
|
593b54c0a7
|
||
|
|
10511d8b9b
|
||
|
|
a605d1c87f
|
||
|
|
ff3bf5133c | ||
|
|
2409a314e9 | ||
|
|
f94bb31e31 | ||
|
|
38a855ff27
|
||
|
|
56bbeb8eba
|
||
|
|
62ff660d39
|
||
|
|
08348dd148
|
||
|
|
87a5d405f9
|
||
|
|
c106318d38
|
||
|
|
f08ea28622
|
||
|
|
76c3ee052e
|
||
|
|
946f8d8352
|
||
|
|
921acd303b
|
||
|
|
9a1932a233 | ||
|
|
069ccf43c3
|
||
|
|
82a0cb94d7
|
||
|
|
2223eefabb
|
||
|
|
cdac022d64
|
||
|
|
04b88d0456
|
||
|
|
91f5c04de3
|
||
|
|
25ae398ce8
|
||
|
|
5dfafafc63
|
||
|
|
04a34e7424
|
||
|
|
dfbf45097b
|
||
|
|
bd7dd5ed33
|
||
|
|
99488b022f
|
||
|
|
43d8c40829
|
||
|
|
2c100f497b
|
||
|
|
3671295ca9
|
||
|
|
e735ee5800
|
||
|
|
9b269b4938
|
||
|
|
bd8026d111
|
||
|
|
6aca553aa5
|
||
|
|
38e2779257
|
||
|
|
e578b7c66b
|
||
|
|
a163f54e2e
|
||
|
|
9a5741f0bb
|
||
|
|
6809e64812
|
||
|
|
52c44157a5
|
||
|
|
3aadf7ef39
|
||
|
|
77a5fa6dac
|
||
|
|
11d76ca170
|
||
|
|
bffdb89719
|
||
|
|
cb45e22d3f
|
||
|
|
cf92e5a3d4
|
||
|
|
ae364e5562
|
||
|
|
4396c04f9c
|
||
|
|
ba7c0efa93
|
||
|
|
7977cb8fde
|
||
|
|
505ea3853a
|
||
|
|
9f300a956f
|
||
|
|
85c6123eb3
|
||
|
|
36a31c314a
|
||
|
|
531b3a74d2
|
||
|
|
0132afbeff
|
||
|
|
840c24af71
|
||
|
|
016245722a
|
||
|
|
881a3d6c9c
|
||
|
|
91303d0cc4
|
||
|
|
4b0336ade2 | ||
|
|
e0e2bc661f
|
||
|
|
6dfb0c6511
|
||
|
|
9e9492de82
|
||
|
|
2cb5d9171f
|
||
|
|
a3650b2bee
|
||
|
|
ffc5fd5992
|
||
|
|
e2d2c1b2d1
|
||
|
|
c75744f6be
|
||
|
|
2d96e94d6d
|
||
|
|
1b505437a4
|
||
|
|
91a3c0e059
|
||
|
|
301efa38c3
|
||
|
|
6557d499bb
|
||
|
|
227d54d818
|
||
|
|
dcfee56fb1
|
||
|
|
ba9b3bcaad
|
||
|
|
bd8ed59033
|
||
|
|
a3db74fc08
|
||
|
|
14473aedf6
|
||
|
|
68c7ed06e2
|
||
|
|
21babdbd9d
|
||
|
|
3cb93a7142
|
||
|
|
ec17e00e18
|
||
|
|
10ced24a8a
|
||
|
|
7b052cb37b
|
||
|
|
3f236d9f5e
|
||
|
|
0d9160f49d
|
||
|
|
491f705258
|
||
|
|
7c98685551
|
||
|
|
fbb1c35ad6
|
||
|
|
ff49f1f319
|
||
|
|
6466aa9b98
|
No files matched your search
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 museum-digital
|
||||
Copyright (c) 2022-2025 museum-digital
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
||||
@@ -2,4 +2,26 @@
|
||||
|
||||
This directory contains concordance lists for accepted values. Where e.g. an entry type may be identified at museum-digital only by its ID, it is not realistic to expect providers of import data (which is to say: museums) to enter the entry type ID from museum-digital's relevant list. Hence, the lists contained in this subdirectory provide human-readable names for the IDs accepted by museum-digital as found in previous imports, so that they can be automatically translated to the IDs and names as used within the context of museum-digital.
|
||||
|
||||
The lists are grouped as class constants of their relevant entry type. All class names may be prefixed with _MDConc_.
|
||||
The lists are grouped as (private) class constants of their relevant entry type.
|
||||
|
||||
- All class names may be prefixed with _MDConc_.
|
||||
- All concordance list classes implement the MDImporterConcordanceListInterface interface.
|
||||
- They can thus all be used using a static function `getConcordanceTarget(string $input)`. E.g.:
|
||||
```
|
||||
$checkType = MDConcCheckTypes::getConcordanceTarget("Vollständigkeit");
|
||||
```
|
||||
- All concordance lists can be found directly in the [`/src`](./src) directory.
|
||||
|
||||
## Environment and Purpose for Using a Separate Subrepository
|
||||
|
||||
This repository is intended to be used as a subrepository of MDImporter. Its full functionality is thus only available with the inclusion of some other subrepositories provided in the context of the importer (e.g. MDAllowedValueSets).
|
||||
|
||||
Editing can be done by simply adding to the lists however. It is hoped, that the publication of this subrepository as a standalone repository makes this process easier. Just clone this repository and enter the missing values in the relevant classes in the [`/src`](./src) directory.
|
||||
|
||||
## Testing
|
||||
|
||||
Tests exist to ensure that all concordance lists implement the MDImporterConcordanceListInterface interface and throw an MDImporterMissingConcordance exception, if a new, yet unknown value is encountered. If this repository is set up as part of an installation of the MDImporter, they can be run using:
|
||||
|
||||
```
|
||||
phpunit tests
|
||||
```
|
||||
@@ -0,0 +1,18 @@
|
||||
<?PHP
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Exception thrown in case a requested concordance term is blacklisted.
|
||||
*/
|
||||
final class MDImporterBlacklistedConcordanceTerm extends Exception {
|
||||
/**
|
||||
* Error message.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function errorMessage() {
|
||||
//error message
|
||||
return 'Blacklisted term requested for concordance list.';
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,79 @@ declare(strict_types = 1);
|
||||
* Exception thrown in case an update failed.
|
||||
*/
|
||||
final class MDImporterMissingConcordance extends Exception {
|
||||
|
||||
public string $target_type;
|
||||
public string $value_to_map;
|
||||
|
||||
/** @var array<string, array<string>> */
|
||||
private static array $_missing_concordances = [];
|
||||
public static bool $suppress_shutdown_function = false;
|
||||
private static bool $_shutdown_function_registered = false;
|
||||
|
||||
/**
|
||||
* Gets the text for registering shutdown functions.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getCleanMissingConcordanceReport():string {
|
||||
|
||||
if (empty(self::$_missing_concordances)) return '';
|
||||
|
||||
|
||||
$output = PHP_EOL . PHP_EOL . "There are unmapped concordances. Please map them before proceeding." . PHP_EOL . "You may use https://concordance.museum-digital.org/ to do the mapping" . PHP_EOL . PHP_EOL;
|
||||
foreach (self::$_missing_concordances as $key => $values) {
|
||||
sort($values);
|
||||
$output .= PHP_EOL . PHP_EOL . $key . PHP_EOL . PHP_EOL;
|
||||
$output .= implode(PHP_EOL, array_unique($values));
|
||||
}
|
||||
$output .= PHP_EOL;
|
||||
|
||||
// Reset missing concordance report.
|
||||
self::$_missing_concordances = [];
|
||||
|
||||
return $output;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up an error.
|
||||
*
|
||||
* @param string $target_type Target type (e.g. "measurements").
|
||||
* @param string $value_to_map Value to map.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function throw(string $target_type, string $value_to_map):void {
|
||||
|
||||
if (class_exists("MD_IMPORTER_CONF") && MD_IMPORTER_CONF::$dry_run === true) {
|
||||
|
||||
if (self::$_shutdown_function_registered === false) {
|
||||
|
||||
// Register printing at the end
|
||||
register_shutdown_function(function() {
|
||||
if (self::$suppress_shutdown_function === true) return;
|
||||
echo self::getCleanMissingConcordanceReport();
|
||||
});
|
||||
self::$_shutdown_function_registered = true;
|
||||
|
||||
}
|
||||
|
||||
if (!isset(self::$_missing_concordances[$target_type])) {
|
||||
self::$_missing_concordances[$target_type] = [];
|
||||
}
|
||||
self::$_missing_concordances[$target_type][] = $value_to_map;
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
$exception = new MDImporterMissingConcordance("Unmapped specific value of type " . $target_type . ": '" . $value_to_map . '\'' . PHP_EOL . "Please consult https://concordance.museum-digital.org for filling out missing concordances");
|
||||
$exception->target_type = $target_type;
|
||||
$exception->value_to_map = $value_to_map;
|
||||
|
||||
throw $exception;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Error message.
|
||||
*
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?PHP
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Exception thrown in case a name entered for the relation between tag
|
||||
* and object is actually an event type.
|
||||
*/
|
||||
final class MDImporterTagRelationTypeIsEventType extends Exception {
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Describes a blacklist for the importer.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Describes a blacklist for the importer.
|
||||
*/
|
||||
interface MDImporterBlacklistInterface {
|
||||
/**
|
||||
* Checks if the input string is blacklisted.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function isBlacklisted(string $input):bool;
|
||||
}
|
||||
+594
-18
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,86 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Mapping for certainty-expressing fields to certainty in events.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Mapping for certainty-expressing fields to certainty in events.
|
||||
*/
|
||||
final class MDConcCertainty implements MDImporterConcordanceListInterface {
|
||||
|
||||
// Public for access in concordance.museum-digital.org
|
||||
public const MAPPING = [
|
||||
|
||||
// Uncertain
|
||||
|
||||
'alternative Zuschreibung' => false,
|
||||
'Art des' => false,
|
||||
'Atelier von' => false,
|
||||
'ehemals zugeschrieben' => false,
|
||||
'fraglich' => false,
|
||||
'möglicherweise von' => false,
|
||||
'nach' => false,
|
||||
'nach Literatur UND alternativ' => false,
|
||||
'Stil des' => false,
|
||||
'Schule von' => false,
|
||||
'Schule des' => false,
|
||||
'traditionelle Zuschreibung' => false,
|
||||
'Umkreis von' => false,
|
||||
'Werkstatt von' => false,
|
||||
'zugeschriebe' => false,
|
||||
'zugeschrieben' => false,
|
||||
'zugeschrieben an' => false,
|
||||
'Ausführung' => false,
|
||||
'Entwurf' => false,
|
||||
'Attributed' => false,
|
||||
'circa' => false,
|
||||
'Circa' => false,
|
||||
'around' => false,
|
||||
'geschätzt / unsicher / vermutet' => false,
|
||||
'ca.' => false,
|
||||
'?' => false,
|
||||
|
||||
// Certain
|
||||
|
||||
'sicher' => true,
|
||||
'Herstellung' => true,
|
||||
'gesichert' => true,
|
||||
'nach Passepartoutnotiz' => true,
|
||||
'Zusammenarbeit mit' => true,
|
||||
'überarbeitet von' => true,
|
||||
'Nachfolger von' => true,
|
||||
'by' => true,
|
||||
'.',
|
||||
'1783',
|
||||
'1875',
|
||||
'1938',
|
||||
'1945-05-01',
|
||||
'1960',
|
||||
'Anfang',
|
||||
'Dezember',
|
||||
'Ende',
|
||||
'' => true,
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):bool {
|
||||
|
||||
if (!isset(self::MAPPING[$input])) {
|
||||
MDImporterMissingConcordance::throw("certainty identifier", $input);
|
||||
return true; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::MAPPING[$input];
|
||||
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,8 @@ final class MDConcCheckTypes implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):MDObjectCheckType {
|
||||
|
||||
if (!isset(self::CHECK_TYPES[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown check type: " . $input);
|
||||
MDImporterMissingConcordance::throw("check", $input);
|
||||
return MDObjectCheckType::completeness_check; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::CHECK_TYPES[$input];
|
||||
|
||||
@@ -20,16 +20,19 @@ final class MDConcCloserLocationTypes implements MDImporterConcordanceListInterf
|
||||
|
||||
# Place of recording
|
||||
"1" => "1",
|
||||
"Aufnahmeort" => "1",
|
||||
"Place of recording" => "1",
|
||||
|
||||
# Finding place
|
||||
"2" => "2",
|
||||
"Fundort" => "2",
|
||||
"Place of discovery" => "2",
|
||||
"Lelőhely" => "2",
|
||||
|
||||
# Former place
|
||||
"3" => "3",
|
||||
"Former place" => "3",
|
||||
"Früherer Ort" => "3",
|
||||
|
||||
];
|
||||
|
||||
@@ -43,7 +46,8 @@ final class MDConcCloserLocationTypes implements MDImporterConcordanceListInterf
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::LOCATION_TYPES_VERBOSE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown location type: " . $input);
|
||||
MDImporterMissingConcordance::throw("location", $input);
|
||||
return "3"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::LOCATION_TYPES_VERBOSE[$input];
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for grouping colors.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Constains lists for grouping colors.
|
||||
*/
|
||||
final class MDConcColors implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const COLORS_LIST = [
|
||||
'Gelb' => 'yellow',
|
||||
'Schwarz' => 'black',
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::COLORS_LIST[$input])) {
|
||||
MDImporterMissingConcordance::throw("color", $input);
|
||||
return "black"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::COLORS_LIST[$input];
|
||||
|
||||
}
|
||||
}
|
||||
@@ -12,40 +12,104 @@ declare(strict_types = 1);
|
||||
final class MDConcCurrencies implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const CURRENCIES_LIST = [
|
||||
"" => "",
|
||||
"^" => "",
|
||||
"-" => "",
|
||||
"_" => "",
|
||||
"x" => "",
|
||||
"00" => "",
|
||||
"1,00" => "",
|
||||
"5,00" => "",
|
||||
"10,00" => "",
|
||||
"23.117,55" => "",
|
||||
"15.01.1900" => "",
|
||||
"Belarussischer Rubel" => 'by-BYN',
|
||||
|
||||
// Schweizer Franken / Swiss Franc
|
||||
"SFR" => "ch-CHF",
|
||||
"French Franc" => "fr-FF",
|
||||
"Forint" => "hu-Ft",
|
||||
"Korona" => "hu-Korona",
|
||||
"Austro-Hungarian krone" => "hu-Korona",
|
||||
"Pengő" => "hu-Pengő",
|
||||
"pengő" => "hu-Pengő",
|
||||
"CHF" => "ch-CHF",
|
||||
"Swiss franc" => "ch-CHF",
|
||||
"Schweizer Franken" => "ch-CHF",
|
||||
|
||||
// Deutsche Mark
|
||||
"DM" => "de-DM",
|
||||
"dM" => "de-DM",
|
||||
"Dm" => "de-DM",
|
||||
"CM" => "de-DM", // Cameroon (CM > CFA franc BEAC is correct, but for now a typo of DM is more likely
|
||||
"DN" => "de-DM", // For now, this is seen as a typo for DM
|
||||
"DNM" => "de-DM",
|
||||
"DEM" => "de-DM",
|
||||
"Mark" => "de-DM",
|
||||
"de-DM" => "de-DM",
|
||||
"Deutsche Mark" => "de-DM",
|
||||
|
||||
// Reichsmark (Deutschland)
|
||||
"RM" => "de-RM",
|
||||
"Reichsmark" => "de-RM",
|
||||
"Reichsmark (Deutsches Reich)" => "de-RM",
|
||||
"Reichsmark (Deutsches Reich" => "de-RM",
|
||||
|
||||
// Goldmark
|
||||
'Deutsche Goldmark' => 'de-GM',
|
||||
|
||||
// Franc (France)
|
||||
"French Franc" => "fr-FF",
|
||||
"FF" => "fr-FF",
|
||||
"FRF" => "fr-FF",
|
||||
"Französischer Franc" => "fr-FF",
|
||||
|
||||
// Dutch Guilders
|
||||
'fl' => 'nl-Gulden',
|
||||
'FL' => 'nl-Gulden',
|
||||
'Holländische Gulden' => 'nl-Gulden',
|
||||
|
||||
// Türkish Lira
|
||||
'TRY' => 'tr-TRY',
|
||||
'TL' => 'tr-TRY',
|
||||
'Türkische Lira' => 'tr-TRY',
|
||||
|
||||
// Indian rupees
|
||||
'INR' => 'in-INR',
|
||||
'Indische Rupien' => 'in-INR',
|
||||
|
||||
// Nepalese rupees
|
||||
'NPR' => 'np-NPR',
|
||||
'Nepalesische Rupien' => 'np-NPR',
|
||||
|
||||
// Forint
|
||||
"Forint" => "hu-Ft",
|
||||
"FT" => "hu-Ft",
|
||||
"Korona" => "hu-Korona",
|
||||
"Austro-Hungarian krone" => "hu-Korona",
|
||||
"Korona (osztrák-magyar" => "hu-Korona",
|
||||
"Pengő" => "hu-Pengő",
|
||||
"pengő" => "hu-Pengő",
|
||||
"Indonesian Ruphian" => 'id-IDR',
|
||||
"EUR" => "eu-EUR",
|
||||
"euro" => "eu-EUR",
|
||||
"Euro" => "eu-EUR",
|
||||
"EURO" => "eu-EUR",
|
||||
"Євро" => "eu-EUR",
|
||||
"eu-EUR" => "eu-EUR",
|
||||
"€" => "eu-EUR",
|
||||
"Mark (DDR)" => "ddr-Mark",
|
||||
"Mark (DDR" => "ddr-Mark",
|
||||
"DDRMk" => "ddr-Mark",
|
||||
"ddr-Mark" => "ddr-Mark",
|
||||
"Ukrainian hryvnia" => "ua-UAH",
|
||||
"грн" => "ua-UAH",
|
||||
"гривня" => "ua-UAH",
|
||||
"гривні" => "ua-UAH",
|
||||
"грн." => "ua-UAH",
|
||||
"карбованці" => "ua-UAK",
|
||||
"GBP" => "uk-GBP",
|
||||
"uk-GBP" => "uk-GBP",
|
||||
"Pfd" => "uk-GBP", // Pfund
|
||||
"Pfund Sterling" => "uk-GBP", // Pfund
|
||||
"USD" => "us-USD",
|
||||
"US Dollar" => "us-USD",
|
||||
"US dollar" => "us-USD",
|
||||
"$ USA" => "us-USD",
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -58,7 +122,11 @@ final class MDConcCurrencies implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::CURRENCIES_LIST[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown currency: " . $input);
|
||||
if (in_array($input, MDCurrenciesSet::CURRENCIES, true)) {
|
||||
return $input;
|
||||
}
|
||||
MDImporterMissingConcordance::throw("currency", $input);
|
||||
return "eu-EUR"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::CURRENCIES_LIST[$input];
|
||||
|
||||
@@ -13,6 +13,13 @@ final class MDConcDamageTypes implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const DAMAGE_TYPES = [
|
||||
"breakage" => MDObjectDamageType::breakage,
|
||||
"Wasserschaden" => MDObjectDamageType::water_damage,
|
||||
"Austrocknung" => MDObjectDamageType::desiccation,
|
||||
"Desiccation" => MDObjectDamageType::desiccation,
|
||||
];
|
||||
|
||||
private const DAMAGE_TYPES_BLACKLIST = [
|
||||
'keine',
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -25,7 +32,13 @@ final class MDConcDamageTypes implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):MDObjectDamageType {
|
||||
|
||||
if (!isset(self::DAMAGE_TYPES[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown damage type: " . $input);
|
||||
|
||||
if (in_array($input, self::DAMAGE_TYPES_BLACKLIST, true)) {
|
||||
throw new MDImporterBlacklistedConcordanceTerm("Invalid damage type: " . $input);
|
||||
}
|
||||
|
||||
MDImporterMissingConcordance::throw("damage", $input);
|
||||
return MDObjectDamageType::desiccation; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::DAMAGE_TYPES[$input];
|
||||
|
||||
+196
-11
@@ -17,53 +17,163 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"" => "0",
|
||||
"ABM 95" => "0",
|
||||
"Angebot" => "0",
|
||||
"Armbrustersammlung" => "0",
|
||||
"g" => "0",
|
||||
"Herkunft unklar" => "0",
|
||||
"keine Angaben" => "0",
|
||||
"unbenannt" => "0",
|
||||
"k.A." => "0",
|
||||
"unbekannt" => "0",
|
||||
"Unbekannt" => "0",
|
||||
"05.03.07" => "0",
|
||||
"22.09.2009" => "0",
|
||||
"23.09.2009" => "0",
|
||||
"1959" => "0",
|
||||
"Zugangsart (MPlus) - als: (MDigital" => "0",
|
||||
"Kutatást igényel" => "0", // Google TL: "It requires research"
|
||||
"Leipzig" => "0",
|
||||
"lt." => "0",
|
||||
"Grotewohlring" => "0",
|
||||
"FLM" => "0",
|
||||
"Schriftliches" => "0",
|
||||
"schriftliches" => "0",
|
||||
"Export_Eingangsart" => "0",
|
||||
"Verlagerung" => "0",
|
||||
"Sc" => "0",
|
||||
"Seiffen" => "0",
|
||||
"aus" => "0",
|
||||
"Gerd" => "0",
|
||||
"D-Einsiedel" => "0",
|
||||
"D-Einsiedel," => "0",
|
||||
"Hersteller" => "0",
|
||||
"Ungeklärt" => "0",
|
||||
"Dorfmuseum Marzahn" => "0",
|
||||
"Märkisches Museum" => "0",
|
||||
"Sanierungsbestand Hornmoldhaus" => "0",
|
||||
"unklar" => "0",
|
||||
"unklar, aus dem alten Bestand" => "0",
|
||||
"?" => "0",
|
||||
"To be checked" => "0",
|
||||
"Zugang ungeklärt" => "0",
|
||||
|
||||
// 1: Donation
|
||||
"Ajándék" => "1",
|
||||
"Ajándékozás" => "1",
|
||||
"ajándékozás" => "1",
|
||||
"Abgabe" => "1",
|
||||
"Donation" => "1",
|
||||
"Geschenk" => "1",
|
||||
"Gift" => "1",
|
||||
"Geschenk 2010" => "1",
|
||||
"Geschenk (Lederscheide" => "1",
|
||||
"Geschenk 20.10.03" => "1",
|
||||
"Schenkung" => "1",
|
||||
"Schenkung / Spende" => "1",
|
||||
"Schenkung/abgeschr. B. DHM" => "1",
|
||||
"Schenkung an die Stadt Ravensburg" => "1",
|
||||
"Schenkung & Nachlass lt. Testament vom 18.09.2001" => "1",
|
||||
"Schhenkung" => "1",
|
||||
"Schnekung" => "1",
|
||||
"Schenung" => "1",
|
||||
"Schenkungn" => "1",
|
||||
"Schenkung/" => "1",
|
||||
"Schenkung / Nachlass" => "1",
|
||||
"Schenkung an" => "1",
|
||||
"Schenkung-Ver" => "1",
|
||||
"Schenkung 2010" => "1",
|
||||
"Schenkung-BB" => "1",
|
||||
"Schenkkung" => "1",
|
||||
"Schenkg" => "1",
|
||||
"Schenkung, intern" => "1",
|
||||
"Zugabe" => "1",
|
||||
"Übereignung" => "1",
|
||||
"Schenkung/ Kauf" => "1",
|
||||
"Schenkung bzw. Rückgabe" => "1",
|
||||
"Schenkung an den Förderverein" => "1",
|
||||
"Schenkung Briefkasten Museum" => "1",
|
||||
"Schenkung 03/06 v.Ostereiermarkt" => "1",
|
||||
"Schenkung von Johannes Cornel" => "1",
|
||||
"Schenkung/abgeschr.B. DHM" => "1",
|
||||
"Sachspende" => "1",
|
||||
"Spende" => "1",
|
||||
"spende" => "1",
|
||||
"Sepnde" => "1",
|
||||
"Spene" => "1",
|
||||
"Anonyme Spende" => "1",
|
||||
"Kostenlose" => "1",
|
||||
"Überlassung" => "1",
|
||||
"Übertragung" => "1",
|
||||
"Spendenquittung" => "1",
|
||||
"Spendenbescheinigung" => "1",
|
||||
"Передача" => "1", // UK: Transfer
|
||||
"передача" => "1", // UK: Transfer
|
||||
"Передавання" => "1", // UK: Transmission.
|
||||
"Передавання." => "1", // UK: Transmission.
|
||||
"Передано Інститутом археології АН УРСР (нині – ІА НАНУ" => "1", // Submitted by the Institute of Archeology of the Academy of Sciences of the Ukrainian SSR (now - IA of the National Academy of Sciences
|
||||
"Передано Інститутом археології АН УРСР (нині - ІА НАНУ" => "1", // Submitted by the Institute of Archeology of the Academy of Sciences of the Ukrainian SSR (now - IA of the National Academy of Sciences
|
||||
"Передано з фондів Державного історичного музею УРСР" => "1", // Transferred from the funds of the State Historical Museum of the Ukrainian SSR
|
||||
|
||||
// 2: Purchase
|
||||
"Ankauf" => "2",
|
||||
"Ankauf siehe Rechnung" => "2",
|
||||
"Ankau" => "2",
|
||||
"Auktion" => "2",
|
||||
"3Ankauf" => "2",
|
||||
"Ankauf Peitz" => "2",
|
||||
"Ankauf Sagar" => "2",
|
||||
"Anakuf" => "2",
|
||||
"Anakauf" => "2",
|
||||
"Abkauf" => "2",
|
||||
"ANKAUF" => "2",
|
||||
"Anlauf" => "2",
|
||||
"Ankauf," => "2",
|
||||
"Ankaufspreis:" => "2",
|
||||
"Ankauf, 50€" => "2",
|
||||
"Bought" => "2",
|
||||
"Bestellung" => "2",
|
||||
"Kauf Verein" => "2",
|
||||
"Kauf - Ebay" => "2",
|
||||
"Kaufvertrag" => "2",
|
||||
"Einkauf" => "2",
|
||||
"Einzelkauf" => "2",
|
||||
"Einzelkauf, Ebay" => "2",
|
||||
"Erwerb" => "2",
|
||||
"Gekauft" => "2",
|
||||
"Großankauf" => "2",
|
||||
"Globalankauf" => "2",
|
||||
"Gesamtankauf" => "2",
|
||||
"Globalankaufl" => "2",
|
||||
"Gobalankauf" => "2",
|
||||
"Global-Ankauf" => "2",
|
||||
"Globalnkauf" => "2",
|
||||
"Glopalankauf" => "2",
|
||||
"Globalkauf" => "2",
|
||||
"Globalanlkauf" => "2",
|
||||
"Globlankauf" => "2",
|
||||
"Gloalankauf" => "2",
|
||||
"globalankauf" => "2",
|
||||
"lobalankauf" => "2",
|
||||
"Gloabalankauf" => "2",
|
||||
"Glkobalankauf" => "2",
|
||||
"Globalanakuf" => "2",
|
||||
"Globalanakauf" => "2",
|
||||
"Gl.-Ankauf" => "2",
|
||||
"kauf" => "2",
|
||||
"Kauf" => "2",
|
||||
"Kauf-global-1025,-" => "2",
|
||||
"Kauf-global-10,-" => "2",
|
||||
"kauf-global-10,-" => "2",
|
||||
"Kauf-global-50,-" => "2",
|
||||
"Kauf-global-250,-" => "2",
|
||||
"Kauf-global-250.-" => "2",
|
||||
"Kauf-glöbal-250,-" => "2",
|
||||
"kauf-global-250,-." => "2",
|
||||
"kauf-global-250,-" => "2",
|
||||
"Kauf-global-2560,-" => "2",
|
||||
"kauf-globval-250,-" => "2",
|
||||
"Kauf-.global-250,-" => "2",
|
||||
"Kauf/Sammelkauf" => "2",
|
||||
"Kauf/Sammelkauf Klebs" => "2",
|
||||
"Kauf 2006" => "2",
|
||||
"Kauf 2009" => "2",
|
||||
"Kauf d.Förderverein" => "2",
|
||||
@@ -71,11 +181,20 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"Kauf d. Förderverein" => "2",
|
||||
"Kauf Förderverein" => "2",
|
||||
"Kauf-Verein" => "2",
|
||||
"Kaufglobal" => "2",
|
||||
"Purchase" => "2",
|
||||
"Sammelankauf" => "2",
|
||||
"Sammelkauf" => "2",
|
||||
"sammelkauf" => "2",
|
||||
"Sammelkauf/ 3 Kannen" => "2",
|
||||
"Sammelkauf, Einzelpreis" => "2",
|
||||
"Sammelkauf, Gesamtpreis" => "2",
|
||||
"Sammelkauf(mit DD97/005KU" => "2",
|
||||
"Sammelkauf(mit DD97/004KU" => "2",
|
||||
"unterstützter Kauf" => "2",
|
||||
"Überweisung" => "2",
|
||||
"Verkauf" => "2",
|
||||
"KaufKauf" => "2",
|
||||
"Vásárlás" => "2",
|
||||
"vásárlás" => "2",
|
||||
"Vétel" => "2",
|
||||
@@ -85,21 +204,33 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"Excavation" => "3",
|
||||
"Feltárás" => "3",
|
||||
"Grabung" => "3",
|
||||
"Grabungsfund" => "3",
|
||||
"Grabungsfund Arch. Landesamt" => "3",
|
||||
"Bergung" => "3",
|
||||
|
||||
// 4: Emergenccy Rescue
|
||||
// 4: Emergenncy Rescue
|
||||
"Notbergung" => "4",
|
||||
"Sürgősségi értékmentés" => "4",
|
||||
|
||||
// 5: Inheritance
|
||||
"Erbgang" => "5",
|
||||
"Erbschaft" => "5",
|
||||
"Inheritance" => "5",
|
||||
"Nachlass" => "5",
|
||||
"Nachlaß" => "5",
|
||||
"Nachlaß/Schenkung" => "5",
|
||||
"Nachlass Angenete" => "5",
|
||||
"nachlass angenete" => "5",
|
||||
"Nachlaß-Übernahme" => "5",
|
||||
"Nachlaßübernahme" => "5",
|
||||
"Nachlass Dr. Enste" => "5",
|
||||
"Stiftung/Nachlass" => "5",
|
||||
"Ankauf & Nachlass v. Steffen Lange" => "5",
|
||||
"Übergabe & Nachlass Otto Garten (lt. Testament - gez. vom 18.09. 20018" => "5",
|
||||
"Übergabe & Nachlass Otto Garten (lt. Testament - gez. vom 18.09. 2001" => "5",
|
||||
"Übergabe & Nachlass lt. Testament" => "5",
|
||||
"Übergabe & Nachlass lt. Testament vom 18.09.2001" => "5",
|
||||
"übergabe & Nachlass lt. Testament vom 18.09.2001" => "5",
|
||||
"Vermächtnis" => "5",
|
||||
"Erbschaft / Nachlass" => "5",
|
||||
"Hagyaték" => "5",
|
||||
@@ -108,6 +239,7 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
// 6: Endowment
|
||||
"Endowment" => "6",
|
||||
"Stiftung" => "6",
|
||||
"Stiftung (1930" => "6",
|
||||
"Hivatalos átadás" => "6",
|
||||
|
||||
// Disposession
|
||||
@@ -124,9 +256,11 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"Leihgabe" => "9",
|
||||
"Leihgabwe" => "9",
|
||||
"Leiggabe" => "9",
|
||||
"Leihnahme" => "9",
|
||||
"Loan" => "9",
|
||||
"Verliehen" => "9",
|
||||
"Leihgabe vom" => "9",
|
||||
"Leihvertrag mit Sonderregelung" => "9",
|
||||
|
||||
// 10: Exchange
|
||||
"Austausch" => "10",
|
||||
@@ -134,6 +268,7 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"csere" => "10",
|
||||
"Exchange" => "10",
|
||||
"Tausch" => "10",
|
||||
"Sammeltausch" => "10",
|
||||
|
||||
// 11: In-house production
|
||||
"Abzüge von alten Negativen" => "11",
|
||||
@@ -142,13 +277,20 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"Eigenfertigung" => "11",
|
||||
"Eigenfertigung des Museums" => "11",
|
||||
"Eigenproduktion" => "11",
|
||||
"Eigene" => "11",
|
||||
"Fotokopie" => "11",
|
||||
"hausintern" => "11",
|
||||
"In-house production" => "11",
|
||||
"Lehrwerkst." => "11",
|
||||
"Neuanfertigung" => "11",
|
||||
"Herstellung" => "11",
|
||||
"Eigenherstelung" => "11",
|
||||
"Eigenherstellung" => "11",
|
||||
"Preßglas" => "11",
|
||||
"Hergestellt im Auftrag des Heimatvereins" => "11",
|
||||
"Saját előállítás" => "11",
|
||||
"Xerox-Kopie" => "11",
|
||||
"Interner Zugang" => "11",
|
||||
|
||||
// 12: Material Strain (Törzsanyag)
|
||||
"Törzsanyag" => "12",
|
||||
@@ -161,41 +303,78 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
"Finding" => "15",
|
||||
"Fund" => "15",
|
||||
"Fundstück" => "15",
|
||||
"Fundstücke" => "15",
|
||||
"Baufund MHQ" => "15",
|
||||
"Lelőhely" => "15",
|
||||
"Räumung" => "15",
|
||||
"Begehungsfund" => "15",
|
||||
"Sperrmüll" => "15",
|
||||
"Fund bei der Renovierung des Spitalturms 1993" => "15",
|
||||
"Streufund aus dem Garten Rosenstr. 31, RV" => "15",
|
||||
|
||||
// 16: Permanent Loan
|
||||
"Dauerleihe" => "16",
|
||||
"Dauerleihgabe" => "16",
|
||||
"Dauerausleihe" => "16",
|
||||
"Dauerleihgabe von Privat" => "16",
|
||||
"Letét" => "16",
|
||||
"Permanent loan" => "16",
|
||||
"permanent loan" => "16",
|
||||
"Tartós leltét" => "16",
|
||||
|
||||
// 98: Other legal acquisition
|
||||
// 98: Old belongings
|
||||
"Altbestand" => "98",
|
||||
"Altebestand" => "98",
|
||||
"alter Bestand" => "98",
|
||||
"Alter Bestand" => "98",
|
||||
"Altbestand Domäne Dahlem" => "98",
|
||||
"Altbestand Kapitulationsmuseum" => "98",
|
||||
"Altbestand, Zugangsart unbekannt" => "98",
|
||||
"Altbestand, Herkunft unklar" => "98",
|
||||
"Altbestand MM" => "98",
|
||||
"Altbestand Dorfmuseum Marzahn" => "98",
|
||||
"Altbestand Märkisches Museum" => "98",
|
||||
"Altbestand Domäne MM" => "98",
|
||||
"altbestand Domäne Dahlem" => "98",
|
||||
"Besitz" => "98",
|
||||
"Depositum" => "98",
|
||||
"gefunden im Großdepot R. 104" => "98",
|
||||
"Museums Altbestand" => "98",
|
||||
"To be checked" => "98",
|
||||
"Depotfund" => "98",
|
||||
"Eigentum" => "98",
|
||||
"Ungeklärt" => "98",
|
||||
"unklar" => "98",
|
||||
"unklar, aus dem alten Bestand" => "98",
|
||||
"?" => "98",
|
||||
"Zugang ungeklärt" => "98",
|
||||
"EigentumZCOM" => "98",
|
||||
"Rechtsnachfolge" => "98",
|
||||
|
||||
// 99: Other legal acquisition
|
||||
"Anderer rechtmäßiger Zugang" => "99",
|
||||
"Bodenreform" => "99",
|
||||
"sichergestellt" => "99",
|
||||
"Other legal acquisition" => "99",
|
||||
"Städt. Überlieferung" => "99",
|
||||
"Städtische Überlieferung" => "99",
|
||||
"Egyéb hivatalos megszerzés" => "99",
|
||||
"Global" => "99",
|
||||
"Zurückgegeben" => "99",
|
||||
"Übernahme" => "99",
|
||||
"Übernahme 1986" => "99",
|
||||
"Übernahme von Betrieb" => "99",
|
||||
"Teilbetrag" => "99",
|
||||
"mitgenommen" => "99",
|
||||
"Übernhame" => "99",
|
||||
"bernahme" => "99",
|
||||
"unbekant" => "99",
|
||||
"Ünernahme" => "99",
|
||||
"Übergabe" => "99",
|
||||
"Unbezeichnet" => "99",
|
||||
"unbezeichnet" => "99",
|
||||
"Übergabe abgeschr.B. DHM" => "99",
|
||||
"gyűjtés" => "99",
|
||||
"sch" => "99",
|
||||
"Auftragsarbeit für Museum" => "99",
|
||||
"um 1980 erworben" => "99",
|
||||
"Einzelkauf/Schenkung" => "99",
|
||||
"Schenkung / Leihgabe" => "99",
|
||||
"Ersessen" => "99",
|
||||
|
||||
];
|
||||
|
||||
@@ -208,11 +387,17 @@ final class MDConcEntryTypes implements MDImporterConcordanceListInterface {
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::ENTRY_TYPES_VERBOSE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown entry type: " . $input);
|
||||
if (isset(self::ENTRY_TYPES_VERBOSE[$input])) {
|
||||
return self::ENTRY_TYPES_VERBOSE[$input];
|
||||
}
|
||||
|
||||
return self::ENTRY_TYPES_VERBOSE[$input];
|
||||
$inputTrimmed = trim($input, " ,;.-_\t\n");
|
||||
if (isset(self::ENTRY_TYPES_VERBOSE[$inputTrimmed])) {
|
||||
return self::ENTRY_TYPES_VERBOSE[$inputTrimmed];
|
||||
}
|
||||
|
||||
MDImporterMissingConcordance::throw("entry (to museum)", $input);
|
||||
return "99"; // Return default in dry-run mode
|
||||
|
||||
}
|
||||
}
|
||||
+355
-7
@@ -14,28 +14,164 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
|
||||
private const EVENT_TYPE_NAMES_TO_ID = [
|
||||
|
||||
// 1: Created
|
||||
'' => 1,
|
||||
'Hergestellt' => 1,
|
||||
'Hergestellt vermutlich' => 1,
|
||||
'Herstellung Fassung' => 1,
|
||||
'Herstellung' => 1,
|
||||
'Ausführung und Herstellung' => 1,
|
||||
'Ausführung vermutet' => 1,
|
||||
'vermuteter Ausführungsort' => 1,
|
||||
'Ausführung
|
||||
Herstellung' => 1,
|
||||
'Entwurf und Ausführung' => 1,
|
||||
'Entwurf und Herstellung' => 1,
|
||||
'zugeschrieben' => 1,
|
||||
'ehem. zugeschrieben' => 1,
|
||||
'Mitarbeit' => 1,
|
||||
'Dekor' => 1,
|
||||
"event" => 1,
|
||||
"Ausführungsort" => 1,
|
||||
"Entwurf, Ausführung und Herstellung" => 1,
|
||||
"Event" => 1,
|
||||
"Створено" => 1,
|
||||
'http://terminology.lido-schema.org/lido00007',
|
||||
'Dekor vermutet' => 1,
|
||||
'Technischer Hersteller' => 1,
|
||||
'Herstellung vermutlich' => 1,
|
||||
'Herstellungsort' => 1,
|
||||
'vermuteter Herstellungsort' => 1,
|
||||
'vermuteter Herstellungsort
|
||||
vermuteter Herstellungsort' => 1,
|
||||
'Production' => 1,
|
||||
'production' => 1,
|
||||
'Herstellung des Exemplars' => 1,
|
||||
"Hertellung" => 1,
|
||||
'Bearbeitung' => 1,
|
||||
'Erschaffung/Herstellung' => 1,
|
||||
'creation' => 1,
|
||||
'bearbeitet' => 1,
|
||||
'gestempelt (' => 1,
|
||||
'gestempelt (\'' => 1,
|
||||
'Beginning of existence' => 1,
|
||||
'creation' => 1,
|
||||
'Ausformung' => 1,
|
||||
'Erschaffung/Herstellung' => 1,
|
||||
'Entwurf, Herstellung und Verlag' => 1,
|
||||
'Herstellung und Verlag' => 1,
|
||||
'Architekt/in' => 1, // created by
|
||||
"Guss" => 1,
|
||||
"Guß" => 1,
|
||||
'http://terminology.lido-schema.org/eventType/production' => 1,
|
||||
'Leipoldt, J.' => 1,
|
||||
'Produktion' => 1,
|
||||
'Rohleder, Walter, Reichenbach' => 1,
|
||||
'vermutet' => 1,
|
||||
// "Unknown event"
|
||||
'Aktivität' => 1,
|
||||
"Katograf" => 1,
|
||||
'http://terminology.lido-schema.org/lido00004' => 1,
|
||||
'Ereignis' => 1,
|
||||
'http://terminology.lido-schema.org/lido00003' => 1,
|
||||
'Herstellung des Abzugs/der Abformung' => 1,
|
||||
'Ausführung' => 1,
|
||||
'Gos-Mehrfacheintrag' => 1,
|
||||
'vermuteter Herstellungsort Fassung' => 1,
|
||||
'Herstellungsort Fassung' => 1,
|
||||
'Herstellungsort Hose' => 1,
|
||||
'Herstellungsort Münze' => 1,
|
||||
'Herstellung oder Vertrieb' => 1,
|
||||
'Herstellung zugeschrieben' => 1,
|
||||
'Umkreis' => 1,
|
||||
'Herstellungsort Parametisches Modell' => 1,
|
||||
'Herstellungsort Druck, Guss und Nachbearbeitung' => 1,
|
||||
|
||||
// 2: Was found
|
||||
'Fund' => 2,
|
||||
'Auffinden' => 2, // Finding
|
||||
'Ausgrabung' => 2, // Excavation
|
||||
'Excavation' => 2,
|
||||
'Fund' => 2, // Finding
|
||||
'Fund (Aktivität)' => 2,
|
||||
'Ausgrabung' => 2,
|
||||
'Finding' => 2,
|
||||
'Finding (Activity)' => 2,
|
||||
'Gefunden' => 2,
|
||||
'gefunden' => 2,
|
||||
'Auffindungsort' => 2,
|
||||
"Виявлення" => 2,
|
||||
"Виявленнґ" => 2,
|
||||
'Finding
|
||||
(Activity)' => 2,
|
||||
'http://terminology.lido-schema.org/lido00002' => 2,
|
||||
'Розкопки' => 2, // Excavation
|
||||
'Знахідка' => 2, // Find
|
||||
|
||||
// 3: Published
|
||||
'Published' => 3,
|
||||
'Veröffentlicht' => 3,
|
||||
'Veröffentlichung' => 3,
|
||||
'Veröffentlicht vermutet' => 3,
|
||||
'Verleger' => 3,
|
||||
'Verlagsort' => 3,
|
||||
'Verlag' => 3,
|
||||
'Verlag vermutet' => 3,
|
||||
'published' => 3,
|
||||
'http://terminology.lido-schema.org/eventType/publication' => 3,
|
||||
'Publikation' => 3,
|
||||
'Publishing' => 3,
|
||||
'Publication' => 3,
|
||||
'Publication Event' => 3,
|
||||
'Publication (Event)' => 3,
|
||||
|
||||
// 4: Template creation
|
||||
'Template creation' => 4,
|
||||
'Vorlagenerstellung' => 4,
|
||||
'Vorlagenerstellung vermutet' => 4,
|
||||
'Stichvorlage' => 4,
|
||||
'Vorlage' => 4,
|
||||
'nach' => 4,
|
||||
'Vorlage vermutet' => 4,
|
||||
'Entwurf; Vorlage' => 4,
|
||||
'Entwurfsort' => 4,
|
||||
'Entwurf Umkreis' => 4,
|
||||
'Entwurf vermutet' => 4,
|
||||
'Entwurf zugeschrieben' => 4,
|
||||
'Kopie nach' => 4,
|
||||
'Original / Vorlage' => 4,
|
||||
'Original / Vorlage zu' => 4,
|
||||
'Zeichnung nach' => 4,
|
||||
|
||||
// 5: Displayed actor
|
||||
'Was displayed (actor)' => 5,
|
||||
'Wurde abgebildet (Akteur)' => 5,
|
||||
'dargestellte Person' => 5,
|
||||
'Displayed actor' => 5,
|
||||
'Darstellung' => 5,
|
||||
|
||||
// 6: Was used
|
||||
'Aufführung' => 6,
|
||||
'Ausstellung' => 6,
|
||||
'Ausstellung (Aktivität)' => 6,
|
||||
'http://terminology.lido-schema.org/lido00225' => 6,
|
||||
'Verwendungsort' => 6,
|
||||
'Miniatur zugeschrieben an' => 6,
|
||||
'Move of object' => 6,
|
||||
'Wurde genutzt' => 6,
|
||||
'Verwendung' => 6,
|
||||
'gebrauch' => 6,
|
||||
'Gebrauch' => 6,
|
||||
'Use' => 6,
|
||||
'http://terminology.lido-schema.org/eventType/use' => 6,
|
||||
'Diener' => 6,
|
||||
'Digitalisierung' => 6,
|
||||
'Дослідження' => 6, // Research
|
||||
'Дослідження:' => 6, // Research
|
||||
|
||||
// 7: Written
|
||||
'Written' => 7,
|
||||
'Geschrieben' => 7,
|
||||
'Verfasst' => 7,
|
||||
'Text verfasst' => 7,
|
||||
'geschrieben' => 7,
|
||||
'verfasst' => 7,
|
||||
'Autor/in' => 7, // written by
|
||||
|
||||
// 8: Collected
|
||||
'Collected' => 8,
|
||||
@@ -43,14 +179,82 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
|
||||
'Sammeln' => 8,
|
||||
'Collecting' => 8,
|
||||
'Sammeltätigkeit' => 8,
|
||||
'Sammelereignis' => 8,
|
||||
'http://terminology.lido-schema.org/lido00010' => 8,
|
||||
'Zuordnung zu einem kuratierten Bestand' => 8,
|
||||
'http://terminology.lido-schema.org/lido01146' => 8,
|
||||
'Збирання/колекціонування' => 8, // Gathering/collecting
|
||||
'Знайдення' => 8, // Finding
|
||||
'знайдення' => 8, // Finding
|
||||
'Передача' => 8, // Transfer
|
||||
'передача' => 8, // Transfer
|
||||
'Привезена' => 8,
|
||||
'Передавання' => 8, // Transmission
|
||||
|
||||
// 9: => Painted
|
||||
'Painted' => 9,
|
||||
'Gemalt' => 9,
|
||||
"Malerei" => 9,
|
||||
|
||||
// 10: Recorded
|
||||
'Fotografische Aufnahme' => 10,
|
||||
'Aufnahme' => 10,
|
||||
'Aufgenommen' => 10,
|
||||
'Зроблено знімок' => 10,
|
||||
'Herstellung (Aufnahme)' => 10,
|
||||
|
||||
// '11' => Received
|
||||
'Adressat/in' => 11, // received by
|
||||
'Received' => 11,
|
||||
'Empfangen' => 11,
|
||||
'empfangen' => 11,
|
||||
'Отримання' => 11, // Receiving
|
||||
|
||||
// 12 => Printing plate produced
|
||||
'Printing plate produced' => 12,
|
||||
'Druckplatte hergestellt' => 12,
|
||||
"Hat Druckplatte hergestellt" => 12,
|
||||
'Herstellung der Druckform/Form' => 12,
|
||||
'Kupferstecher' => 12,
|
||||
"Hat Druckplatte erstellt" => 12,
|
||||
"Hat Druckplatte hergestellt vermutet" => 12,
|
||||
'http://terminology.lido-schema.org/lido00484' => 12,
|
||||
|
||||
// '13' => Sent
|
||||
'Sent' => 13,
|
||||
'Gesendet' => 13,
|
||||
'Versendet' => 13,
|
||||
'Abgeschickt' => 13,
|
||||
|
||||
// '14' => Issued
|
||||
'Issued' => 14,
|
||||
'Ausgefertigt' => 14,
|
||||
|
||||
// '15' => Signed
|
||||
'Signed' => 15,
|
||||
'Unterzeichnet' => 15,
|
||||
|
||||
// '16' => First description
|
||||
'First description' => 16,
|
||||
'Erstbeschreibung' => 16,
|
||||
'Typuszuweisung' => 16,
|
||||
'http://terminology.lido-schema.org/lido00023' => 16,
|
||||
|
||||
// '19' => Drawn
|
||||
'Drawn' => 19,
|
||||
'Gezeichnet' => 19,
|
||||
'Gezeichnet vermutet' => 19,
|
||||
'Zeichnen' => 19,
|
||||
|
||||
// 20: Copied
|
||||
'Copied' => 20,
|
||||
'Kopiert' => 20,
|
||||
'Kopie' => 20,
|
||||
'Abgeschrieben' => 20,
|
||||
|
||||
// 21: Lived
|
||||
'Lived' => 21,
|
||||
'Gelebt' => 21,
|
||||
|
||||
// 22: Related place
|
||||
'Geografischer Bezug' => 22,
|
||||
@@ -61,16 +265,159 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
|
||||
'Auftrag' => 25,
|
||||
'Commissioning' => 25,
|
||||
'Beauftragung' => 25,
|
||||
'Beauftragt' => 25,
|
||||
|
||||
// 26 => Printed
|
||||
'Printed' => 26,
|
||||
'Gedruckt' => 26,
|
||||
'Nachdruck' => 26,
|
||||
|
||||
// 27 => Recorded
|
||||
'Recorded song' => 27,
|
||||
|
||||
// 28 => Sung
|
||||
'Sung' => 28,
|
||||
'Gesungen' => 28,
|
||||
'Gesprochen' => 28, // ?
|
||||
'Sprecher' => 28, // ?
|
||||
|
||||
// 29 => Decor designed
|
||||
'Decor designed' => 29,
|
||||
'Dekor entworfen' => 29,
|
||||
|
||||
// 30 => Form designed
|
||||
'Form designed' => 30,
|
||||
'Form entworfen' => 30,
|
||||
|
||||
// 31 => Modelled
|
||||
'Modell' => 31,
|
||||
'Modelled' => 31,
|
||||
'Modelliert' => 31,
|
||||
|
||||
// 32 => Autographed/Signed
|
||||
'Autographed/Signed' => 32,
|
||||
'Signiert' => 32,
|
||||
|
||||
// 33 => Mentioned
|
||||
'Mentioned' => 33,
|
||||
'Wurde erwähnt' => 33,
|
||||
|
||||
// 34 => Buried
|
||||
'Buried' => 34,
|
||||
'Vergraben' => 34,
|
||||
|
||||
// 35: Intellectual creation
|
||||
'Design' => 35,
|
||||
'design' => 35,
|
||||
'Designing' => 35,
|
||||
'komponiert' => 35,
|
||||
'Entwerfen' => 35,
|
||||
'Entwurf' => 35,
|
||||
'vermuteter Entwurfsort' => 35,
|
||||
'Geistige Schöpfung' => 35,
|
||||
'Geistige Schöpfung vermutet' => 35,
|
||||
'Kulturelle Zuschreibung' => 35,
|
||||
'Merkmalszuweisung' => 35,
|
||||
'http://terminology.lido-schema.org/lido00024' => 35,
|
||||
'http://terminology.lido-schema.org/lido00224' => 35,
|
||||
|
||||
// 36 => Was depicted
|
||||
'Was depicted (place)' => 36,
|
||||
'Wurde abgebildet (Ort)' => 36,
|
||||
|
||||
// 37 => Painted on
|
||||
'Painted on' => 37,
|
||||
'Bemalt' => 37,
|
||||
"Porzellanplatte mit Grisaille-Malerei" => 37,
|
||||
|
||||
// 38 => Illustrated
|
||||
'Illustrated' => 38,
|
||||
'Illustriert' => 38,
|
||||
|
||||
// 39 => Assembled
|
||||
'Assembled' => 39,
|
||||
'Was assembled' => 39,
|
||||
'zusammengefügt' => 39,
|
||||
'Wurde zusammengefügt' => 39,
|
||||
|
||||
// 40 => Auctioned
|
||||
'Auctioned' => 40,
|
||||
'Was auctioned' => 40,
|
||||
'Versteigert' => 40,
|
||||
'Wurde versteigert' => 40,
|
||||
|
||||
// 41: Was Bought
|
||||
'Erwerb' => 41,
|
||||
'Acquisition (Activity)' => 41,
|
||||
'Kauf' => 41,
|
||||
'Gekauft' => 41,
|
||||
'acquisition_Kauf' => 41,
|
||||
|
||||
// 42: Owned
|
||||
'acquisition_unbekannt' => 42,
|
||||
'acquisition_Leipoldt' => 42,
|
||||
'acquisition_Mehlig, P.' => 42,
|
||||
'acquisition_Krone, Hermann' => 42,
|
||||
'acquisition_Schlegel, Charlotte' => 42,
|
||||
'acquisition_Schröder' => 42,
|
||||
'acquisition_Meier, Th.J.' => 42,
|
||||
'acquisition_Schaarschuh, Dresden' => 42,
|
||||
'acquisition_Schönfelder, R.' => 42,
|
||||
'acquisition_Neumeister' => 42,
|
||||
'acquisition_Oehmichen' => 42,
|
||||
'acquisition_Photo-Schröder' => 42,
|
||||
'acquisition_Rohleder' => 42,
|
||||
'acquisition_Mehlig' => 42,
|
||||
'Provenienz' => 42,
|
||||
'Provenance' => 42,
|
||||
'Besessen' => 42,
|
||||
'VorbesitzerIn' => 42,
|
||||
'http://terminology.lido-schema.org/lido00227' => 42,
|
||||
|
||||
// 43: Was sold
|
||||
'was sold' => 43,
|
||||
'Verkauft' => 43,
|
||||
'Verkauf' => 43,
|
||||
'Acquisition / Selling' => 43,
|
||||
'Vertrieb' => 43,
|
||||
|
||||
// 44: Restorated
|
||||
'Restaurierung' => 44,
|
||||
'Restauriert' => 44,
|
||||
'wurde restauriert' => 44,
|
||||
|
||||
// 45: Damaged
|
||||
'Damaged' => 44,
|
||||
'Beschädigung' => 44,
|
||||
'wurde beschädigt' => 44,
|
||||
|
||||
// 48: Edited
|
||||
'Herausgegeben' => 48,
|
||||
'Verlag zugeschrieben' => 48,
|
||||
"publication" => 48,
|
||||
|
||||
// 49: Gifted, donated
|
||||
'Schenkung' => 49,
|
||||
'Nachlass' => 49,
|
||||
'Übergabe' => 49,
|
||||
'Stiftung' => 49,
|
||||
'Donation' => 49,
|
||||
'Gespendet / Geschenkt' => 49,
|
||||
'acquisition_Schenkung' => 49,
|
||||
'acquisition_Nachlass' => 49,
|
||||
'acquisition_Übergabe' => 49,
|
||||
'acquisition_Stiftung' => 49,
|
||||
'acquisition_Bodenreform' => 49,
|
||||
'Gespendet / gespendet' => 49,
|
||||
'Пожертвувано / подаровано' => 49,
|
||||
|
||||
// General acquisition
|
||||
'Erwerb' => 56,
|
||||
'Erwerbung' => 56,
|
||||
'http://terminology.lido-schema.org/lido01151' => 56,
|
||||
'http://terminology.lido-schema.org/lido00001' => 56,
|
||||
'Acquisition' => 56,
|
||||
'Acquisition (Activity)' => 56,
|
||||
'Bodenreform' => 56,
|
||||
'acquisition_Diener' => 56,
|
||||
|
||||
];
|
||||
|
||||
@@ -84,7 +431,8 @@ final class MDConcEventTypes implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):int {
|
||||
|
||||
if (!isset(self::EVENT_TYPE_NAMES_TO_ID[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown entry type: " . $input);
|
||||
MDImporterMissingConcordance::throw("event", $input);
|
||||
return 1; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::EVENT_TYPE_NAMES_TO_ID[$input];
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
<?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 tag;
|
||||
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 {
|
||||
|
||||
$output = match($input) {
|
||||
|
||||
"Dokumentiert in",
|
||||
"dokumentiert in",
|
||||
'is documented in',
|
||||
"Erwähnung in",
|
||||
":iterature",
|
||||
"Beschrieben in",
|
||||
"Literatur",
|
||||
"Literatur in Zusammenhang",
|
||||
'Literatur zum Stück',
|
||||
'Standardzitierwerk',
|
||||
'beschrieben in',
|
||||
"Reproduziert in: ",
|
||||
"reproduziert in: ",
|
||||
"reproduced in: ",
|
||||
"Reproduziert in",
|
||||
"reproduziert in",
|
||||
"reproduced in",
|
||||
"wird beschrieben in",
|
||||
'http://digicult.vocnet.org/terminology/ter01113',
|
||||
'http://terminology.lido-schema.org/lido00617',
|
||||
'Quelle',
|
||||
"Gehört thematisch zu",
|
||||
"beschrieben in" => self::literature,
|
||||
|
||||
"Teil von",
|
||||
"ist Teil von",
|
||||
"ist physischer Teil von",
|
||||
"Gehört zu",
|
||||
"gehört zu",
|
||||
"Sammlung",
|
||||
"Gehört zu Sammlung",
|
||||
"gehört zu Sammlung",
|
||||
"Part of",
|
||||
"Gesamtwerk",
|
||||
"part of",
|
||||
"Photoserie",
|
||||
"Mappe",
|
||||
"series",
|
||||
"Nachlass",
|
||||
"Vorlass",
|
||||
"Konvolut",
|
||||
"http://digicult.vocnet.org/terminology/ter00235",
|
||||
"Serie" => self::series,
|
||||
|
||||
"hat Vorlage",
|
||||
"Kopie von",
|
||||
"Objekt",
|
||||
"ist Version von",
|
||||
"inhaltlicher Bezug zu",
|
||||
'Vorlage für',
|
||||
'hat Studie',
|
||||
'vorbereitend für',
|
||||
'Entwurf für',
|
||||
'hat Reproduktion',
|
||||
'abgeleitet von',
|
||||
'auf einem Blatt mit',
|
||||
'hat Entwurf',
|
||||
'Skizze für',
|
||||
'hat Skizze',
|
||||
'hat Druckplatte',
|
||||
'Reproduktion von',
|
||||
'Druckplatte für',
|
||||
'Studie für',
|
||||
'Beinhaltet',
|
||||
'hat Gegendruck',
|
||||
'Gegendruck zu',
|
||||
'Wiedergabe von',
|
||||
'Wiedergabe für',
|
||||
"Teil",
|
||||
'verso von',
|
||||
'recto von',
|
||||
"Teil 1",
|
||||
"Teil 2",
|
||||
"Teil 3",
|
||||
"Teil 4",
|
||||
"hat 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",
|
||||
"Abbildung identisch",
|
||||
'http://digicult.vocnet.org/terminology/ter00223',
|
||||
"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",
|
||||
"hat vorbereitende Studie",
|
||||
"basiert auf",
|
||||
"Druck",
|
||||
"Referenz",
|
||||
"Haupttafel",
|
||||
"Faksimile",
|
||||
"Blatt",
|
||||
"Photo",
|
||||
"Einzelteil",
|
||||
'Objekt identisch',
|
||||
'Form von',
|
||||
'Formprodukt von',
|
||||
'Abbildung weitgehend identisch',
|
||||
'abgebildet auf/in',
|
||||
'bildet ab',
|
||||
'basierend auf',
|
||||
'Pendant zu',
|
||||
'ist Pendant zu',
|
||||
'Ist Pendant zu',
|
||||
'Pendant von',
|
||||
'ist Pendant von',
|
||||
'Ist Pendant von',
|
||||
'enthält',
|
||||
'hat Bezug zu',
|
||||
'Abzug',
|
||||
'weiterer Abzug',
|
||||
"Teil desselben Werkprozesses",
|
||||
"part of the same work process",
|
||||
"ist Abzug von Druckform",
|
||||
"hat physischen Teil",
|
||||
'exemplifies',
|
||||
'bezogen auf',
|
||||
'http://terminology.lido-schema.org/lido00263',
|
||||
'http://digicult.vocnet.org/terminology/ter00224',
|
||||
'http://digicult.vocnet.org/terminology/ter00225',
|
||||
'http://digicult.vocnet.org/terminology/ter00230',
|
||||
'http://digicult.vocnet.org/terminology/ter00231',
|
||||
'http://digicult.vocnet.org/terminology/ter00233',
|
||||
'http://digicult.vocnet.org/terminology/ter00234',
|
||||
'http://digicult.vocnet.org/terminology/ter00243',
|
||||
'http://digicult.vocnet.org/terminology/ter00238',
|
||||
'http://digicult.vocnet.org/terminology/ter01237',
|
||||
"verwandt mit",
|
||||
"Zusammen ein Ganzes bildend mit",
|
||||
"Vorlage" => self::related_works_freetext,
|
||||
|
||||
"Film" => self::tag,
|
||||
|
||||
"Weblink",
|
||||
"Web link",
|
||||
"Fachportal",
|
||||
'Externer Link',
|
||||
'http://digicult.vocnet.org/terminology/ter01391'
|
||||
=> self::weblink,
|
||||
|
||||
"" => self::undefined,
|
||||
|
||||
default => null,
|
||||
};
|
||||
|
||||
if ($output === null) {
|
||||
MDImporterMissingConcordance::throw("related work type", $input);
|
||||
return self::undefined; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
||||
}
|
||||
}
|
||||
+62
-1
@@ -12,8 +12,68 @@ declare(strict_types = 1);
|
||||
final class MDConcLanguages implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const LANGUAGES_LIST = [
|
||||
# English
|
||||
'English' => 'en',
|
||||
'englisch' => 'en',
|
||||
'Englisch' => 'en',
|
||||
'Englisch\'' => 'en',
|
||||
'eng' => 'en',
|
||||
'EN' => 'en',
|
||||
'ENG' => 'en',
|
||||
'eng; ger' => 'en',
|
||||
'en-GB' => 'en',
|
||||
|
||||
# German
|
||||
'Deutsch' => 'de',
|
||||
'deutsch' => 'de',
|
||||
'German' => 'de',
|
||||
'ger' => 'de',
|
||||
'deu' => 'de',
|
||||
'Buch' => 'de',
|
||||
'Deutsch, Latein' => 'de',
|
||||
'deutsch, französisch' => 'de',
|
||||
'deutsch, russisch' => 'de',
|
||||
'deutsch u. plattdeutsch' => 'de',
|
||||
'deutsch / englisch' => 'de',
|
||||
'deurtsch' => 'de',
|
||||
'lat; ger' => 'de',
|
||||
'ger; lat' => 'de',
|
||||
'ger; eng' => 'de',
|
||||
|
||||
# Latin
|
||||
'lat' => 'la',
|
||||
|
||||
# Russian
|
||||
'rus' => 'ru',
|
||||
|
||||
# Hungarian
|
||||
'Hungarian' => 'hu',
|
||||
'Magyar' => 'hu',
|
||||
|
||||
# Czech
|
||||
'Tschechisch' => 'cs',
|
||||
'tschechisch' => 'cs',
|
||||
'cz' => 'cs',
|
||||
|
||||
# Plattdeutsch / Niederdeutsch
|
||||
'plattdeutsch' => 'nds',
|
||||
|
||||
# Latin
|
||||
'Latein' => 'la',
|
||||
'Latein, Deutsch, Italenisch, Spanisch, Englisch' => 'la',
|
||||
|
||||
# French
|
||||
'fra' => 'fr',
|
||||
'fre' => 'fr',
|
||||
'Französisch' => 'fr',
|
||||
'französisch' => 'fr',
|
||||
|
||||
# Italian
|
||||
'ita' => 'it',
|
||||
'it-it' => 'it',
|
||||
'italienisch' => 'it',
|
||||
'Italienisch' => 'it',
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -26,7 +86,8 @@ final class MDConcLanguages implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::LANGUAGES_LIST[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown language type: " . $input);
|
||||
MDImporterMissingConcordance::throw("language", $input);
|
||||
return "de"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::LANGUAGES_LIST[$input];
|
||||
|
||||
+105
-17
@@ -10,31 +10,119 @@ declare(strict_types = 1);
|
||||
* Provides lists for categorizing misspelled sizes.
|
||||
*/
|
||||
final class MDConcLengths implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const LENGTHS_LIST = [
|
||||
"cn" => "cm",
|
||||
",cm" => "cm",
|
||||
"5cm" => "cm",
|
||||
|
||||
"inch" => "in",
|
||||
"Zoll" => "in",
|
||||
"zoll" => "in",
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
* @return MDLengthUnit|false
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
public static function getConcordanceTarget(string $input):MDLengthUnit|false {
|
||||
|
||||
if (!isset(self::LENGTHS_LIST[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown length type: " . $input);
|
||||
}
|
||||
return match(trim($input)) {
|
||||
// Default: Empty
|
||||
"Breite",
|
||||
"breite",
|
||||
"Width",
|
||||
"width",
|
||||
"Höhe",
|
||||
"höhe",
|
||||
"Height",
|
||||
"height",
|
||||
"´´´",
|
||||
"Theater",
|
||||
"Oper",
|
||||
"min",
|
||||
"-",
|
||||
"a)",
|
||||
"/",
|
||||
"geöffnet",
|
||||
"Scheibe",
|
||||
"Trageöse",
|
||||
"ohneRahmen",
|
||||
"mitRahmen",
|
||||
"ohne Rahmen",
|
||||
"mit Rahmen",
|
||||
"Verpackung",
|
||||
"mitFassung",
|
||||
"ohneFassung",
|
||||
"mit Fassung",
|
||||
"ohne Fassung",
|
||||
"nichtfeststellbar",
|
||||
"nicht feststellbar",
|
||||
"amBodenhinten",
|
||||
"am Bodenhinten",
|
||||
"am Boden hinten",
|
||||
"andenSchildzapfen",
|
||||
"an den Schildzapfen",
|
||||
"anderMündung",
|
||||
"an der Mündung",
|
||||
"Fuß",
|
||||
"Innendurchmesser",
|
||||
"mitStulpe",
|
||||
"mit Stulpe",
|
||||
"mitHolzrahmen",
|
||||
"mit Holzrahmen",
|
||||
"mitStahlrahmen",
|
||||
"mit Stahlrahmen",
|
||||
"Pfeilhöhe",
|
||||
"Klingenbreite",
|
||||
"bis",
|
||||
"vorne",
|
||||
"hinten",
|
||||
"zwischenund",
|
||||
"Standring",
|
||||
"g",
|
||||
"kleinsterDurchmesser",
|
||||
"größterDurchmesser",
|
||||
"kleinster Durchmesser",
|
||||
"größter Durchmesser",
|
||||
"Klinge",
|
||||
"Henkel",
|
||||
"mitFaden",
|
||||
"mit Faden",
|
||||
"ohneFaden",
|
||||
"ohne Faden",
|
||||
"nichtmessbar",
|
||||
"nicht messbar",
|
||||
"Stoffbreite" => false,
|
||||
|
||||
return self::LENGTHS_LIST[$input];
|
||||
// cm
|
||||
"cn",
|
||||
"ca. cm",
|
||||
",cm",
|
||||
"cm",
|
||||
"5cm",
|
||||
"Zentimeter",
|
||||
"см",
|
||||
"",
|
||||
"ca" => MDLengthUnit::cm,
|
||||
|
||||
"Meter",
|
||||
"Meters",
|
||||
"meter",
|
||||
"meters" => MDLengthUnit::m,
|
||||
|
||||
"Milimeter",
|
||||
"Milimeters",
|
||||
"Millimeter",
|
||||
"Millimeters",
|
||||
"мм",
|
||||
"ma" => MDLengthUnit::mm,
|
||||
|
||||
"inch",
|
||||
"Inch",
|
||||
"inches",
|
||||
"Inches",
|
||||
"Zoll",
|
||||
"zoll" => MDLengthUnit::in,
|
||||
|
||||
"Fuß",
|
||||
"ft" => MDConcLengths::ft,
|
||||
|
||||
default => throw new MDInvalidLengthUnit("Invalid length unit '" . $input . "'"),
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
+113
-2
@@ -12,17 +12,52 @@ declare(strict_types = 1);
|
||||
final class MDConcLicenses implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const LICENSES_LIST = [
|
||||
"CCO" => "CC0",
|
||||
"CC 0" => "CC0",
|
||||
"CC_0" => "CC0",
|
||||
"CC O" => "CC0",
|
||||
"CC0 1.0" => "CC0",
|
||||
"CC 0 1.0" => "CC0",
|
||||
"CC_0 1.0" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2020" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2021" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2022" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2023" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2024" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2025" => "CC0",
|
||||
"CC0 1.0 Foto: SKKG 2026" => "CC0",
|
||||
"CC0 1.0 Universell" => "CC0",
|
||||
"CC0 1.0 Universell (CC0 1.0)" => "CC0",
|
||||
"CC0 1.0 Universal (CC0 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/" => "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/" => "CC0",
|
||||
"https://creativecommons.org/publicdomain/zero/1.0/deed.de" => "CC0",
|
||||
|
||||
"CC_BY" => "CC BY",
|
||||
"CC-BY" => "CC BY",
|
||||
"CC.BY" => "CC BY",
|
||||
"https://creativecommons.org/licenses/by-sa/4.0/" => "CC BY",
|
||||
"CC BY 4.0" => "CC BY",
|
||||
"CC_BY 4.0" => "CC BY",
|
||||
"CC-BY 4.0" => "CC BY",
|
||||
"CC.BY 4.0" => "CC BY",
|
||||
"CC BY 4.0 Erbengemeinschaft Hans Jörg LimbachFoto: SKKG 2022" => "CC BY",
|
||||
"CC BY 4.0 Erbengemeinschaft Hans Jörg LimbachFoto: SKKG 2023" => "CC BY",
|
||||
"CC BY 4.0 Erbengemeinschaft Hans Jörg Limbach" => "CC BY",
|
||||
"http://creativecommons.org/licenses/by/4.0" => "CC BY",
|
||||
"http://creativecommons.org/licenses/by/4.0/" => "CC BY",
|
||||
"http://creativecommons.org/licenses/by/4.0/de" => "CC BY",
|
||||
"http://creativecommons.org/licenses/by/4.0/deed.de" => "CC BY",
|
||||
"https://creativecommons.org/licenses/by/4.0" => "CC BY",
|
||||
"https://creativecommons.org/licenses/by/4.0/" => "CC BY",
|
||||
"https://creativecommons.org/licenses/by/4.0/de" => "CC BY",
|
||||
"https://creativecommons.org/licenses/by/4.0/deed.de" => "CC BY",
|
||||
"Namensnennung 4.0. International (CC BY 4.0)" => "CC BY",
|
||||
"Namensnennung 4.0 International - CC BY 4.0" => "CC BY",
|
||||
"Namensnennung 4.0 International - (CC BY 4.0)" => "CC BY",
|
||||
|
||||
"CC BY SA" => "CC BY-SA",
|
||||
"CC BY-SA-" => "CC BY-SA",
|
||||
@@ -31,43 +66,118 @@ final class MDConcLicenses implements MDImporterConcordanceListInterface {
|
||||
"CC-BY-SA" => "CC BY-SA",
|
||||
"CC.BY-SA" => "CC BY-SA",
|
||||
"CC BY-SA 4.0" => "CC BY-SA",
|
||||
"CC BY SA 4.0" => "CC BY-SA",
|
||||
"CC BY-SA 4.1" => "CC BY-SA",
|
||||
"CC BY-SA 4.2" => "CC BY-SA",
|
||||
"CC BY-SA 4.3" => "CC BY-SA",
|
||||
"CC BY-SA 4.4" => "CC BY-SA",
|
||||
"CC BY-SA 4.5" => "CC BY-SA",
|
||||
"CC BY-SA 4.6" => "CC BY-SA",
|
||||
"CC BY-SA 4.7" => "CC BY-SA",
|
||||
"CC BY-SA 4.8" => "CC BY-SA",
|
||||
"CC BY-SA 4.9" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/3.0/" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/3.0/de" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/3.0/de/" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/3.0/deed.de" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/3.0/" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/3.0/de" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/3.0/de/" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/3.0/deed.de" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/4.0/de" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/4.0/de/" => "CC BY-SA",
|
||||
"http://creativecommons.org/licenses/by-sa/4.0/deed.de" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/4.0/" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/4.0/de" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/4.0/de/" => "CC BY-SA",
|
||||
"https://creativecommons.org/licenses/by-sa/4.0/deed.de" => "CC BY-SA",
|
||||
"Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International (CC 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-SA 4.0 - Namensnennung, Weitergabe unter gleichen Bedingungen" => "CC BY-SA",
|
||||
|
||||
"CC BY_NC" => "CC BY-NC",
|
||||
"CC_BY_NC" => "CC BY-NC",
|
||||
"CC-BY-NC" => "CC BY-NC",
|
||||
"CC.BY-NC" => "CC BY-NC",
|
||||
"http://creativecommons.org/licenses/by-nc/4.0/" => "CC BY-NC",
|
||||
"https://creativecommons.org/licenses/by-nc/4.0/" => "CC BY-NC",
|
||||
"CC BY-NC 4.0 - Namensnennung, nicht kommerziell, keine Bearbeitung" => "CC BY-NC",
|
||||
|
||||
"CC BY_NC_SA" => "CC BY-NC-SA",
|
||||
"CC_BY_NC_SA" => "CC BY-NC-SA",
|
||||
"CC BY NC SA" => "CC BY-NC-SA",
|
||||
"CC-BY-NC-SA" => "CC BY-NC-SA",
|
||||
"CC.BY-NC-SA" => "CC BY-NC-SA",
|
||||
"CC BY-NC-SA 3.0" => "CC BY-NC-SA",
|
||||
"CC BY-NC-SA 3.0 AT" => "CC BY-NC-SA",
|
||||
"CC BY-NC-SA 4.0" => "CC BY-NC-SA",
|
||||
"http://creativecommons.org/licenses/by-nc-sa/3.0/" => "CC BY-NC-SA",
|
||||
"http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" => "CC BY-NC-SA",
|
||||
"http://creativecommons.org/licenses/by-nc-sa/4.0/" => "CC BY-NC-SA",
|
||||
"http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" => "CC BY-NC-SA",
|
||||
"https://creativecommons.org/licenses/by-nc-sa/4.0/" => "CC BY-NC-SA",
|
||||
"https://creativecommons.org/licenses/by-nc-sa/4.0/deed.de" => "CC BY-NC-SA",
|
||||
"Namensnennung - Nicht kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-NC-SA 4.0)" => "CC BY-NC-SA",
|
||||
"CC BY-NC-SA 4.0 - Namensnennung, nicht kommerziell, Weitergabe unter gleichen Bedingungen" => "CC BY-NC-SA",
|
||||
|
||||
"CC BY_NC_ND" => "CC BY-NC-ND",
|
||||
"CC_BY_NC_ND" => "CC BY-NC-ND",
|
||||
"CC-BY-NC-ND" => "CC BY-NC-ND",
|
||||
"CC.BY-NC-ND" => "CC BY-NC-ND",
|
||||
"CC BY-NC-ND 4.0" => "CC BY-NC-ND",
|
||||
"http://creativecommons.org/licenses/by-nc-nd/4.0/" => "CC BY-NC-ND",
|
||||
"https://creativecommons.org/licenses/by-nc-nd/4.0/" => "CC BY-NC-ND",
|
||||
"http://creativecommons.org/licenses/by-nc-nd/3.0/de/" => "CC BY-NC-ND",
|
||||
"https://creativecommons.org/licenses/by-nc-nd/4.0/deed.de" => "CC BY-NC-ND",
|
||||
"https://creativecommons.org/licenses/by-nc-nd/3.0/de/" => "CC BY-NC-ND",
|
||||
|
||||
"CC BY-ND 4.0 - Namensnennung, Keine Bearbeitungen 4.0" => "CC BY-ND",
|
||||
|
||||
"https://www.deutsche-digitale-bibliothek.de/content/lizenzen/rv-fz" => "RR-F",
|
||||
"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",
|
||||
"Rechte vorbehalten – Freier Zugang" => "RR-F",
|
||||
"Rechte vorbehalten (InC 1.0)" => "RR-F",
|
||||
"http://rightsstatements.org/vocab/InC/1.0/" => "RR-F",
|
||||
"http://rightsstatements.org/page/InC/1.0/" => "RR-F",
|
||||
"https://rightsstatements.org/page/InC/1.0/" => "RR-F",
|
||||
"Alle Rechte vorbehalten" => "RR-F",
|
||||
"Alle Rechte vorbehalten." => "RR-F",
|
||||
"Alle Rechte vorbehalten - Urhebererechtlich geschütztes Werk" => "RR-F",
|
||||
"Urheberrechtsschutz (InC)" => "RR-F",
|
||||
"IN COPYRIGHT" => "RR-P",
|
||||
"Rechtsstatus unbekannt" => "RR-P",
|
||||
"none" => "RR-F",
|
||||
"©" => "RR-F",
|
||||
|
||||
"http://www.europeana.eu/rights/rr-r/" => "RR-R",
|
||||
"https://www.europeana.eu/rights/rr-r/" => "RR-R",
|
||||
"Keine Verwendung erlaubt" => "RR-R",
|
||||
|
||||
"Orphan Work" => "Orphan Work",
|
||||
"Urheberrechtsschutz - Verwaistes Werk EU (InC-OW-EU)" => "Orphan Work",
|
||||
|
||||
'PDM' => 'Public Domain Mark',
|
||||
'Public Domain Mark 1.0' => 'Public Domain Mark',
|
||||
'PDM 1.0' => 'Public Domain Mark',
|
||||
'http://creativecommons.org/publicdomain/mark/1.0/' => 'Public Domain Mark',
|
||||
'https://creativecommons.org/public-domain/pdm/' => 'Public Domain Mark',
|
||||
'https://creativecommons.org/publicdomain/mark/1.0' => 'Public Domain Mark',
|
||||
'https://creativecommons.org/publicdomain/mark/1.0/' => 'Public Domain Mark',
|
||||
'https://creativecommons.org/publicdomain/mark/1.0/deed.de' => 'Public Domain Mark',
|
||||
'https://creativecommons.org/publicdomain/mark/1.0/deed.de/' => 'Public Domain Mark',
|
||||
'Public Domain Mark 1.0 - Weltweit frei von bekannten urheberrechtlichen Einschränkungen' => 'Public Domain Mark',
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -80,7 +190,8 @@ final class MDConcLicenses implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::LICENSES_LIST[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown licence type: " . $input);
|
||||
MDImporterMissingConcordance::throw("licence", $input);
|
||||
return "RR-F"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::LICENSES_LIST[$input];
|
||||
|
||||
@@ -31,7 +31,8 @@ final class MDConcLoanTypes implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::LOAN_TYPES[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown loan type: " . $input);
|
||||
MDImporterMissingConcordance::throw("loan", $input);
|
||||
return "outgoing"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::LOAN_TYPES[$input];
|
||||
|
||||
+774
-10
@@ -19,47 +19,210 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"mittig auf Schild" => "center",
|
||||
"Vorderseite, mittig" => "center",
|
||||
"beidseitig mittig" => "center",
|
||||
'Auf Vorderseite der Parierstange mittig' => 'center', // Center
|
||||
'Mitte bis oberes Drittel' => 'center', // Center
|
||||
'Schmutztitelseite, mittig' => 'center', // Center
|
||||
'Unterseite mittig' => 'center', // Center
|
||||
"untere Passpartoutkante, mittig" => "center",
|
||||
"Mitte" => "center",
|
||||
'mittig auf der Schale' => 'center', // Center
|
||||
"vorn am Kasten, mittig, einseitig" => "center",
|
||||
"an Gehäuse mittig" => "center",
|
||||
'mitte' => 'center', // Center
|
||||
'Vorderseite mittig' => 'center', // Center
|
||||
'Vorderseite, Mitte ' => 'center', // Center
|
||||
'Mittig auf S 7083/1' => 'center', // Center
|
||||
'Mittig auf S 7083/2' => 'center', // Center
|
||||
'Mittig auf dem durchsichtigen Haubendom' => 'center', // Center
|
||||
'Mittig zentral' => 'center', // Center
|
||||
|
||||
// Left
|
||||
"Links" => "left",
|
||||
"links" => "left",
|
||||
"linke Ecke im Aquarell" => "left",
|
||||
"linkes, blaues Schleifenband" => "left",
|
||||
"linkes, grünes Schleifenband" => "left",
|
||||
'an der linken Seite der Plinthe' => 'left', // Left
|
||||
'linke Aussenseite' => 'left', // Left
|
||||
'Sockel links' => 'left', // Left
|
||||
'vorne links in Hohlkehle' => 'left', // Left
|
||||
"linkes Band" => "left",
|
||||
"mittig links" => "left",
|
||||
"Waagebalken links" => "left",
|
||||
"Vorderseite links (Brusthöhe)" => "left",
|
||||
"an Skala links und am Gehäuse Fronseite" => "left",
|
||||
'mitte links' => 'left', // Left
|
||||
'Vorderseite links' => 'left', // Left
|
||||
'am linken Bildrand' => 'left', // Left
|
||||
'im linken Hebel' => 'left', // Left
|
||||
'linke Seite am Hals' => 'left', // Left
|
||||
'linker Ärmel' => 'left', // Left
|
||||
|
||||
// Right
|
||||
"mittig rechts" => "right",
|
||||
"Rechts" => "right",
|
||||
"rechts" => "right",
|
||||
"mititg rechts" => "right",
|
||||
"rechts neben Bildnis" => "right",
|
||||
'Vorderseite, rechts neben der Schulter' => 'right',
|
||||
'S 2560/2 am Bund vorne rechts' => 'right', // Right
|
||||
'auf dem rechten Rand' => 'right', // Right
|
||||
"Rechter Bildrand" => "right",
|
||||
'rechte Schulter' => 'right', // Right
|
||||
'rechte Längsseite' => 'right', // Right
|
||||
'Über dem rechten Glasfenster.' => 'right', // Right
|
||||
"Balken rechts" => "right",
|
||||
'Mitte rechts' => 'right', // Right
|
||||
'Frontseite, rechts' => 'right', // Right
|
||||
'Sockel rechts' => 'right', // Right
|
||||
'am rechten Bildrand' => 'right', // Right
|
||||
'Vorderseite rechts' => 'right', // Right
|
||||
'Vorderseite, rechts' => 'right', // Right
|
||||
|
||||
// Bottom
|
||||
"unten" => "bottom",
|
||||
'Mitte unten' => 'bottom', // Bottom
|
||||
'unten links u. rechts' => 'bottom', // Bottom
|
||||
'unten rechts/links' => 'bottom', // Bottom
|
||||
'Unten auf den Schminkstiften' => 'bottom', // Bottom
|
||||
'Unterhalb der Schraube auf der Vorderseite' => 'bottom', // Bottom
|
||||
'auf dem Tassenboden' => 'bottom', // Bottom
|
||||
'unten am Hals' => 'bottom', // Bottom
|
||||
'Erste Seite unten' => 'bottom', // Bottom
|
||||
'Fuß' => 'bottom', // Bottom
|
||||
'Seite zwei unten' => 'bottom', // Bottom
|
||||
'Sitzfläche unten' => 'bottom', // Bottom
|
||||
'Vorderseite, unten' => 'bottom', // Bottom
|
||||
'Vorderseite, unterer Bildrand' => 'bottom', // Bottom
|
||||
'auf Seite drei untere Hälfte' => 'bottom', // Bottom
|
||||
'Unterseite Becher' => 'bottom', // Bottom
|
||||
'Unterseite Tablett' => 'bottom', // Bottom
|
||||
'Bildrand unten mittig' => 'bottom', // Bottom
|
||||
'Bildrand unten' => 'bottom',
|
||||
'Bildrand unten, \'auf dem Kopf\'' => 'bottom', // Bottom
|
||||
'auf der Unterseite, am rechten hinteren Fußsockel' => 'bottom', // Bottom
|
||||
'Vorderseite unten mittig' => 'bottom', // Bottom
|
||||
'Vorderseite, u. ' => 'bottom', // Bottom
|
||||
'Vorderseite, unten mittig' => 'bottom', // Bottom
|
||||
'unten mitten ' => 'bottom', // Bottom
|
||||
'mittig unten' => 'bottom', // Bottom/bot
|
||||
'außen auf unterer Hälfte der Holzwandung' => 'bottom', // Bottom
|
||||
'Inschriftenseite, Mitte unten' => 'bottom', // Bottom
|
||||
'auf S 58901/1 = Medaille, Seite m. Portraitdarstellung unten' => 'bottom', // Bottom
|
||||
'unterhalb der Abbildung' => 'bottom', // Bottom
|
||||
'unterhalb einer Wolkenreihe' => 'bottom', // Bottom
|
||||
'vorne, unten am Hals' => 'bottom', // Bottom
|
||||
'im unteren Bereich des Stiel;' => 'bottom', // Bottom
|
||||
"unter der Zeichnung" => "bottom",
|
||||
'Sockel vorne' => 'bottom', // Bottom
|
||||
"unter der Bild" => "bottom",
|
||||
"unterer Bildrand" => "bottom",
|
||||
'Vorderseite u.l. und u.r. ' => 'bottom', // Bottom
|
||||
'Vorderseite unten' => 'bottom', // Bottom
|
||||
'Vorderseite, unten links und rechts' => 'bottom', // Bottom
|
||||
"Unterer Bildrand" => "bottom",
|
||||
"unterer Bildrand, mittig" => "bottom",
|
||||
"unten mitte" => "bottom",
|
||||
"Unterkante Bild" => "bottom",
|
||||
"Boden, unten" => "bottom",
|
||||
"unterer Blattrand" => "bottom",
|
||||
'Hals unten' => 'bottom', // Bottom
|
||||
'Sockel unten mittig' => 'bottom', // Bottom
|
||||
'Vorderseite Sockel' => 'bottom', // Bottom
|
||||
'vorne unten' => 'bottom', // Bottom
|
||||
"Boden" => "bottom",
|
||||
"Bodenmarke" => "bottom",
|
||||
"Boden und Standring" => "bottom",
|
||||
"Unterseite" => "bottom",
|
||||
"untere Passpartoutkante und untere linke Ecke auf Foto" => "bottom",
|
||||
"Unterboden" => "bottom",
|
||||
"vs unten" => "bottom",
|
||||
"untere Passpartoutkante" => "bottom",
|
||||
"unten mittig" => "bottom",
|
||||
"Unten mittig" => "bottom",
|
||||
"Unten mittig auf Platte" => "bottom",
|
||||
|
||||
// Top
|
||||
"Oberseite" => "top",
|
||||
"oben" => "top",
|
||||
'S 662a___ auf der Rückwand; S 662c___ auf Deckel nb. Knauf' => 'top', // Top
|
||||
'Schenkel, Aussenseite' => 'top', // Top
|
||||
'im oberen Bereich das Blatt' => 'top', // Top
|
||||
'oberer Schaft' => 'top', // Top
|
||||
'Außen auf der Wandung, obere Hälfte.' => 'top', // Top
|
||||
'Griff oben' => 'top', // Top
|
||||
'Seite zwei oben' => 'top', // Top
|
||||
'Seite eins oben' => 'top', // Top
|
||||
'Stuhllehne oben' => 'top', // Top
|
||||
"oben mittig" => "top",
|
||||
"Oben mittig" => "top",
|
||||
"oberer Rand" => "top",
|
||||
'obere Schale, Oberseite' => 'top', // Top
|
||||
'obere Schale, Oberseite Mitte' => 'top', // Top
|
||||
'Oben' => 'top', // Top
|
||||
'An der Oberkante von S 6781/4' => 'top', // Top
|
||||
'Vorderseite oben' => 'top', // Top
|
||||
'Oberhalb des Haubendoms' => 'top', // Top
|
||||
'Platte auf der Oberseite' => 'top', // Top
|
||||
'Wandung oben' => 'top', // Top
|
||||
"oberer Balken" => "top",
|
||||
'Kopfseite' => 'top', // Top
|
||||
'im oberen Bereich des Messers' => 'top', // Top
|
||||
"Flasche und Verschluß" => "top",
|
||||
"obere Abdeckung" => "top",
|
||||
'Vorderseite, oben' => 'top', // Top
|
||||
"Mittig oben" => "top",
|
||||
"mittig oben" => "top",
|
||||
|
||||
// Inside
|
||||
'Standsockel innen' => 'inside', // Inside
|
||||
'Innenseite Griff' => 'inside', // Inside
|
||||
'Innenseite Hohlfuß' => 'inside', // Inside
|
||||
'Innenseite der Knopfleiste' => 'inside', // Inside
|
||||
'innen Spiegelrand, S 3921/3' => 'inside', // Inside
|
||||
'Bund, Innen, S 5492c' => 'inside', // Inside
|
||||
'Innen, Halsauschnitt' => 'inside', // Inside
|
||||
'Innenbund, S 5495b' => 'inside', // Inside
|
||||
'Innenseite Deckel' => 'inside', // Inside
|
||||
'Innenseite, S 5491d' => 'inside', // Inside
|
||||
'Innenseite, Endteil, S 5491d' => 'inside', // Inside
|
||||
'Innentasche links, Innen, S 5495a' => 'inside', // Inside
|
||||
'Innentasche links, S 5491a' => 'inside', // Inside
|
||||
'Innentasche rechts, S 5495a' => 'inside', // Inside
|
||||
'Innentasche, links, S 5492a' => 'inside', // Inside
|
||||
'In der Schatulle' => 'inside', // Inside
|
||||
'Laffen Innenseite' => 'inside', // Inside
|
||||
'Futter Innenseite ' => 'inside', // Inside
|
||||
'Erste Innenseite links oben' => 'inside', // Inside
|
||||
'Hemd innen' => 'inside', // Inside
|
||||
'Hose innen' => 'inside', // Inside
|
||||
'Innen - sowohl in der Jacke als auch in der Weste' => 'inside', // Inside
|
||||
'Innenseite Rand unter Griff' => 'inside', // Inside
|
||||
'Innenseite Schaufel' => 'inside', // Inside
|
||||
'Innenseite Standfuß' => 'inside', // Inside
|
||||
'Innentasche Jacke' => 'inside', // Inside
|
||||
'Innerhalb der Abbildung' => 'inside', // Inside
|
||||
'Jacke innen' => 'inside', // Inside
|
||||
'Kanneninneres, Boden' => 'inside', // Inside
|
||||
'Standring innen' => 'inside', // Inside
|
||||
'im Innenteil, auf der Rückenpartie' => 'inside', // Inside
|
||||
'innen, am Revers' => 'inside', // Inside
|
||||
'innen, eingeschobener Zettel im' => 'inside', // Inside
|
||||
'Innentasche, links, S 5493a' => 'inside', // Inside
|
||||
'Innentasche, links, S 5494a' => 'inside', // Inside
|
||||
'Innentasche, links, S 5495a' => 'inside', // Inside
|
||||
'Zylinder innen' => 'inside', // Inside
|
||||
'auf der Innenseite des Hutschachteldeckels' => 'inside', // Inside
|
||||
'Einband innen, oben und unten links' => 'inside', // Inside
|
||||
'Innen auf der vierten Seiten links oben' => 'inside', // Inside
|
||||
'Innen auf der zweiten Seite' => 'inside', // Inside
|
||||
'Innenseite der Klappe' => 'inside', // Inside
|
||||
'Innenseiten, Leinenfutter, Steifel a' => 'inside', // Inside
|
||||
'Innenseiten, Leinenfutter, Steifel b' => 'inside', // Inside
|
||||
'Reißverschluss Innenseite oben' => 'inside', // Inside
|
||||
'Schlaufe Innenseite rückwärtiger Teil des Bundes' => 'inside', // Inside
|
||||
'Umschlaginnenseiten' => 'inside', // Inside
|
||||
'Vordere Umschlagseite, innen' => 'inside', // Inside
|
||||
'aufgeklebtes Stück Papier; Innenseite, Ablagefläche' => 'inside', // Inside
|
||||
'im Inneren, auf dem Boden des runden Faches' => 'inside', // Inside
|
||||
|
||||
// Bottom left
|
||||
"links unter der Zeichnung" => "bottom_left",
|
||||
@@ -68,64 +231,653 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"linker, unterer Bildrand" => "bottom_left",
|
||||
"linker, unterer Bildrand (über dem Knie)" => "bottom_left",
|
||||
"linke, untere Passpartoutkante" => "bottom_left",
|
||||
'vorne am Sockel' => 'bottom_left', // Bottom left
|
||||
'Auf dem Gemälde unten links.' => 'bottom_left', // Bottom left
|
||||
'Brief, links unten' => 'bottom_left', // Bottom left
|
||||
'Recto links unten' => 'bottom_left', // Bottom left
|
||||
'Vorderseite, unten links' => 'bottom_left', // Bottom left
|
||||
"linke, untere Ecke" => "bottom_left",
|
||||
"Links unten" => "bottom_left",
|
||||
"Unten links" => "bottom_left",
|
||||
'linke untere Ecke' => 'bottom_left', // Bottom left
|
||||
"unten links" => "bottom_left",
|
||||
'Bildrand unten links' => 'bottom_left', // Bottom left
|
||||
'Vorderseite unten links' => 'bottom_left', // Bottom left
|
||||
'Vorderseite u.l.' => 'bottom_left', // Bottom left
|
||||
'Vorderseite, u.l.' => 'bottom_left', // Bottom left
|
||||
|
||||
// Bottom right
|
||||
"im Bild unten rechts" => "bottom_right",
|
||||
"rechts unten Signatur" => "bottom_right",
|
||||
"untern rechts" => "bottom_right",
|
||||
"verso unten rechts" => "bottom_right",
|
||||
"unten rehcts" => "bottom_right",
|
||||
"unterer Bildrand rechts" => "bottom_right",
|
||||
"Bildrand rechts unten" => "bottom_right",
|
||||
"Rechts unten" => "bottom_right",
|
||||
'Forderseite auf Karton unten rechts.' => 'bottom_right', // Bottom right
|
||||
'Recto rechts unten' => 'bottom_right', // Bottom right
|
||||
'Vorderseite S 3910/2, rechte untere Ecke' => 'bottom_right', // Bottom right
|
||||
'Vorderseite S 3910/3, rechte untere Ecke' => 'bottom_right', // Bottom right
|
||||
'Vorderseite, rechts unten' => 'bottom_right', // Bottom right
|
||||
'rechte Ecke unten / S 3910/4' => 'bottom_right', // Bottom right
|
||||
'bei zwei Zeichnungen unten rechts' => 'bottom_right', // Bottom right
|
||||
'rechte untere Ecke' => 'bottom_right', // Bottom right
|
||||
'Bildrand unten rechts' => 'bottom_right', // Bottom right
|
||||
"rechts unten" => "bottom_right",
|
||||
"Unten rechts" => "bottom_right",
|
||||
"unten rechts" => "bottom_right",
|
||||
"untenb rechts" => "bottom_right",
|
||||
'Vorderseite, u.r.' => 'bottom_right', // Bottom right
|
||||
'auf Hintergrund der Illustrationen unten rechts' => 'bottom_right', // Bottom right
|
||||
'ganz unten rechts' => 'bottom_right', // Bottom right
|
||||
'Vorderseite u.r' => 'bottom_right', // Bottom right
|
||||
'Vorderseite u.r.' => 'bottom_right', // Bottom right
|
||||
'Vorderseite unten rechts' => 'bottom_right', // Bottom right
|
||||
'Vorderseite, unten rechts' => 'bottom_right', // Bottom right
|
||||
'Vorderseite, untere Ecke rechts' => 'bottom_right', // Bottom right
|
||||
|
||||
// Top Left
|
||||
"linker, oberer Bildrand" => "top_left",
|
||||
"oben links auf Malschicht" => "top_left",
|
||||
"Links oben" => "top_left",
|
||||
'2. Seite, oben links' => 'top_left', // Top left
|
||||
'Letzte Seite hinten, oben links.' => 'top_left', // Top left
|
||||
'S 3912/2, Vorderseite, links oben' => 'top_left', // Top left
|
||||
'Vorderseite o.l.' => 'top_left', // Top left
|
||||
'Umschlaginnenseite, oben links' => 'top_left', // Top left
|
||||
"Oben links" => "top_left",
|
||||
"oben links" => "top_left",
|
||||
"oben links im Bild" => "top_left",
|
||||
'Vorderseite, o.l.' => 'top_left', // Top left
|
||||
|
||||
// Top Right
|
||||
"Oben rechts" => "top_right",
|
||||
"oben rechts" => "top_right",
|
||||
"Rechts oben" => "top_right",
|
||||
"Rechte obere Ecke" => "top_right",
|
||||
"vorn, oben, rechts am Gehäuse" => "top_right",
|
||||
'Einschlag, links oben' => 'top_right', // Top right
|
||||
'rechts oben' => 'top_right', // Top right
|
||||
'Einschlag, rechts unten' => 'top_right', // Top right
|
||||
'S 3912/1, Vorderseite, rechts oben' => 'top_right', // Top right
|
||||
'Seite eins oben rechts' => 'top_right', // Top right
|
||||
'Vorderseite oben rechts' => 'top_right', // Top right
|
||||
'Vorderseite, oben rechts' => 'top_right', // Top right
|
||||
'Vorsatzblatt, rechts oben' => 'top_right', // Top right
|
||||
'Vorderseite o.r. ' => 'top_right', // Top right
|
||||
'Vorderseite, obere Ecke, rechts' => 'top_right', // Top right
|
||||
|
||||
// Edge
|
||||
"Rand" => "edge",
|
||||
"linker Rand Pergaminhülle (für Kleinbildfilmstreifen)" => "edge",
|
||||
"linker Rand Pergaminhülle (für Diapositive im Mittelformat)" => "edge",
|
||||
"linker Rand Kunststoffhülle (für Kleinbildfilmstreifen)" => "edge",
|
||||
'Seitenrand des Fußes' => 'edge', // Edge
|
||||
'Seitenrand' => 'edge', // Edge
|
||||
'Rand Standfuß' => 'edge', // Edge
|
||||
'Rückseite Rahmen' => 'edge', // Edge
|
||||
'Rückseite Rand' => 'edge', // Edge
|
||||
'Rückseite, Rahmen' => 'edge', // Edge
|
||||
'Rand des Fußes' => 'edge', // Edge
|
||||
'Sockelrand' => 'edge', // Edge
|
||||
'Stutenkopf und Sockel' => 'edge', // Edge
|
||||
'am Rand vom Fuß' => 'edge', // Edge
|
||||
"Schildkante vorn, innen" => "edge",
|
||||
'Buchrücken' => 'edge', // Edge
|
||||
'Rahmen' => 'edge', // Edge
|
||||
'Rücken' => 'edge', // Edge
|
||||
'Seitlich Handbesen' => 'edge', // Edge
|
||||
'Tablett, Randbereich' => 'edge', // Edge
|
||||
'Rückseite, Rahmen ' => 'edge', // Edge
|
||||
'Rückseite, Rahmen und Bilderträger' => 'edge', // Edge
|
||||
'Vorderseite, unterer Bildrand ' => 'edge', // Edge
|
||||
'am unteren Rahmenrand, mittig' => 'edge', // Edge
|
||||
"Schildkante hinten, innen" => "edge",
|
||||
'Außenrand Fuß' => 'edge', // Edge
|
||||
'Fuß, Rand' => 'edge', // Edge
|
||||
'Keilrahmen' => 'edge', // Edge
|
||||
'Rand ' => 'edge', // Edge
|
||||
'Rand, Außenseite' => 'edge', // Edge
|
||||
"äußerer Rand" => "edge",
|
||||
"Auflage für Brief am äußeren Rand" => "edge",
|
||||
"äußerer Gefäßrand" => "edge",
|
||||
"Tellerrand" => "edge",
|
||||
'oberer Außenrand des nierenschälchenförmigen Einsatzes' => 'edge', // Edge
|
||||
'unterer Rand' => 'edge', // Edge
|
||||
'Vorderseite unterer Rand der Schulter' => 'edge', // Edge
|
||||
'seitlich' => 'edge', // Edge
|
||||
'seitlich links' => 'edge', // Edge
|
||||
'seitlich rechts' => 'edge', // Edge
|
||||
"Fußrand, außen" => "edge",
|
||||
"unterer seitlicher Rand" => "edge",
|
||||
"oberer Rand, aussen" => "edge",
|
||||
"oberer und unterer Rand" => "edge",
|
||||
"Passepartout" => "edge",
|
||||
"Keilrahmen untere Leiste" => "edge",
|
||||
"Keilrahmen unterer Schenkel" => "edge",
|
||||
"Keilrahmen, unterer Schenkel" => "edge",
|
||||
"Keilrahmen oberer Schenkel" => "edge",
|
||||
"Keilrahmen, oberer Schenkel" => "edge",
|
||||
|
||||
// Full Front
|
||||
"Front" => "front_front",
|
||||
"Frontal" => "front_front",
|
||||
"Frontseite" => "front_front",
|
||||
"Frontalseite" => "front_front",
|
||||
"Stirnseite" => "front_front",
|
||||
'Vorderseite, Ecke' => 'front_front', // Full front
|
||||
'Vorderseite Karte S 4300d' => 'front_front', // Full front
|
||||
'Vorderseite Schirm' => 'front_front', // Full front
|
||||
'Vorderseite auf Passepartout, rechts unter dem Bild.' => 'front_front', // Full front
|
||||
'Vorderseite der Tasche unter der Klappe' => 'front_front', // Full front
|
||||
'an der Vorderseite der Plinthe' => 'front_front', // Full front
|
||||
'auf der Vorderseite' => 'front_front', // Full front
|
||||
"Volle Vorderseite" => "front_front",
|
||||
"Volle Frontseite" => "front_front",
|
||||
"Vorderseite" => "front_front",
|
||||
"Forderseite" => "front_front",
|
||||
'Titelblatt' => 'front_front', // Full front
|
||||
'Vorderseite von S 7083/3' => 'front_front', // Full front
|
||||
'Vorderseite, unterhalb der Schulter' => 'front_front', // Full front
|
||||
"Vorderseite / Stirn" => "front_front",
|
||||
"Vorn" => "front_front",
|
||||
"vorn" => "front_front",
|
||||
"Vorne" => "front_front",
|
||||
"vorne" => "front_front",
|
||||
|
||||
// Rear
|
||||
"Leinwandrückseite" => "rear_side",
|
||||
"Rückseite" => "rear_side",
|
||||
"RS" => "rear_side",
|
||||
"rs" => "rear_side",
|
||||
'Rückseite Deckel' => 'rear_side', // Rear side
|
||||
'Rückseite des Schubers, mittig' => 'rear_side', // Rear side
|
||||
'Rückseite auf S 8741/36' => 'rear_side',
|
||||
'Auf Rückeseite, rechter Bildrand' => 'rear_right', // Rear side: right
|
||||
'Rückseite, Mitte rechts' => 'rear_right', // Rear side: right
|
||||
'Auf Rückseite der Fotografie im Textfeld.' => 'rear_side', // Rear side
|
||||
'Auf Rückseite im Adressfeld' => 'rear_side', // Rear side
|
||||
'Auf Rückseite im Textfeld' => 'rear_side', // Rear side
|
||||
'Auf Rückwand des Uhrwerks' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite im Adressfeld' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite im Textfeld' => 'rear_side', // Rear side
|
||||
'Medaillon Rückseite' => 'rear_side', // Rear side
|
||||
'Rückseite o.r.' => 'rear_side', // Rear side
|
||||
'Rückseite, Bildträger' => 'rear_side', // Rear side
|
||||
'auf Rückseite Faltpapier' => 'rear_side', // Rear side
|
||||
'Bilderrahmen Rückseite oben rechts sowie unten' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite (ohne Zähne) des Mittelteils' => 'rear_side', // Rear side
|
||||
'Rückseite, in dem Uhrenkasten ' => 'rear_side', // Rear side
|
||||
'Vorderseite, Rückseite' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite des Spiegels' => 'rear_side', // Rear side
|
||||
'Auf der Rückseite von S 7135/1b-c' => 'rear_side', // Rear side
|
||||
'Griff Rückseite' => 'rear_side', // Rear side
|
||||
'Rückseite Griff' => 'rear_side', // Rear side
|
||||
'Rückseite S 7134/5' => 'rear_side', // Rear side
|
||||
'Rückseite des Griff' => 'rear_side', // Rear side
|
||||
'Rückseite von S 7083/3' => 'rear_side', // Rear side
|
||||
'Unterhalb der Schraube auf der Rückseite' => 'rear_side', // Rear side
|
||||
'Aufkleber Rückseite' => 'rear_side', // Rear side
|
||||
'Rückseite Plakette' => 'rear_side', // Rear side
|
||||
'Rückseite Schale, Innenseite Etuideckel' => 'rear_side', // Rear side
|
||||
'Filter hinten' => 'rear_side', // Rear side
|
||||
'Keilrahmen Rückseite' => 'rear_side', // Rear side
|
||||
'Radrückseite, auf einer Speiche' => 'rear_side', // Rear side
|
||||
'Rückseite Fotografien von S 4300d' => 'rear_side', // Rear side
|
||||
'Rückseite Mitte' => 'rear_side', // Rear side
|
||||
'Rückseite S 4300e' => 'rear_side', // Rear side
|
||||
'Rückseite S 4300f' => 'rear_side', // Rear side
|
||||
'Rückseite S 4301/7 und S 4301/10' => 'rear_side', // Rear side
|
||||
'Rückseite von S 4300e-f' => 'rear_side', // Rear side
|
||||
'Rückseite, Aufkleber' => 'rear_side', // Rear side
|
||||
'Rückseite, auf dem Rahmen oben links' => 'rear_side', // Rear side
|
||||
'Rückseite___ oben, unten, mittig' => 'rear_side', // Rear side
|
||||
'Umschlag-Rückseite' => 'rear_side', // Rear side
|
||||
'a und b, Rückseite' => 'rear_side', // Rear side
|
||||
'a, Rückseite' => 'rear_side', // Rear side
|
||||
'hinten' => 'rear_side', // Rear side
|
||||
'b, Rückseite' => 'rear_side', // Rear side
|
||||
"Recto" => "rear_side",
|
||||
'Rückseite Griff, nahe Kelle' => 'rear_side', // Rear side
|
||||
'Rückseite Schulter' => 'rear_side', // Rear side
|
||||
'hinten rechte Schulter' => 'rear_side', // Rear side
|
||||
"Revers" => "rear_side",
|
||||
"Reverse" => "rear_side",
|
||||
"rs Umschrift" => "rear_side",
|
||||
"Rückseite der Leinwand" => "rear_side",
|
||||
"Rückseitig auf ovalem Keilrahmen oben links und rechts" => "rear_side",
|
||||
"Rückseite Kalender" => "rear_side",
|
||||
"Rückseite Keilrahmen" => "rear_side",
|
||||
"Rükseite" => "rear_side",
|
||||
"Rückseite, unter Doublierung" => "rear_side",
|
||||
'Rückseite Lichtnäpfen (S 146b) und Lichtnapf (S 146d)' => 'rear_side', // Rear side
|
||||
'verso' => 'rear_side', // Rear side
|
||||
|
||||
// rear_bottom
|
||||
"Rückseite unten" => "rear_bottom",
|
||||
"Rückseite, unten" => "rear_bottom",
|
||||
"Rückseite unten mittig" => "rear_bottom",
|
||||
"Rückseite, unten mittig" => "rear_bottom",
|
||||
"Rückseite mittig unten" => "rear_bottom",
|
||||
"Rückseiten, unten" => "rear_bottom",
|
||||
'Rückseite S 5499/1-2, Mitte unten' => 'rear_bottom', // Rear side: bottom
|
||||
'hinten unten' => 'rear_bottom', // Rear side: bottom
|
||||
'Rückseite Sockel' => 'rear_bottom', // Rear side: bottom
|
||||
"Rückseite, mittig unten" => "rear_bottom",
|
||||
'Auf Rückseite mittig unten' => 'rear_bottom', // Rear side: bottom
|
||||
'Rückseite unten,Ecken links und rechts' => 'rear_bottom', // Rear side: bottom
|
||||
'Rückseite, unten Mitte' => 'rear_bottom', // Rear side: bottom
|
||||
'Rückseite, unten, mittig' => 'rear_bottom', // Rear side: bottom
|
||||
'Sockel hinten' => 'rear_bottom', // Rear side: bottom
|
||||
|
||||
// rear_bottom_left
|
||||
"Rückseite unten links" => "rear_bottom_left",
|
||||
"Rückseite, unten links" => "rear_bottom_left",
|
||||
'Auf Rückseite des Rahmens unten links.' => 'rear_bottom_left', // Rear side: bottom left
|
||||
"Rückseite links unten" => "rear_bottom_left",
|
||||
"Rückseite, links unten" => "rear_bottom_left",
|
||||
'Rückseite u.l.' => 'rear_bottom_left', // Rear side: bottom left
|
||||
'links unten' => 'bottom_left', // Bottom left
|
||||
'rechts unten auf Seite mit Bischofsfigur' => 'bottom_right', // Bottom right
|
||||
"Rückseite linke untere Ecke" => "rear_bottom_left",
|
||||
|
||||
// rear_bottom_right
|
||||
"Rückseite unten rechts" => "rear_bottom_right",
|
||||
"Rückseite, unten rechts" => "rear_bottom_right",
|
||||
"Rückseite rechts unten" => "rear_bottom_right",
|
||||
'Auf Rückseite unten rechts.' => 'rear_bottom_right', // Rear side: bottom right
|
||||
'Rückseite u.r.' => 'rear_bottom_right', // Rear side: bottom right
|
||||
"Rückseite, rechts unten" => "rear_bottom_right",
|
||||
"Rückseite rechte untere Ecke" => "rear_bottom_right",
|
||||
'Auf Bodenplatte hinten rechts' => 'rear_bottom_right', // Rear side: bottom right
|
||||
'rechts unten Rückseite' => 'rear_bottom_right', // Rear side: bottom right
|
||||
'Vorderseite, Rückseite u. r.' => 'rear_bottom_right', // Rear side: bottom right
|
||||
|
||||
// rear_center
|
||||
"Rückseite mittig" => "rear_center",
|
||||
"Rückseite, mittig" => "rear_center",
|
||||
"Rükseite, mittig" => "rear_center",
|
||||
'Auf Rückseite der Parierstange mittig' => 'rear_center', // Rear side: center
|
||||
'Auf Rückseite mittig.' => 'rear_center', // Rear side: center
|
||||
'Mitte Rückseite' => 'rear_center', // Rear side: center
|
||||
'Rückseite S 5499/1, Mitte' => 'rear_center', // Rear side: center
|
||||
'Rückseite mittig, zwischen Text und Adressfeld' => 'rear_center', // Rear side: center
|
||||
'Rückseite, Mitte' => 'rear_center', // Rear side: center
|
||||
'Rückseite, mittig.' => 'rear_center', // Rear side: center
|
||||
'Rückseite, oben, mittig' => 'rear_center', // Rear side: center
|
||||
|
||||
// rear_left
|
||||
"Rückseite links" => "rear_left",
|
||||
"Rückseite, links" => "rear_left",
|
||||
"Rückseite mittig links" => "rear_left",
|
||||
"Rückseite, mittig links" => "rear_left",
|
||||
"Rückseite links mittig" => "rear_left",
|
||||
"Rückseite, links mittig" => "rear_left",
|
||||
|
||||
// rear_right
|
||||
"Rückseite rechts" => "rear_right",
|
||||
"Rückseite, rechts" => "rear_right",
|
||||
"Rückseite mittig rechts" => "rear_right",
|
||||
"Rückseite, mittig rechts" => "rear_right",
|
||||
"Rückseite rechts mittig" => "rear_right",
|
||||
"Rückseite, rechts mittig" => "rear_right",
|
||||
"Rückseitig rechts" => "rear_right",
|
||||
"Rückseitig, rechts" => "rear_right",
|
||||
"Rückseitig mittig rechts" => "rear_right",
|
||||
"Rückseitig, mittig rechts" => "rear_right",
|
||||
"Rückseitig rechts mittig" => "rear_right",
|
||||
"Rückseitig, rechts mittig" => "rear_right",
|
||||
|
||||
// rear_top
|
||||
'Rückwand oben (S 146a)' => 'rear_top', // Rear side: top
|
||||
"Rückseite oben" => "rear_top",
|
||||
'Auf Rückseite im oberem Adressfeld.' => 'rear_top', // Rear side: top
|
||||
'Auf der Rückseite im oberem Textfeld.' => 'rear_top', // Rear side: top
|
||||
'Rückseite S 5499/1-2, Mitte oben' => 'rear_top', // Rear side: top
|
||||
'Rückseite, oben, Mitte' => 'rear_top', // Rear side: top
|
||||
'Rückseite obere Hälfte' => 'rear_top', // Rear side: top
|
||||
'Rückseite, Mitte oben' => 'rear_top', // Rear side: top
|
||||
'Rückseite, oben Mitte' => 'rear_top', // Rear side: top
|
||||
'hinten oben' => 'rear_top', // Rear side: top
|
||||
"Rückseite, oben" => "rear_top",
|
||||
"Rückseite oben mittig" => "rear_top",
|
||||
"Rückseite, oben mittig" => "rear_top",
|
||||
"Rükseite, oben mittig" => "rear_top",
|
||||
"Rückseite mittig oben" => "rear_top",
|
||||
'Auf der Rückseite oben' => 'rear_top', // Rear side: top
|
||||
"Rückseite, mittig oben" => "rear_top",
|
||||
|
||||
// rear_top_left
|
||||
"Rückseite links oben" => "rear_top_left",
|
||||
"Rückseite, links oben" => "rear_top_left",
|
||||
'Auf Rückseite oben links' => 'rear_top_left', // Rear side: top left
|
||||
'Auf der Rahmenrückseite oben links' => 'rear_top_left', // Rear side: top left
|
||||
'Rückseite des Buchdeckels, oben links' => 'rear_top_left', // Rear side: top left
|
||||
'Rückseite des Rahmens oben links' => 'rear_top_left', // Rear side: top left
|
||||
'Rückseite, obere linke Ecke' => 'rear_top_left', // Rear side: top left
|
||||
"Rückseite oben links" => "rear_top_left",
|
||||
'Rückseite o.l.' => 'rear_top_left', // Rear side: top left
|
||||
"Rückseite, oben links" => "rear_top_left",
|
||||
"Rückseite linke obere Ecke" => "rear_top_left",
|
||||
|
||||
// rear_top_right
|
||||
"Rückseite oben rechts" => "rear_top_right",
|
||||
"Rückseite, oben rechts" => "rear_top_right",
|
||||
"Rückseite rechts oben" => "rear_top_right",
|
||||
"Rückseite, rechts oben" => "rear_top_right",
|
||||
'Auf Rückseite oben rechts.' => 'rear_top_right', // Rear side: top right
|
||||
'Auf der Rückseite der Fotografie, obere rechte Ecke.' => 'rear_top_right', // Rear side: top right
|
||||
'Rückseite des Rahmens oben rechts' => 'rear_top_right', // Rear side: top right
|
||||
"Rückseite rechte obere Ecke" => "rear_top_right",
|
||||
|
||||
// topside
|
||||
"Oberseite" => "topside",
|
||||
"oberhalb" => "topside",
|
||||
'Oberseite Griff' => 'topside', // Topside
|
||||
'Oberseite Deckel' => 'topside', // Topside
|
||||
'Deckel mittig' => 'topside', // Topside
|
||||
'Oberseite Deckel vorne' => 'topside', // Topside
|
||||
'Oberseite des Fuß' => 'topside', // Topside
|
||||
'Oberseite des Griff' => 'topside', // Topside
|
||||
'Oberseite des Stiel' => 'topside', // Topside
|
||||
'Gehäuse, Oberseite' => 'topside', // Topside
|
||||
'Griff, Oberseite' => 'topside', // Topside
|
||||
'Auf den Münzen' => 'topside', // Topside
|
||||
'Auf den Serviettenringen' => 'topside', // Topside
|
||||
|
||||
// underside
|
||||
"Unterseite" => "underside",
|
||||
"unterhalb" => "underside",
|
||||
'Unterseite Hohlfuß' => 'underside', // Underside
|
||||
'Boden, Unterseite' => 'underside', // Underside
|
||||
'Unterseite Boden' => 'underside', // Underside
|
||||
'Scharnier, Unterseite' => 'underside', // Underside
|
||||
'auf der Unterseite des Schreibkastens' => 'underside',
|
||||
'Unterseite Fahne' => 'underside', // Underside
|
||||
'Außen auf Boden' => 'underside', // Underside
|
||||
'Boden S 3921/1, Mitte' => 'underside', // Underside
|
||||
'Boden S 3921/2, Mitte' => 'underside', // Underside
|
||||
'Boden unten' => 'underside', // Underside
|
||||
'Boden, Mitte' => 'underside', // Underside
|
||||
'Boden, Mitte' => 'underside', // Underside
|
||||
'Boden, S 3921/1' => 'underside', // Underside
|
||||
'Unterseite aller Teile' => 'underside', // Underside
|
||||
'Boden außen mittig' => 'underside', // Underside
|
||||
'Fußmitte unten' => 'underside', // Underside
|
||||
'unter der Platte' => 'underside', // Underside
|
||||
'unter der Vase' => 'underside', // Underside
|
||||
'Boden, S 3921/2' => 'underside', // Underside
|
||||
'Auf dem Boden der Untertasse' => 'underside', // Underside
|
||||
'Auf der Unterseite der Untertasse' => 'underside', // Underside
|
||||
'Auf der Unterseite von S 7135/3' => 'underside', // Underside
|
||||
'Boden Unbterseite' => 'underside', // Underside
|
||||
'Schalenboden' => 'underside', // Underside
|
||||
'Unterseite Flaschenboden' => 'underside', // Underside
|
||||
'Unterseite Porzellantasse' => 'underside', // Underside
|
||||
'Unterseite S 6858/1' => 'underside', // Underside
|
||||
'Unterseite S 6858/2' => 'underside', // Underside
|
||||
'Unterseite S 6858/3' => 'underside', // Underside
|
||||
'Unterseite a und b' => 'underside', // Underside
|
||||
'Unterseite des Bodens' => 'underside', // Underside
|
||||
'Unterseite des Griff' => 'underside', // Underside
|
||||
'Unterseite des Stiels' => 'underside', // Underside
|
||||
'auf der Unterseite' => 'underside', // Underside
|
||||
'auf der Unterseite Herstellerprägung' => 'underside', // Underside
|
||||
'auf der Unterseite, am Schneidekopf' => 'underside', // Underside
|
||||
'Boden Ständer' => 'underside', // Underside
|
||||
'Boden Unterseite' => 'underside', // Underside
|
||||
'Bodenunterseite' => 'underside', // Underside
|
||||
'Mitte Unterseite' => 'underside', // Underside
|
||||
'Unterseite Boden des Bechers' => 'underside', // Underside
|
||||
'Unterseite Tellerboden' => 'underside', // Underside
|
||||
'auf Unterseite Medaille Einprägung' => 'underside', // Underside
|
||||
'mittig auf der Unterseite' => 'underside', // Underside
|
||||
'Boden, S 3921/3' => 'underside', // Underside
|
||||
'Boden, Standfuß' => 'underside', // Underside
|
||||
'Boden, unterhalb von Schriftzug "Cafe Olga-Ecke"' => 'underside', // Underside
|
||||
'Unterseite Boden Terrine' => 'underside', // Underside
|
||||
'Auf Griff Unterseite' => 'underside', // Underside
|
||||
'Unterseite Grundplatte' => 'underside', // Underside
|
||||
'Unterseite Grundplatte und Etikett Unterseite Grundplatte' => 'underside', // Underside
|
||||
'Unterseite Umbo' => 'underside', // Underside
|
||||
'auf Standfläche' => 'underside', // Underside
|
||||
'jeweils Unterseite Boden' => 'underside', // Underside
|
||||
'Becher Unterseite' => 'underside', // Underside
|
||||
'in einem der Blätter, am Boden' => 'underside', // Underside
|
||||
'in einer der Kugel, Richtung Fußzone' => 'underside', // Underside
|
||||
'untere Schale, Unterseite' => 'underside', // Underside
|
||||
'Griff Unterseite' => 'underside', // Underside
|
||||
'Unterseite Griff' => 'underside', // Underside
|
||||
'Unterseite Kelle' => 'underside', // Underside
|
||||
|
||||
// mock title
|
||||
'mock title' => 'mock_title',
|
||||
'Bastardtitle' => 'mock_title',
|
||||
'Schmutztitel' => 'mock_title',
|
||||
'Vorsatztitel' => 'mock_title',
|
||||
|
||||
// Misc.
|
||||
"x" => "other",
|
||||
"Vorderseite" => "other",
|
||||
"Forderseite" => "other",
|
||||
'Anhänger Nr. 18' => 'other', // Other
|
||||
'graviert' => 'other', // Other
|
||||
'Außenseite Henkel' => 'other',
|
||||
"VS" => "other",
|
||||
'Aussenseite' => 'other', // Other
|
||||
'befestigt an der Lederschlaufe' => 'other', // Other
|
||||
'beide Aussenseiten' => 'other', // Other
|
||||
'beide Längsseiten' => 'other', // Other
|
||||
'auf Platte vor Federhalter' => 'other', // Other
|
||||
'Aufhängeöse' => 'other', // Other
|
||||
'Aufschrift auf dem Etui' => 'other', // Other
|
||||
'Inschift auf dem Etui' => 'other', // Other
|
||||
'auf dem Etui' => 'other', // Other
|
||||
'auf dem Teller, Kreisrund' => 'other', // Other
|
||||
'kreisrund' => 'other', // Other
|
||||
'Auf dem Besteck' => 'other', // Other
|
||||
'Dritte Seite' => 'other', // Other
|
||||
'Erste Seite' => 'other', // Other
|
||||
'Klinge, Seite' => 'other', // Other
|
||||
'Prägefläche' => 'other', // Other
|
||||
'Scheide' => 'other', // Other
|
||||
'verschieden' => 'other', // Other
|
||||
'Kette' => 'other', // Other
|
||||
'unklar' => 'other', // Other
|
||||
'unter dem Henkel' => 'other', // Other
|
||||
'Übergang Kelle, Stiel' => 'other', // Other
|
||||
'Gefäß' => 'other', // Other
|
||||
'Laffe' => 'other', // Other
|
||||
'Medaillons' => 'other', // Other
|
||||
'Stiel' => 'other', // Other
|
||||
'Vorsatzblatt' => 'other', // Other
|
||||
'am Henkel' => 'other', // Other
|
||||
'auf Schnalle' => 'other', // Other
|
||||
'auf einer Leiste' => 'other', // Other
|
||||
'beim Henkel' => 'other', // Other
|
||||
'direkt unter dem Bild' => 'other', // Other
|
||||
'im Deckel' => 'other', // Other
|
||||
'in dritter Reihe unter dem Bild' => 'other', // Other
|
||||
'in zweiter Reihe unter dem Bild' => 'other', // Other
|
||||
'letze Seite' => 'other', // Other
|
||||
'umlaufend ' => 'other', // Other
|
||||
'unterm Henkel' => 'other', // Other
|
||||
'Feder' => 'other', // Other
|
||||
'Rückseite; Vorderseite' => 'other', // Other
|
||||
'Vorderseite u.l. und u.r. ; Rückseite' => 'other', // Other
|
||||
'Vorderseite, obere Ecke, links und Rückseite (aufgeklebt)' => 'other', // Other
|
||||
'in der Zeichnung' => 'other', // Other
|
||||
'Am Griff' => 'other', // Other
|
||||
'An der Naht oben befestigt' => 'other', // Other
|
||||
'Auf der Schauseite' => 'other', // Other
|
||||
'Auf der Schauseite S 7135/1a' => 'other', // Other
|
||||
'Auf der Schauseite voN S 7135/2' => 'other', // Other
|
||||
'Außenseite Henkel oben' => 'other', // Other
|
||||
'Beidseitig auf jeweils einem Griff' => 'other', // Other
|
||||
'Fahne' => 'other', // Other
|
||||
'Gabeln' => 'other', // Other
|
||||
'Glocke' => 'other', // Other
|
||||
'Griffbereich' => 'other', // Other
|
||||
'Griffende' => 'other', // Other
|
||||
'Käsemessergriff' => 'other', // Other
|
||||
'Käsemesserheft' => 'other', // Other
|
||||
'Links oben, rechts unten' => 'other', // Other
|
||||
'Löffel' => 'other', // Other
|
||||
'Messer' => 'other', // Other
|
||||
'Messerheft' => 'other', // Other
|
||||
'Papierhülle der Schallplatte, Papiertetikett auf Platte' => 'other', // Other
|
||||
'Plan' => 'other', // Other
|
||||
'Rand aussen' => 'other', // Other
|
||||
'S 7134/2' => 'other', // Other
|
||||
'S 7134/3' => 'other', // Other
|
||||
'S 7134/6' => 'other', // Other
|
||||
'S 7134/7' => 'other', // Other
|
||||
'S 7134/8' => 'other', // Other
|
||||
'S 7134/8, linke untere Ecke' => 'other', // Other
|
||||
'S 7134/9' => 'other', // Other
|
||||
'S 7140/1' => 'other', // Other
|
||||
'S 7140/10' => 'other', // Other
|
||||
'S 7140/11' => 'other', // Other
|
||||
'S 7140/2 sowie S 7140/3' => 'other', // Other
|
||||
'S 7140/4' => 'other', // Other
|
||||
'S 7140/5' => 'other', // Other
|
||||
'S 7140/6' => 'other', // Other
|
||||
'S 7140/7' => 'other', // Other
|
||||
'S 7140/8' => 'other', // Other
|
||||
'S 7140/9' => 'other', // Other
|
||||
'Standring außen' => 'other', // Other
|
||||
'Teelöffelgriff' => 'other', // Other
|
||||
'Teesieb' => 'other', // Other
|
||||
'Vor- und Rückseite' => 'other', // Other
|
||||
'an der kurzen Seite des Erhitzers' => 'other', // Other
|
||||
'auf dem Kamerakorpus hinten' => 'other', // Other
|
||||
'auf den Negativstreifen' => 'other', // Other
|
||||
'auf der Schachtelober- und Unterseite' => 'other', // Other
|
||||
'auf der Schauseite S 7134/4' => 'other', // Other
|
||||
'beidseitig auf beiden Handknäufen' => 'other', // Other
|
||||
'im Nachhinein angebrachtes Pappschild' => 'other', // Other
|
||||
'je auf Deckel und Schüssel' => 'other', // Other
|
||||
'linker Ärmel und in der linken Innentasche' => 'other', // Other
|
||||
'links, rechts und unterhalb des Fotos' => 'other', // Other
|
||||
'unten rechts auf dem Schachteldeckel & unten links im Deckel' => 'other', // Other
|
||||
'unter dem Hals' => 'other', // Other
|
||||
'unterhalb des Gelenks' => 'other', // Other
|
||||
'unterhalb des Porträts' => 'other', // Other
|
||||
'Brosche oben, Anhänger unten' => 'other', // Other
|
||||
'S 5493b' => 'other', // Other
|
||||
'S 5494d, Innen' => 'other', // Other
|
||||
'S 5495c, breite Spitze' => 'other', // Other
|
||||
'S 5499/1-2, rechter unterer Bildrand' => 'other', // Other
|
||||
'S 5499/2, Rückseite mittig' => 'other', // Other
|
||||
'S 5501/1; Rückwand' => 'other', // Other
|
||||
'S 5501/2; Rückseite, oben links' => 'other', // Other
|
||||
'S 5501/3, linker unterer Bildrand' => 'other', // Other
|
||||
'S 5502/1-2, Rückseite Mitte' => 'other', // Other
|
||||
'S 5502/2, rechts unterhalb der Fotografie' => 'other', // Other
|
||||
'S 5503/1; Rückseite mittig' => 'other', // Other
|
||||
'S 5504/1, Rückseite, rechts unten' => 'other', // Other
|
||||
'S 5504/1; Rückseite links oben' => 'other', // Other
|
||||
'S 5504/2, Rückseite links oben' => 'other', // Other
|
||||
'S 5504/2, Rückseite, rechts unten' => 'other', // Other
|
||||
'S 5504/2; Rückseite, rechts unten' => 'other', // Other
|
||||
'S 5506/3, untere Ecke links' => 'other', // Other
|
||||
'Schachtel' => 'other', // Other
|
||||
'auf einem Griff' => 'other', // Other
|
||||
'aussen und innen auf dem Etuideckel; Umschrift Plakette' => 'other', // Other
|
||||
'1. Bronzemedaille auf Aufsatz' => 'other', // Other
|
||||
'1. Seite' => 'other', // Other
|
||||
'2. Bronzemedaille' => 'other', // Other
|
||||
'Am Ende der Parierstange unmittelbar unter dem Endknauf.' => 'other', // Other
|
||||
'An der Seite des Behälters, unterhalb des Henkels' => 'other', // Other
|
||||
'Anfang der Klinge unmittelbar unter dem Griff.' => 'other', // Other
|
||||
'Auf Haken am Eisenmundblech' => 'other', // Other
|
||||
'Auf der Parierstange, Höhe Griff.' => 'other', // Other
|
||||
'Auf unterem Messinggriff' => 'other', // Other
|
||||
'Außen am Rahmen' => 'other', // Other
|
||||
'Drehturm' => 'other', // Other
|
||||
'Einband vorne, innen oben' => 'other', // Other
|
||||
'Erste Silbermedaille auf Aufsatz' => 'other', // Other
|
||||
'Etikett Innenseite Kragen Rückenteil' => 'other', // Other
|
||||
'Gehäuse, kurze Seite' => 'other', // Other
|
||||
'Glaskörper' => 'other', // Other
|
||||
'Hinten unter der Schulter' => 'other', // Other
|
||||
'Kanone, beidseitig' => 'other', // Other
|
||||
'Kuppa' => 'other', // Other
|
||||
'Kupparand' => 'other', // Other
|
||||
'Lafette' => 'other', // Other
|
||||
'Lafette, hinten' => 'other', // Other
|
||||
'Rechts unter dem Bild auf dem Karton.' => 'other', // Other
|
||||
'S 3917/1' => 'other', // Other
|
||||
'S 3917/1, Griff Unterseite' => 'other', // Other
|
||||
'S 3917/1, Griff, Unterseite' => 'other', // Other
|
||||
'S 3917/2, Griff, Unterseite' => 'other', // Other
|
||||
'S 3917/3a Henkel, Oberseite' => 'other', // Other
|
||||
'S 3917/3a, Deckel' => 'other', // Other
|
||||
'S 3917/4-6, Hals' => 'other', // Other
|
||||
'S 3917/7-8, Hals' => 'other', // Other
|
||||
'S 3917/9, Hals' => 'other', // Other
|
||||
'S 3918/1, Standring innen' => 'other', // Other
|
||||
'S 3918/1-2, Boden' => 'other', // Other
|
||||
'S 3918/1-2; Boden' => 'other', // Other
|
||||
'S 3918/2, Standring innen' => 'other', // Other
|
||||
'S 3918/3, Boden' => 'other', // Other
|
||||
'S 3918/4, Boden' => 'other', // Other
|
||||
'S 4014a___ Auf Rückseite oben links.' => 'other', // Other
|
||||
'S 4014a___ Auf Rückseite, unter Hakenmontierung.' => 'other', // Other
|
||||
'S 4301/1 Unter der Fotografie' => 'other', // Other
|
||||
'S 4301/2 unter der Fotografie' => 'other', // Other
|
||||
'S 4301/4 Rückseite' => 'other', // Other
|
||||
'S 4301/5 Rückseite' => 'other', // Other
|
||||
'Schlüssel' => 'other', // Other
|
||||
'Seite' => 'other', // Other
|
||||
'Sohle' => 'other', // Other
|
||||
'Spiegel, neben Figur' => 'other', // Other
|
||||
'Standfläche' => 'other', // Other
|
||||
'Standfläche vorne; Kufen aussen' => 'other', // Other
|
||||
'Stirnseite am Laternendach' => 'other', // Other
|
||||
'Unterhalb der Urkunde.' => 'other', // Other
|
||||
'Unterseite, Griff' => 'other', // Other
|
||||
'Unterseite, Griffende' => 'other', // Other
|
||||
'Wandung Kuppa' => 'other', // Other
|
||||
'Zweite Silbermedaille auf Aufsatz' => 'other', // Other
|
||||
'am Fuß stilisierten Lilie' => 'other', // Other
|
||||
'am Hals hinten' => 'other', // Other
|
||||
'auf der Halterung des Würfelbechers' => 'other', // Other
|
||||
'auf der Plinthe' => 'other', // Other
|
||||
'beidseitig Kanone' => 'other', // Other
|
||||
'oberhalb des Boden, unterhalb der Engel' => 'other', // Other
|
||||
'unter einem Trennungsstern des Zitats' => 'other', // Other
|
||||
'Übergang Stiel zu Kuppa' => 'other', // Other
|
||||
'über Adresse' => 'other', // Other
|
||||
'umlaufend' => 'other', // Other:w
|
||||
'Auf dem Bügel beidseitig.' => 'other', // Other
|
||||
'Fuß und Deckel' => 'other', // Other
|
||||
'Griff, hinten' => 'other', // Other
|
||||
'Griff, hinteres Ende' => 'other', // Other
|
||||
'Griff, vorne' => 'other', // Other
|
||||
'Klinge' => 'other', // Other
|
||||
'Nacken' => 'other', // Other
|
||||
'Objektiv S 2513/1c' => 'other', // Other
|
||||
'Projektor' => 'other', // Other
|
||||
'S 2561/2' => 'other', // Other
|
||||
'Widmungsschild 5' => 'other', // Other
|
||||
'am breiten Ende' => 'other', // Other
|
||||
'an den Kodeln befestigtes textiles Schild' => 'other', // Other
|
||||
'Öffnung des Kopfkissenbezugs' => 'other', // Other
|
||||
"VS:" => "other",
|
||||
"vs" => "other",
|
||||
"vs:" => "other",
|
||||
"vs." => "other",
|
||||
'Auf Löffelgriff' => 'other', // Other
|
||||
'Auf dem Ende des Griffs' => 'other', // Other
|
||||
'spatelartiges Stielende' => 'other', // Other
|
||||
"VS und RS" => "other",
|
||||
"vs: oben/ unten" => "other",
|
||||
"VS Fahne" => "other",
|
||||
"Balken" => "other",
|
||||
"Zugbalken" => "other",
|
||||
"Front" => "other",
|
||||
"Vorderseite / Stirn" => "other",
|
||||
"vorn" => "other",
|
||||
"innen" => "other",
|
||||
"Innen" => "other",
|
||||
"inneres Lederfutter" => "other",
|
||||
"Innenseite" => "other",
|
||||
"unter Gewichtsauflagenschale" => "other",
|
||||
@@ -144,6 +896,8 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"auf Skala" => "other",
|
||||
"Vorderseite Eisengestell" => "other",
|
||||
"Außenwand" => "other",
|
||||
"Wandung" => "other",
|
||||
"Ansichtsseite" => "other",
|
||||
"Aufkleber" => "other",
|
||||
"unter Ausgußtülle" => "other",
|
||||
"Glasaußenseite" => "other",
|
||||
@@ -187,7 +941,6 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"Oberseite Holzsohle, mittig im oberer Drittel" => "other",
|
||||
"Vorderseite Ziffernblatt" => "other",
|
||||
"Boden, außen" => "other",
|
||||
"innen" => "other",
|
||||
"außen" => "other",
|
||||
"aussen" => "other",
|
||||
"am Gehäuse" => "other",
|
||||
@@ -278,10 +1031,10 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"Oberseite Kiste" => "other",
|
||||
"beidseitig am Waagengestell, Waagebalken, auf Abdeckung" => "other",
|
||||
"vs Umschrift" => "other",
|
||||
"Frontseite" => "other",
|
||||
"Vorderseite Akkordeon" => "other",
|
||||
"mittig am Fußgestell" => "other",
|
||||
"Balkenskala links" => "other",
|
||||
"Signatur (gedruckt)" => "other",
|
||||
"auf Passpartout" => "other",
|
||||
"auf Papp-Schmuckrahmen" => "other",
|
||||
"Fotomitte" => "other",
|
||||
@@ -289,9 +1042,19 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
"Flasche" => "other",
|
||||
"auf dem Kontaktbogen unter dem jeweiligen Bild" => "other",
|
||||
"Waage" => "other",
|
||||
"Weiteres" => "other",
|
||||
"auf Kunststoffhülle (für Kleinbildfilmstreifen)" => "other",
|
||||
"Signatur" => "other",
|
||||
"Legende" => "other",
|
||||
"Schriftband" => "other",
|
||||
"Textplatte" => "other",
|
||||
"oberer Holzkasten" => "other",
|
||||
"Verso" => "other",
|
||||
"In Bild Beschriftung" => "other",
|
||||
"Bauch" => "other",
|
||||
"Avers" => "other",
|
||||
"Text" => "other",
|
||||
"auf dem Original-Fotobox" => "other",
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -304,7 +1067,8 @@ final class MDConcMarkingPosition implements MDImporterConcordanceListInterface
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::MARKING_POSITIONS_VERBOSE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown marking position: " . $input);
|
||||
MDImporterMissingConcordance::throw("marking position", $input);
|
||||
return "other"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::MARKING_POSITIONS_VERBOSE[$input];
|
||||
|
||||
+412
-27
@@ -16,29 +16,126 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
// Default: Handwritten
|
||||
"-" => "handwritten",
|
||||
"x" => "handwritten",
|
||||
'1202 / 1' => "handwritten",
|
||||
"Autograph (handschriftlich" => "handwritten",
|
||||
"Autograph (handschriftlich)" => "handwritten",
|
||||
"Beschriftung auf Zettel (handschriftlich)" => "handwritten",
|
||||
'Unterglasur - Marke' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Herstellernachweis' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Künstlermarke' => 'handwritten', // Handwritten
|
||||
'Herstellernachweis' => 'handwritten',
|
||||
'Handschriftlich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
"schwarz" => "handwritten",
|
||||
"Aufkleber, handschriftlich" => "handwritten",
|
||||
"Aufkleber, handschriftlich & gedruckt" => "handwritten",
|
||||
"braun" => "handwritten",
|
||||
'Handarbeit, Halbmond, Krone 800 AMD' => 'handwritten', // Handwritten
|
||||
'handschriftlicher Zettel' => 'handwritten', // Handwritten
|
||||
"handschriftlich auf Rückwand" => "handwritten",
|
||||
"Leinenarbeit" => "handwritten",
|
||||
'eingelegter Zettel, handschriftlicher Vermerk' => 'handwritten', // Handwritten
|
||||
'evtl. auch Papier oder Tierhaut?' => 'handwritten', // Handwritten
|
||||
"oben, Mitte, unten" => "handwritten",
|
||||
"graphisches Dekor" => "handwritten",
|
||||
"Abbild" => "handwritten",
|
||||
"Karikatur" => "handwritten",
|
||||
"Signatur" => "handwritten",
|
||||
"Zettel handschriftlich" => "handwritten",
|
||||
"Zettel, handschriftlich und gedruckt" => "handwritten",
|
||||
"Relief" => "handwritten",
|
||||
'Eigentumsnachweis' => 'handwritten', // Handwritten
|
||||
'beschrieben - Beschriftung' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Eigentumsnachweis' => 'handwritten', // Handwritten
|
||||
'montiert - Herstellernachweis' => 'handwritten', // Handwritten
|
||||
"hersteller" => "handwritten",
|
||||
"mit braunem Leinen überzogen" => "handwritten",
|
||||
"mit grünem Papier überzogen" => "handwritten",
|
||||
'Bleistift, jeweils auf der Vorderseite' => 'handwritten', // Handwritten
|
||||
'Druck und handschriftlich' => 'handwritten', // Handwritten
|
||||
'Handschriftlich, Bleistift' => 'handwritten', // Handwritten
|
||||
'Weller / 1953' => 'handwritten', // Handwritten
|
||||
'bezeichnet' => 'handwritten', // Handwritten
|
||||
'eventuell handschriftlich' => 'handwritten', // Handwritten
|
||||
'evtl. handschriftlich' => 'handwritten', // Handwritten
|
||||
'handschriftlich (Bleistift)' => 'handwritten', // Handwritten
|
||||
'handschriftlich bzw. gedruckt' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Aufkleber' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Bleistift' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Bleistift, Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Kugelschreiber' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich, Tusche' => 'handwritten', // Handwritten
|
||||
'handschriftlich, mit Stift' => 'handwritten', // Handwritten
|
||||
'iris / MADE IN ITALY' => 'handwritten', // Handwritten
|
||||
'vermutlich Bleistift' => 'handwritten', // Handwritten
|
||||
'von jenseits der Absperrung' => 'handwritten', // Handwritten
|
||||
'Firmenzeichen' => 'handwritten', // Handwritten
|
||||
'geknotet - Etikett' => 'handwritten', // Handwritten
|
||||
'geknotet - Preisschild' => 'handwritten', // Handwritten
|
||||
'gewebt - Eigentumsnachweis' => 'handwritten', // Handwritten
|
||||
'gewebt - Hersteller-Etikett' => 'handwritten', // Handwritten
|
||||
'geätzt - Signatur' => 'handwritten', // Handwritten
|
||||
'Hochdrucktechnik - Firmenzeichen' => 'handwritten', // Handwritten
|
||||
'Schriftzug' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Schriftzug' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Widmung' => 'handwritten', // Handwritten
|
||||
"mit weißen Papier überzogen" => "handwritten",
|
||||
'handschriftlich - Beschriftung' => 'handwritten', // Handwritten
|
||||
"schwarz bedruckten Leinen" => "handwritten",
|
||||
"rot gemasert" => "handwritten",
|
||||
'handschriftlich - Etikett' => 'handwritten', // Handwritten
|
||||
"ornamentiert" => "handwritten",
|
||||
"handschriftlich; aufgeklebt" => "handwritten",
|
||||
'Beschauzeichen' => 'handwritten', // Handwritten
|
||||
'handschriftlich - alte Inventarnummer' => 'handwritten', // Handwritten
|
||||
"handschriftlich mit Bleistift" => "handwritten",
|
||||
"mit schwarzer Kreide" => "handwritten",
|
||||
"mit schwarzer Kreide - Signatur" => "handwritten",
|
||||
"Beschriftung auf Plakette (handschriftlich)" => "handwritten",
|
||||
"handschriftlich - Beschriftung durch Hersteller*in" => "handwritten",
|
||||
"Beschriftung" => "handwritten",
|
||||
"Beschriftung (handschriftlich)" => "handwritten",
|
||||
"Beschriftung (mittig)" => "handwritten",
|
||||
"Beschriftung (spiegelverkehrt und gedreht)" => "handwritten",
|
||||
"Beschriftung (spiegelverkehrt)" => "handwritten",
|
||||
"Beschriftung auf Montierung (handschriftlich)" => "handwritten",
|
||||
"Beschriftung auf Rückseitenschutz (handschriftlich)" => "handwritten",
|
||||
"Beschriftung auf Schmuckrahmen (handschriftlich)" => "handwritten",
|
||||
"Beschriftung auf Sockel (handschriftlich)" => "handwritten",
|
||||
"Datierung (handschriftlich)" => "handwritten",
|
||||
"Titel (handschriftlich)" => "handwritten",
|
||||
"Widmung (handschriftlich)" => "handwritten",
|
||||
"Text" => "handwritten",
|
||||
"im Stein" => "handwritten",
|
||||
"im Stein - Beschriftung" => "handwritten",
|
||||
|
||||
# Handwriting
|
||||
|
||||
"aufgemalt/geschrieben" => "handwritten",
|
||||
"Aufschrift" => "handwritten",
|
||||
"Aufschrift (Bleistift)" => "handwritten",
|
||||
'handschirftlich - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschirftlich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriflich mit Bleistift - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriflich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'handschrifltich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Bleisift - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Bleistift - Beschriftung' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Bleistift - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Feder - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Kohle - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit Kugelschreiber - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriftlich mit schwarzer Kreide - Signatur' => 'handwritten', // Handwritten
|
||||
'handschriftliche Dedikation - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriftllich mit Bleistift - Handschrift' => 'handwritten', // Handwritten
|
||||
'handschriftllich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'hanschriftlich mit Bleistift - Signatur' => 'handwritten', // Handwritten
|
||||
'marking' => 'handwritten', // Handwritten
|
||||
"Aufschrift mit Tinte" => "handwritten",
|
||||
"Beischrift" => "handwritten",
|
||||
"Benennung" => "handwritten",
|
||||
"beschrieben" => "handwritten",
|
||||
"beschriftet" => "handwritten",
|
||||
"Beschriftet" => "handwritten",
|
||||
@@ -50,7 +147,6 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"Bleistift" => "handwritten",
|
||||
"Bleisitft" => "handwritten",
|
||||
"Bleistiftbeschriftung" => "handwritten",
|
||||
"Bleistiftzeichnung" => "handwritten",
|
||||
"Bleistift,Kugelschreiber" => "handwritten",
|
||||
"Bleistift und Buntstift bzw. kann auch Tinte sein" => "handwritten",
|
||||
"Bleistiftbeschriftung auf der Rückseite" => "handwritten",
|
||||
@@ -59,17 +155,21 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"Einkreisung mit wasserfestem Marker" => "handwritten",
|
||||
"ev. Tinte" => "handwritten",
|
||||
"Federtusche" => "handwritten",
|
||||
"Faserstift ?" => "handwritten",
|
||||
"Filzstiftnotiz" => "handwritten",
|
||||
"Füllerbeschriftung auf der Rückseite" => "handwritten",
|
||||
"Goldschrift" => "handwritten",
|
||||
"Handschrift" => "handwritten",
|
||||
"handschrifltich" => "handwritten",
|
||||
"Handschriftlich" => "handwritten",
|
||||
"handschriflich" => "handwritten",
|
||||
"handschriftlich" => "handwritten",
|
||||
"handschriftlich, Kleber" => "handwritten",
|
||||
"handschriftliche Notiz" => "handwritten",
|
||||
"handschriftlich Notiz" => "handwritten",
|
||||
"handschriftlich + geklebt" => "handwritten",
|
||||
"handschriftlich, mit blauer Tinte" => "handwritten",
|
||||
"Handschriftlich mit Bleistift" => "handwritten",
|
||||
"handschriftliche Notiz" => "handwritten",
|
||||
"Schrift" => "handwritten",
|
||||
"roter wasserfester Stift" => "handwritten",
|
||||
"keine Inschrift" => "handwritten",
|
||||
@@ -80,7 +180,6 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"geschrieben (schwarzer Filzstift)" => "handwritten",
|
||||
"geschrieben mit schwarzer Ölfarbe" => "handwritten",
|
||||
"geschrieben mit schwarzer Farbe" => "handwritten",
|
||||
"Künstlersignatur" => "handwritten",
|
||||
"Kugelschreiber,Bleistift" => "handwritten",
|
||||
"Kugelschreiber" => "handwritten",
|
||||
"Kulibeschriftung auf der Rückseite" => "handwritten",
|
||||
@@ -110,7 +209,7 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"signiert und datiert" => "handwritten",
|
||||
"Signiert" => "handwritten",
|
||||
"signiert, mit Bleistift geschrieben" => "handwritten",
|
||||
"Signatur mit Kugelschreiber" => "handwritten",
|
||||
"handschriftlich mit Bleistift - Marke" => "handwritten",
|
||||
"signiert, mit blauer Tinte geschrieben" => "handwritten",
|
||||
"signiert, mit schwarzer Tinte geschrieben" => "handwritten",
|
||||
"Tinte" => "handwritten",
|
||||
@@ -126,34 +225,87 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"verschlungenes Monogramm" => "handwritten",
|
||||
|
||||
# Scratchings
|
||||
"Beschriftung (geritzt)" => "scratch",
|
||||
"kratzen, Filzstift" => "scratch",
|
||||
"gekratzt" => "scratch",
|
||||
"eingeritztes Kreuzchen" => "scratch",
|
||||
"eingekratzt" => "scratch",
|
||||
'Ritzverzierung' => 'scratch', // Scratching
|
||||
'ritzverziert' => 'scratch', // Scratching
|
||||
'tremolierstichverziert - Gravur' => 'scratch', // Scratching
|
||||
"geschnitzt" => "scratch",
|
||||
"Glas geschliffen vom Boden bis zur Hälfte" => "scratch",
|
||||
"Scratching" => "scratch",
|
||||
|
||||
# Overpaint
|
||||
"painted" => "painted",
|
||||
"Bemalung" => "painted",
|
||||
"bemalt" => "painted",
|
||||
"gemalt" => "painted",
|
||||
"Gemalt" => "painted",
|
||||
"signiert, gemalt" => "painted",
|
||||
'gemalt - Schriftzug' => 'painted', // Painted
|
||||
'gemalt - Aphorismus' => 'painted', // Painted
|
||||
'gemalt - Beschriftung' => 'painted', // Painted
|
||||
'gemalt - Signatur' => 'painted', // Painted
|
||||
'gemalt - Widmung' => 'painted', // Painted
|
||||
'gefärbt - Schriftzug' => 'painted', // Painted
|
||||
'handgemalt / 323' => 'painted', // Painted
|
||||
"Wappen (gemalt)" => "painted",
|
||||
|
||||
# Drawn
|
||||
"Wappen (gezeichnet)" => "drawn",
|
||||
"Bleistiftzeichnung" => "drawn",
|
||||
|
||||
|
||||
# Glued
|
||||
"aufgeklebter Druck" => "glued",
|
||||
"Aufkleber" => "glued",
|
||||
"aufgeklebt" => "glued",
|
||||
"geklebt" => "glued",
|
||||
"aufgeklebter Zettel" => "glued",
|
||||
"Aufkleber weiß, rechteckig" => "glued",
|
||||
'aufgeklebt - Firmenzeichen' => 'glued', // Glued
|
||||
"Papieraufkleber" => "glued",
|
||||
"Abziehbild" => "glued",
|
||||
'Herstellermarke' => 'glued', // Glued
|
||||
'Stadtmarke' => 'glued', // Glued
|
||||
"Aufschrift auf aufgeklebtes Schildchen" => "glued",
|
||||
"aufgeklebtes Schild" => "glued",
|
||||
"Etikett" => "glued", // This whole value doesn't make sense
|
||||
"Etiketten" => "glued",
|
||||
'Hersteller- und Beschaumarken' => 'glued', // Glued
|
||||
'Zettel mit Informationen zur Verleihung innenliegend' => 'glued', // Glued
|
||||
'Aufkleber auf der Schachtel' => 'glued', // Glued
|
||||
'Aufkleber und handschriftlich' => 'glued', // Glued
|
||||
'Zettel' => 'glued', // Glued
|
||||
'beklebt' => 'glued', // Glued
|
||||
"Aufkleber, mit Computer geschriebene Schrift" => "glued",
|
||||
'Papier geklept' => 'glued', // Glued
|
||||
'Post It' => 'glued', // Glued
|
||||
'RA 140,- / 09x55' => 'glued', // Glued
|
||||
'Schild im Inneren der Schatulle' => 'glued', // Glued
|
||||
'Sticker' => 'glued', // Glued
|
||||
'Sticker geklebt' => 'glued', // Glued
|
||||
'angeklebter Zettel' => 'glued', // Glued
|
||||
"gestochen (?), aufgeklebt" => "glued",
|
||||
"etikettiert" => "glued",
|
||||
'aufgeklebt - Etikett' => 'glued',
|
||||
"schriftlich - Aufkleber" => "glued",
|
||||
"Abbildung hinterlegt mit Holz; Holzplatte umklebt mit Papier" => "glued",
|
||||
"Papier hinterklebt (Rückseite); gestickt (Vorderseite)" => "glued",
|
||||
'aufgeklebt - Hersteller-Etikett' => 'glued', // Glued
|
||||
'geklebt - Hersteller-Etikett' => 'glued', // Glued
|
||||
'Hersteller-Etikett' => 'glued', // Glued
|
||||
'Hersteller-Etikette' => 'glued', // Glued
|
||||
'geklebt - Beschriftung' => 'glued', // Glued
|
||||
'geklebt - Eigentumsnachweis' => 'glued', // Glued
|
||||
'geklebt - Etikett' => 'glued', // Glued
|
||||
'geklebt - Exlibris' => 'glued', // Glued
|
||||
'geklebt - Herstellernachweis' => 'glued', // Glued
|
||||
'geklebt - Prüfmarke' => 'glued', // Glued
|
||||
"Adressaufkleber des Voreigentümers" => "glued",
|
||||
"Klebezettel (maschienengeschrieben)" => "glued",
|
||||
|
||||
"Blau gerändertes helles Etikett" => "glued",
|
||||
"Papieretikett, Klebeetikett" => "glued",
|
||||
@@ -161,37 +313,90 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"Typenschild Alum." => "glued",
|
||||
"Messing-Typenschild" => "glued",
|
||||
"Kartoniert, mit schwarzem, genarbtem Papier überzogen" => "glued",
|
||||
"Klebezettel" => "glued",
|
||||
"Klebezettel (gedruckt)" => "glued",
|
||||
"Klebezettel (gestempelt)" => "glued",
|
||||
"Klebezettel (handschriftlich)" => "glued",
|
||||
"Klebezettel (maschinengeschrieben)" => "glued",
|
||||
"Klebezettelreste" => "glued",
|
||||
"Klebezettel (Rest)" => "glued",
|
||||
|
||||
# Cast (e.g. iron cast)
|
||||
"Guss" => "cast",
|
||||
"Guß" => "cast",
|
||||
"gegossen" => "cast",
|
||||
'gegossen - Marke' => 'cast', // Cast
|
||||
"eingegossen" => "cast",
|
||||
'im Guss' => 'cast', // Cast
|
||||
'gegossen - Firmenzeichen' => 'cast', // Cast
|
||||
"mit eingegossen" => "cast",
|
||||
|
||||
'gegossen - Schriftzug' => 'cast', // Cast
|
||||
"Marke in Unterglasur- und Aufglasurmalerei" => "cast",
|
||||
"Passepartout" => "cast",
|
||||
'Legierung' => 'cast', // Cast
|
||||
|
||||
# Printed
|
||||
"Druck" => "overprint",
|
||||
"gedruckt" => "overprint",
|
||||
"Signatur (gedrucktt)" => "overprint",
|
||||
"gedruckt; geklebt" => "overprint",
|
||||
"Aufkleber, gedruckt" => "overprint",
|
||||
"bedruckt" => "overprint",
|
||||
"bedruckt und Tinte" => "overprint",
|
||||
"aufgedruckt" => "overprint",
|
||||
'gedruckt - Eigentumsnachweis' => 'overprint', // Overprint
|
||||
"Gedruckt" => "overprint",
|
||||
"Tiefdruck" => "overprint",
|
||||
"gestochen/gedruckt" => "overprint",
|
||||
"Tiefdruck, weiß" => "overprint",
|
||||
"Aufdruck" => "overprint",
|
||||
"eingedruckt" => "overprint",
|
||||
"mit schwarzer Farbe bedruckt" => "overprint",
|
||||
'Druck "Umschlag"' => 'overprint', // Overprint
|
||||
"Druck und glasiert" => "overprint",
|
||||
"Zettel bedruckt" => "overprint",
|
||||
'gedruckt (spiegelverkehrt)' => 'overprint', // Overprint
|
||||
'gedruckt und somit nur auf dem Original vorhanden.' => 'overprint', // Overprint
|
||||
'nicht handschriftlich' => 'overprint', // Overprint
|
||||
"bedruckte Zettelchen" => "overprint",
|
||||
"gedruckt/gestochen?" => "overprint",
|
||||
"Beschrifung (gedruckt)" => "overprint",
|
||||
"Druck, weiße Schrift" => "overprint",
|
||||
"gedruckt und geprägt" => "overprint",
|
||||
"gdruckt" => "overprint",
|
||||
"Signatur (gedruckt)" => "overprint",
|
||||
'Druck - Aphorismus' => 'overprint', // Overprint
|
||||
'Druck - Beschriftung' => 'overprint', // Overprint
|
||||
'Druck - Herstellernachweis' => 'overprint', // Overprint
|
||||
'Siebdruck' => 'overprint', // Overprint
|
||||
'bedruckt - Beschriftung' => 'overprint', // Overprint
|
||||
'bedruckt - Eigentumsnachweis' => 'overprint', // Overprint
|
||||
'bedruckt - Herstellermarke' => 'overprint', // Overprint
|
||||
'bedruckt - Herstellernachweis' => 'overprint', // Overprint
|
||||
'bedruckt - Schriftzug' => 'overprint', // Overprint
|
||||
'gedruckt - Hersteller-Etikette' => 'overprint', // Overprint
|
||||
'gedruckt - Schriftzug' => 'overprint', // Overprint
|
||||
'gedruckt - Inschrift' => 'overprint', // Overprint
|
||||
'bedruckt - Etikett' => 'overprint', // Overprint
|
||||
'bedruckt - Hersteller-Etikette' => 'overprint', // Overprint
|
||||
'bedruckt - Preisschild' => 'overprint', // Overprint
|
||||
'gedruckt - Etikett' => 'overprint', // Overprint
|
||||
'gedruckt - Firmenzeichen' => 'overprint', // Overprint
|
||||
'gedruckt - Hersteller-Etikett' => 'overprint', // Overprint
|
||||
'gedruckt - Herstellernachweis' => 'overprint', // Overprint
|
||||
'gedruckt - Marke' => 'overprint', // Overprint
|
||||
'gedruckt - Signatur' => 'overprint', // Overprint
|
||||
'gedruckt - Stempel' => 'overprint', // Overprint
|
||||
'gedruckt im Stein - Beschriftung' => 'overprint', // Overprint
|
||||
'gedruckt im Stein - Inschrift' => 'overprint', // Overprint
|
||||
'gedruckt im Stein - Signatur' => 'overprint', // Overprint
|
||||
"gerduckt" => "overprint",
|
||||
"goldener Druck mit Ornamenten und Zierrahmen" => "overprint",
|
||||
"Golddruck" => "overprint",
|
||||
"Titel mit Signatur (gedruckt)" => "overprint",
|
||||
"Bechriftung (gedruckt)" => "overprint",
|
||||
"Seriennummer" => "overprint",
|
||||
"auf kleine Zettelchen gedruckt" => "overprint",
|
||||
"Textaufdruck" => "overprint",
|
||||
"gedruckt und gestempelt" => "overprint",
|
||||
"enthält Textaufdruck" => "overprint",
|
||||
@@ -208,46 +413,101 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"schwarzer Aufdruck" => "overprint",
|
||||
"schwwarzer Aufdruck" => "overprint",
|
||||
"geplottert" => "overprint",
|
||||
"gedruckt - Beschriftung" => "overprint",
|
||||
"gedruckt und eingeschoben" => "overprint",
|
||||
"gedruckt und eingeschoben, kursiv" => "overprint",
|
||||
"Druckerei-Vermerk" => "overprint",
|
||||
"Beschriftung (gedruckt)" => "overprint",
|
||||
"Beschriftung auf Montierung (gedruckt)" => "overprint",
|
||||
"Beschriftung auf Rückseitenschutz (gedruckt)" => "overprint",
|
||||
"Beschriftung auf Schmuckrahmen (gedruckt)" => "overprint",
|
||||
"Datierung (gedruckt)" => "overprint",
|
||||
"Titel (gedruckt)" => "overprint",
|
||||
"Titel (gedruckt)" => "overprint",
|
||||
"Wappen (gedruckt)" => "overprint",
|
||||
"Widmung (gedruckt)" => "overprint",
|
||||
|
||||
# Sewn
|
||||
"aufgestickt" => "sewn",
|
||||
"aufgenäht" => "sewn",
|
||||
"Beschriftung (gestickt)" => "sewn",
|
||||
"bestickter viereckiger Aufnäher" => "sewn",
|
||||
"eingestickt" => "sewn",
|
||||
"Fußsohle: gestickt, Fähnchen: angenäht" => "sewn",
|
||||
'genäht - Eigentumsnachweis' => 'sewn', // Sewn
|
||||
'genäht - Herstellernachweis' => 'sewn', // Sewn
|
||||
'genäht - Beschriftung' => 'sewn', // Sewn
|
||||
'genäht - Hersteller-Etikett' => 'sewn', // Sewn
|
||||
'genäht - Etikett' => 'sewn', // Sewn
|
||||
"gestickt/genäht" => "sewn",
|
||||
"gedruckt/genäht" => "sewn",
|
||||
"genäht" => "sewn",
|
||||
"maschinell gestickt bzw. aufgenähr" => "sewn",
|
||||
"maschinell gestickt bzw. aufgenäht" => "sewn",
|
||||
'eingenähter Zettel' => 'sewn', // Sewn
|
||||
"schwarze Stickerei" => "sewn",
|
||||
|
||||
# Burnt in
|
||||
"eingebrannt" => "burnt_in",
|
||||
"Brandstempel" => "burnt_in",
|
||||
"Brennstempel" => "burnt_in",
|
||||
'gebrannt - Beschriftung' => 'burnt_in', // Burnt in
|
||||
'Brandstempel - Eigentumsnachweis' => 'burnt_in', // Burnt in
|
||||
|
||||
# Stamped
|
||||
"stamped" => "stamp",
|
||||
"gestempelt" => "stamp",
|
||||
"Stempel (rund)" => "stamp",
|
||||
"Stempel" => "stamp",
|
||||
"Beschriftung (geprägt)" => "stamp",
|
||||
"blauer Stempel" => "stamp",
|
||||
"Eichstempel" => "stamp",
|
||||
"Eingangstempel (rot)" => "stamp",
|
||||
"Farbstempel" => "stamp",
|
||||
"Stempel,Kugelschreiber" => "stamp",
|
||||
"mit Metallstempel eingedrückt" => "stamp",
|
||||
'gestempelt - Herstellernachweis' => 'stamp', // Stamped
|
||||
'gestempelt - Marke' => 'stamp', // Stamped
|
||||
"gestempelt" => "stamp",
|
||||
"Marke" => "stamp",
|
||||
'gestempelt - Beschriftung' => 'stamp', // Stamped
|
||||
"Blindstempel" => "stamp",
|
||||
"Marke und Werbestempel" => "stamp",
|
||||
"mit Metallstempel eingedrückt" => "stamp",
|
||||
"Prägestempel" => "stamp",
|
||||
"Prägestempel des Fotografen" => "stamp",
|
||||
"vermutlich Stempel" => "stamp",
|
||||
'2 Stempel, durchgestrichen' => 'stamp', // Stamped
|
||||
'2 x Stempel, durchgestrichen' => 'stamp', // Stamped
|
||||
'Stempel auf Porzellan' => 'stamp', // Stamped
|
||||
'Stempel auf Silber' => 'stamp', // Stamped
|
||||
'Stempel, durchgestrichen' => 'stamp', // Stamped
|
||||
'u.a. Stempel' => 'stamp', // Stamped
|
||||
"Prägestempel des Fotografen" => "stamp",
|
||||
'gestempelt - Eigentumsnachweis' => 'stamp', // Stamped
|
||||
'gestempelt - Feingehaltszeichen' => 'stamp', // Stamped
|
||||
'gestempelt - Firmenzeichen' => 'stamp', // Stamped
|
||||
'gestempelt - Herstellermarke' => 'stamp', // Stamped
|
||||
'gestempelt - Modellnummer' => 'stamp', // Stamped
|
||||
'gestempelt - Reichsstempel' => 'stamp', // Stamped
|
||||
"roter Stempel" => "stamp",
|
||||
"schwarz gestempelt" => "stamp",
|
||||
"Signaturenstempel" => "stamp",
|
||||
"stamped" => "stamp",
|
||||
'gestempelt - Beschauzeichen' => 'stamp', // Stamped
|
||||
'gestempelt - Meisterzeichen' => 'stamp', // Stamped
|
||||
'gestemnpelt - Stempel' => 'stamp', // Stamped
|
||||
'gestempelt - Signatur' => 'stamp', // Stamped
|
||||
'gestempelt - Stempel' => 'stamp', // Stamped
|
||||
"Stempel" => "stamp",
|
||||
"Stempel (rund)" => "stamp",
|
||||
"Stempel,Kugelschreiber" => "stamp",
|
||||
"Stempel eingeprägt" => "stamp",
|
||||
"Stempelaufdruck" => "stamp",
|
||||
'Signatur gestempelt - Signatur' => 'stamp', // Stamped
|
||||
|
||||
"Beschriftung (gestempelt)" => "stamp",
|
||||
"Beschriftung auf Montierung (gestempelt)" => "stamp",
|
||||
"Beschriftung auf Rückseitenschutz (gestempelt)" => "stamp",
|
||||
"Beschriftung auf Schmuckrahmen (gestempelt)" => "stamp",
|
||||
"Datierung (gestempelt)" => "stamp",
|
||||
"Titel (gestempelt)" => "stamp",
|
||||
"Wappen (gestempelt)" => "stamp",
|
||||
"Widmung (gestempelt)" => "stamp",
|
||||
"Signatur (gestempelt)" => "stamp",
|
||||
|
||||
# Engraving
|
||||
"Gravur" => "engraving",
|
||||
@@ -255,10 +515,26 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"Gravierung" => "engraving",
|
||||
"eingraviert" => "engraving",
|
||||
"aufgraviert" => "engraving",
|
||||
'Gravur etc., Initialen' => 'engraving', // Engraving
|
||||
"vorne gestochen (?); hinten aufgeklebt" => "engraving",
|
||||
'graviert - Aphorismus' => 'engraving', // Engraving
|
||||
'graviert - Beschriftung' => 'engraving', // Engraving
|
||||
'graviert - Monogramm' => 'engraving', // Engraving
|
||||
'graviert - Prägung' => 'engraving', // Engraving
|
||||
'graviert - Widmung' => 'engraving', // Engraving
|
||||
'graviert - Gravur' => 'engraving', // Engraving
|
||||
'graviert - Schriftzug' => 'engraving', // Engraving
|
||||
'graviert - Signatur' => 'engraving', // Engraving
|
||||
'graviert - Tremulierstich' => 'engraving', // Engraving
|
||||
'graviert - Eigentumsnachweis' => 'engraving', // Engraving
|
||||
'graviert - Marke' => 'engraving', // Engraving
|
||||
"graviert und gestempelt" => "engraving",
|
||||
'Gravur/ Stempel' => 'engraving', // Engraving
|
||||
'Legierung/Gravur' => 'engraving', // Engraving
|
||||
"Nummer graviert, gedruckt" => "engraving",
|
||||
"eingraviert und geätzt" => "engraving",
|
||||
"Schnitt" => "engraving",
|
||||
"Beschriftung (graviert)" => "engraving",
|
||||
|
||||
# Screwed on
|
||||
"angeschraubt" => "screwed",
|
||||
@@ -280,6 +556,7 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
|
||||
# Riveted
|
||||
"Angenietet" => "riveted",
|
||||
'genietet - Herstellernachweis' => 'riveted', // Riveted
|
||||
"Metallschild angenietet" => "riveted",
|
||||
|
||||
# Embossing
|
||||
@@ -287,9 +564,9 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"geprägt und angeschraubt" => "embossing",
|
||||
"eingeprägt" => "embossing",
|
||||
"Prägung" => "embossing",
|
||||
"Stempel eingeprägt" => "embossing",
|
||||
"geflechelt" => "embossing",
|
||||
"Inschrift, geprägt" => "embossing",
|
||||
"Signatur (geprägt)" => "embossing",
|
||||
"schwarze Prägung" => "embossing",
|
||||
"aufgesetzt und genutet, eingeprägt" => "embossing",
|
||||
"mit eingeprägtem Golddruck" => "embossing",
|
||||
@@ -298,6 +575,20 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"Marke mit Stempel eingeschlagen" => "embossing",
|
||||
"geprägt auf Schleife" => "embossing",
|
||||
"eingeprägt, Umschrift um mittiges Löwen-Wappentier" => "embossing",
|
||||
'geprägt - Beschriftung' => 'embossing', // Embossing
|
||||
'geprägt - Gravur' => 'embossing', // Embossing
|
||||
'geprägt - Hersteller-Etikette' => 'embossing', // Embossing
|
||||
'geprägt - Herstellermarke' => 'embossing', // Embossing
|
||||
'geprägt - Eigentumsnachweis' => 'embossing', // Embossing
|
||||
'geprägt - Etikett' => 'embossing', // Embossing
|
||||
'geprägt - Herstellernachweis' => 'embossing', // Embossing
|
||||
'geprägt - Marke' => 'embossing', // Embossing
|
||||
'geprägt - Prägung' => 'embossing', // Embossing
|
||||
'geprägt - Signatur' => 'embossing', // Embossing
|
||||
'geprägt - Fabrikmarke' => 'embossing', // Embossing
|
||||
'geprägt - Punze' => 'embossing', // Embossing
|
||||
'Punze' => 'embossing',
|
||||
'geprägt - Schriftzug' => 'embossing', // Embossing
|
||||
"geprägt, Frakturschrift" => "embossing",
|
||||
"Goldprägung" => "embossing",
|
||||
"Golddruck und Prägung" => "embossing",
|
||||
@@ -315,43 +606,136 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
"gestickt" => "embroidered",
|
||||
"bestickt" => "embroidered",
|
||||
"maschinell gestickt" => "embroidered",
|
||||
'gestickt - Beschriftung' => 'embroidered', // Embroidered
|
||||
'gestickt - Monogramm' => 'embroidered', // Embroidered
|
||||
'gestickt - Schriftzug' => 'embroidered', // Embroidered
|
||||
'gestickt - Etikett' => 'embroidered', // Embroidered
|
||||
'gestickt - Eigentumsnachweis' => 'embroidered', // Embroidered
|
||||
'gestickt - Herstellernachweis' => 'embroidered', // Embroidered
|
||||
"mit Goldfaden bestickt" => "embroidered",
|
||||
"Jugendstilornamente" => "embroidered",
|
||||
|
||||
# Punched
|
||||
"gestanzt" => "punched",
|
||||
"geschlagen" => "punched",
|
||||
"gehämmert" => "punched",
|
||||
"Beschriftung (ziseliert)" => "punched",
|
||||
"eingestanzt" => "punched",
|
||||
"eingestanzt; ziseliert" => "punched",
|
||||
"gehämmert" => "punched",
|
||||
"geschlagen" => "punched",
|
||||
'gestanzt - Herstellernachweis' => 'punched', // Punched
|
||||
'gestanzt - Marke' => 'punched', // Punched
|
||||
'gestanzt - Produktname' => 'punched', // Punched
|
||||
'gestanzt - Prägung' => 'punched', // Punched
|
||||
'gestanzt - Signatur' => 'punched', // Punched
|
||||
"gestanzt" => "punched",
|
||||
"gestanzt und bemalt" => "punched",
|
||||
"ziseliert" => "punched",
|
||||
'gestanzt?' => 'punched', // Punched
|
||||
|
||||
# Scarified
|
||||
"geritzt" => "scarified",
|
||||
"eingeritzt" => "scarified",
|
||||
"handschliff" => "scarified",
|
||||
"Schliff" => "scarified",
|
||||
"geritzt" => "scarified",
|
||||
"eingeritzt" => "scarified",
|
||||
"handschliff" => "scarified",
|
||||
"Schliff" => "scarified",
|
||||
'Signatur geritzt - Signatur' => 'scarified', // Scarified
|
||||
'geritzt - Gravur' => 'scarified', // Scarified
|
||||
'Schnitzerei' => 'scarified', // Scarified
|
||||
'geschnitzt - Monogramm' => 'scarified', // Scarified
|
||||
'beschnitzt' => 'scarified', // Scarified
|
||||
'beschnitzt - Eigentumsnachweis' => 'scarified', // Scarified
|
||||
'geschnitzt - Schriftzug' => 'scarified', // Scarified
|
||||
'Signatur geritzt in der Platte - Signatur' => 'scarified', // Scarified
|
||||
'geritzt - Beschriftung' => 'scarified', // Scarified
|
||||
'geritzt - alte Inventarnummer' => 'scarified',
|
||||
'geritzt - Inschrift' => 'scarified', // Scarified
|
||||
'geritzt - Marke' => 'scarified', // Scarified
|
||||
'geritzt - Signatur' => 'scarified', // Scarified
|
||||
'Tremulierstich' => 'scarified', // Scarified
|
||||
'geschnitzt - Eigentumsnachweis' => 'scarified', // Scarified
|
||||
'geritzt in der Platte - Beschriftung' => 'scarified', // Scarified
|
||||
'geritzt in der Platte - Signatur' => 'scarified', // Scarified
|
||||
|
||||
# Hallmarked
|
||||
"gepunzt" => "hallmarked",
|
||||
"eingepunzt" => "hallmarked",
|
||||
"gepunzt/gestanzt" => "hallmarked",
|
||||
"punziert" => "hallmarked",
|
||||
"getrieben und ziseliert" => "hallmarked",
|
||||
"gepunzt" => "hallmarked",
|
||||
"gepunzt - Eigentumsnachweis" => "hallmarked",
|
||||
"eingepunzt" => "hallmarked",
|
||||
"gepunzt/gestanzt" => "hallmarked",
|
||||
'gepunzt - Beschauzeichen' => 'hallmarked', // Punched
|
||||
'gepunzt - Künstlermarke' => 'hallmarked', // Punched
|
||||
'gepunzt - Marke' => 'hallmarked', // Punched
|
||||
'gemarkt' => 'hallmarked', // Punched
|
||||
'gepunzt - Herstellermarke' => 'hallmarked',
|
||||
'gepunzt - Stadtmarke' => 'hallmarked', // Punched
|
||||
'punziert - Feingehaltszeichen' => 'hallmarked', // Punched
|
||||
'punziert - Herstellermarke' => 'hallmarked', // Punched
|
||||
'punziert - Stadtmarke' => 'hallmarked', // Punched
|
||||
"punziert" => "hallmarked",
|
||||
"getrieben und ziseliert" => "hallmarked",
|
||||
'Marke und Punze' => 'hallmarked', // Hallmarked
|
||||
'Marken' => 'hallmarked', // Hallmarked
|
||||
'gepunzt - Punze' => 'hallmarked', // Hallmarked
|
||||
'gepunzt - Punzen' => 'hallmarked', // Hallmarked
|
||||
|
||||
# Nailed
|
||||
"genagelt" => "nailed",
|
||||
"angenagelt" => "nailed",
|
||||
"eingenagelt" => "nailed",
|
||||
'genagelt - Fabrikmarke' => 'nailed', // Nailed
|
||||
|
||||
# Signature
|
||||
"Signatur" => "signature",
|
||||
"signiert" => "signature",
|
||||
"farbig bemalt und glasiert" => "signature",
|
||||
'geruckt - Signatur' => 'signature', // Signature
|
||||
"gemalt und glasiert" => "signature",
|
||||
'beschrieben - Signatur' => 'signature',
|
||||
'Signatur gedruckt im Stein - Signatur' => 'signature', // Signature
|
||||
"Signatur (handschriftlich)" => "signature",
|
||||
"Signatur (gedruckt)" => "signature",
|
||||
"Signatur (gemalt)" => "signature",
|
||||
"Signatur (gezeichnet)" => "signature",
|
||||
"Gez. u. gest. v. F. Foltz in Darmstadt., Andernach." => "signature",
|
||||
"Signatur mit Datierung" => "signature",
|
||||
"Signatur mit Datierung (handschriftlich)" => "signature",
|
||||
"Signatur mit Datierung (gedruckt)" => "signature",
|
||||
"Signatur mit Datierung (gemalt)" => "signature",
|
||||
"Signatur mit Datierung (gestempelt)" => "signature",
|
||||
"Signatur mit Datierung (gezeichnet)" => "signature",
|
||||
"Signatur mit Datierung (gedruckt)" => "signature",
|
||||
"Signatur und Datierung (gedruckt)" => "signature",
|
||||
'Signatur (ebenfalls als Fotokopie)' => 'signature', // Signature
|
||||
'Signatur (fotokopiert)' => 'signature', // Signature
|
||||
'Signatur mit Pinsel aufgetragen' => 'signature', // Signature
|
||||
'Signatur und Titel' => 'signature', // Signature
|
||||
'bezeichnet, Signatur' => 'signature', // Signature
|
||||
'handschriftliche Signatur' => 'signature', // Signature
|
||||
'handschriftliche Signatur, Bleistift' => 'signature', // Signature
|
||||
"Signatur mit Datum (handschriftlich)" => "signature",
|
||||
"Signatur mit Datum (gedruckt)" => "signature",
|
||||
"Signatur mit Datum (gemalt)" => "signature",
|
||||
"Signatur mit Datum (gestempelt)" => "signature",
|
||||
"Signatur mit Datum (gezeichnet)" => "signature",
|
||||
'signatur im Holzstock - Signatur' => 'signature', // Signature
|
||||
'signatur im Stein - Signatur' => 'signature', // Signature
|
||||
"Künstlersignatur" => "signature",
|
||||
"Signatur (geritzt)" => "signature",
|
||||
"Signatur mit Kugelschreiber" => "signature",
|
||||
"handschriftlich mit Bleistift - Signatur" => "signature",
|
||||
"im Stein - Signatur" => "signature",
|
||||
'Signatur im Holzstock - Signatur' => "signature",
|
||||
'Signatur im Stein - Signatur' => "signature",
|
||||
'Signatur in der Platte - Signatur' => "signature",
|
||||
|
||||
# Watermark
|
||||
"Wasserzeichen" => "watermark",
|
||||
'Wasserzeichen - Wasserzeichen' => 'watermark', // Watermark
|
||||
|
||||
'Glasur' => 'glaze', // Glaze
|
||||
|
||||
'geschliffen' => 'sanded', // Sanded
|
||||
|
||||
'Ätzdekor gebläut und vergoldet' => 'etched', // Etched
|
||||
'Ätzverzierung' => 'etched', // Etched
|
||||
'Ätzverzierung und Monogramm' => 'etched', // Etched
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -364,7 +748,8 @@ final class MDConcMarkingType implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::MARKING_TYPES_VERBOSE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown marking type: " . $input);
|
||||
MDImporterMissingConcordance::throw("marking", $input);
|
||||
return "marking"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::MARKING_TYPES_VERBOSE[$input];
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,36 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for grouping object forms / shapes.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Constains lists for grouping object forms / shapes.
|
||||
*/
|
||||
final class MDConcObjectForms implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const FORMS_LIST = [
|
||||
'Würfel' => 'cube',
|
||||
'Zylinder' => 'cylinder',
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::FORMS_LIST[$input])) {
|
||||
MDImporterMissingConcordance::throw("form/shape", $input);
|
||||
return 'cube'; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::FORMS_LIST[$input];
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for categorizing links between objects and tags.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Constains lists for categorizing links between objects and tags.
|
||||
*/
|
||||
final class MDConcObjectTagRelTypes implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const RELATION_TYPE_NAMES = [
|
||||
|
||||
'' => 'tag',
|
||||
'tag' => 'tag',
|
||||
'schlagwort' => 'tag',
|
||||
'Motivgattung' => 'tag',
|
||||
'motivgattung' => 'tag',
|
||||
'Assoziation' => 'tag',
|
||||
'assoziation' => 'tag',
|
||||
'description' => 'tag',
|
||||
'Druckvorlage' => 'tag',
|
||||
'Struktur' => 'tag',
|
||||
'Farbe' => 'tag',
|
||||
'emotion' => 'tag',
|
||||
'atmosphäre' => 'tag',
|
||||
'schwarz-grau' => 'tag',
|
||||
'schwarzgrau' => 'tag',
|
||||
'schwarz' => 'tag',
|
||||
'hellbraun' => 'tag',
|
||||
'schwarz-grau fleckig' => 'tag',
|
||||
'schwarzbraun' => 'tag',
|
||||
'rötlich' => 'tag',
|
||||
'graubraun' => 'tag',
|
||||
'schlagwort hist.ereignis' => 'tag',
|
||||
'schlagwort thema' => 'tag',
|
||||
|
||||
'Objektart' => 'object_type',
|
||||
'objektart' => 'object_type',
|
||||
'object_type' => 'object_type',
|
||||
|
||||
"motive" => "display_subject",
|
||||
"motiv" => "display_subject",
|
||||
"display" => "display_subject",
|
||||
"Bildelement" => "display_subject",
|
||||
"display_subject" => "display_subject",
|
||||
|
||||
"material" => "material",
|
||||
|
||||
"technique" => "technique",
|
||||
"technik" => "technique",
|
||||
|
||||
'thema' => 'topic',
|
||||
'topic' => 'topic',
|
||||
|
||||
'erwähnt' => 'mentioned',
|
||||
'mentioned' => 'mentioned',
|
||||
|
||||
'taxon' => 'taxon',
|
||||
|
||||
];
|
||||
|
||||
// Maps to event type
|
||||
private const RELATION_TYPES_MAPPED_TO_EVENTS = [
|
||||
'\'datierung\'' => ['event_type' => 24, 'target_section' => 'time'],
|
||||
'datierung' => ['event_type' => 24, 'target_section' => 'time'],
|
||||
'schlagwort zeitraum' => ['event_type' => 24, 'target_section' => 'time'],
|
||||
'person' => ['event_type' => 23, 'target_section' => 'actor'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Returns the mapped event type and event type target
|
||||
* of a supposed tag-object relationship name.
|
||||
*
|
||||
* @param string $input Input string (relation type name).
|
||||
*
|
||||
* @return array{event_type: int, target_section: 'time'|'actor'|'place'}
|
||||
*/
|
||||
public static function getMappedEventType(string $input):array {
|
||||
|
||||
if (isset(self::RELATION_TYPES_MAPPED_TO_EVENTS[strtolower($input)])) {
|
||||
return self::RELATION_TYPES_MAPPED_TO_EVENTS[strtolower($input)];
|
||||
}
|
||||
|
||||
MDImporterMissingConcordance::throw("object-tag relationship", $input);
|
||||
return ['event_type' => 24, 'target_section' => 'time'];
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (isset(self::RELATION_TYPE_NAMES[$input])) {
|
||||
return self::RELATION_TYPE_NAMES[$input];
|
||||
}
|
||||
if (isset(self::RELATION_TYPE_NAMES[trim(strtolower($input))])) {
|
||||
return self::RELATION_TYPE_NAMES[trim(strtolower($input))];
|
||||
}
|
||||
|
||||
if (is_numeric($input)) return 'tag';
|
||||
|
||||
if (isset(self::RELATION_TYPES_MAPPED_TO_EVENTS[strtolower($input)])) {
|
||||
throw new MDImporterTagRelationTypeIsEventType("Tag-object relationship type is signifies not tags, but an event component.");
|
||||
}
|
||||
|
||||
MDImporterMissingConcordance::throw("object-tag relationship", $input);
|
||||
return 'tag'; // Return default in dry-run mode
|
||||
|
||||
}
|
||||
}
|
||||
@@ -14,12 +14,50 @@ final class MDConcOwnershipStatus implements MDImporterConcordanceListInterface
|
||||
private const OWNERSHIP_TYPES_VERBOSE = [
|
||||
|
||||
// 0: No known entry type
|
||||
"Eigentum" => "owned",
|
||||
"EigentumZCOM" => "owned",
|
||||
"Geschenk" => "owned",
|
||||
"Dauerleihe" => "permanent_loan",
|
||||
"Dauerleihgabe" => "permanent_loan",
|
||||
"Besitz" => "owned",
|
||||
"Owned" => "owned",
|
||||
"owned" => "owned",
|
||||
"Kauf" => "owned",
|
||||
"Fund" => "owned",
|
||||
"Eigenleistung" => "owned",
|
||||
"Eigentum des Museums" => "owned",
|
||||
"Eigentum des Museums - TEST" => "owned",
|
||||
"j" => "owned",
|
||||
"+" => "owned",
|
||||
"EigentumForum" => "owned",
|
||||
"Eigentum Land Berlin" => "owned",
|
||||
|
||||
// Permanent loans
|
||||
"Dauerleihe" => "permanent_loan",
|
||||
"Dauerleihgabe" => "permanent_loan",
|
||||
"Permanent loan" => "permanent_loan",
|
||||
"permanent loan" => "permanent_loan",
|
||||
|
||||
// Loans
|
||||
"Leihe" => "borrowed",
|
||||
"Leihgabe" => "borrowed",
|
||||
"Ensemble soll bei Umzug des Möbeldepots an Senat zurückgegeben werden (Jan. 2009)" => "borrowed",
|
||||
"Leihgabe 13.8.96" => "borrowed",
|
||||
|
||||
// Owned by others => third_party_property
|
||||
'Third party property' => 'third_party_property',
|
||||
'Fremdeigentum' => 'third_party_property',
|
||||
|
||||
// Deaccessed
|
||||
'Deaccessed' => 'deaccessed',
|
||||
'deakzessioniert' => 'deaccessed',
|
||||
'Deakzessioniert' => 'deaccessed',
|
||||
'Deakzession' => 'deaccessed',
|
||||
'Deakzessiert' => 'deaccessed',
|
||||
|
||||
// To check
|
||||
'ungeklärt' => 'to_check',
|
||||
|
||||
// None
|
||||
'k.A.' => 'owned',
|
||||
|
||||
];
|
||||
|
||||
@@ -33,7 +71,11 @@ final class MDConcOwnershipStatus implements MDImporterConcordanceListInterface
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::OWNERSHIP_TYPES_VERBOSE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown ownership type: " . $input);
|
||||
if (isset(self::OWNERSHIP_TYPES_VERBOSE[trim($input)])) {
|
||||
return self::OWNERSHIP_TYPES_VERBOSE[trim($input)];
|
||||
}
|
||||
MDImporterMissingConcordance::throw("ownership", $input);
|
||||
return 'deaccessed'; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::OWNERSHIP_TYPES_VERBOSE[$input];
|
||||
|
||||
+7
-13
@@ -11,18 +11,6 @@ declare(strict_types = 1);
|
||||
*/
|
||||
final class MDConcPlace implements MDImporterConcordanceListInterface {
|
||||
|
||||
/**
|
||||
* Substrings of an place name listed as a key in this array will be replaced
|
||||
* by the corresponding value.
|
||||
*/
|
||||
const NAME_SANITIZATIONS = [
|
||||
" - " => "-",
|
||||
"unbekannt" => "",
|
||||
"Unbekannt" => "",
|
||||
"unknown" => "",
|
||||
"Unknown" => "",
|
||||
];
|
||||
|
||||
private const PLACE_ROLES_TO_EVENT_TYPE = [
|
||||
|
||||
// 22: Related place
|
||||
@@ -38,7 +26,9 @@ final class MDConcPlace implements MDImporterConcordanceListInterface {
|
||||
'Herkunft (Allgemein)' => 1,
|
||||
'Herstellungsort' => 1,
|
||||
'Herstellungsland' => 1,
|
||||
'Herstellung' => 1,
|
||||
'Entstehungsort' => 1,
|
||||
'Herstellungsort Hose' => 1,
|
||||
'Münzstätte' => 1,
|
||||
|
||||
// 2: Finding / was found
|
||||
@@ -68,6 +58,9 @@ final class MDConcPlace implements MDImporterConcordanceListInterface {
|
||||
|
||||
// 20: Copied
|
||||
// 21: Lived
|
||||
|
||||
'Firmensitz' => 22,
|
||||
|
||||
// 25: Commissioned
|
||||
|
||||
// 26: Printing
|
||||
@@ -115,7 +108,8 @@ final class MDConcPlace implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):int {
|
||||
|
||||
if (!isset(self::PLACE_ROLES_TO_EVENT_TYPE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown place type: " . $input);
|
||||
MDImporterMissingConcordance::throw("place (in event)", $input);
|
||||
return 1; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::PLACE_ROLES_TO_EVENT_TYPE[$input];
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<?PHP
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Provides the mapping for precision values.
|
||||
*/
|
||||
final class MDConcPrecision implements MDImporterConcordanceListInterface {
|
||||
|
||||
/**
|
||||
* Throws the appropriate error in case of unmatched precision values.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
private static function markMissingPrecision(string $input):bool {
|
||||
|
||||
MDImporterMissingConcordance::throw("precision", $input);
|
||||
return false; // Return default in dry-run mode
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):bool {
|
||||
|
||||
return match($input) {
|
||||
'verso bedruckt',
|
||||
'mm',
|
||||
'cm',
|
||||
'Höhe',
|
||||
'^',
|
||||
'max.',
|
||||
'min.',
|
||||
'Breite',
|
||||
'maximal',
|
||||
'Türblatt',
|
||||
'mit Verschluss',
|
||||
'mit Aufhängung',
|
||||
'max, mit Türklinke',
|
||||
'17,6',
|
||||
'11,5',
|
||||
'Maße ohne Rahmen',
|
||||
"Kassette",
|
||||
"Schöpfkelle",
|
||||
"Vorlegelöffel",
|
||||
"aufgeklappt",
|
||||
'mit Brett',
|
||||
'' => true,
|
||||
'schwer messbar, Schätzung',
|
||||
'ca',
|
||||
'ca.' => false,
|
||||
default => self::markMissingPrecision($input),
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for grouping sexes.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Constains lists for grouping sexes.
|
||||
*/
|
||||
final class MDConcSex implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const SEXES_LIST = [
|
||||
'Männlich' => 'male',
|
||||
'Weiblich' => 'female',
|
||||
'diverse' => 'other',
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::SEXES_LIST[$input])) {
|
||||
MDImporterMissingConcordance::throw("sex", $input);
|
||||
return 'other'; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::SEXES_LIST[$input];
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for categorizing source types.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Provides a list for finding the source type for an input.
|
||||
*/
|
||||
final class MDConcSourceTypes implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const SOURCE_TYPES = [
|
||||
|
||||
// Article
|
||||
"document]article" => "article",
|
||||
|
||||
// Book / default
|
||||
"" => "book",
|
||||
"buch" => "book",
|
||||
"literatur" => "book",
|
||||
"document]book" => "book",
|
||||
'Buchpublikation' => 'book', // Book
|
||||
'Produkthandbuch' => 'book', // Book
|
||||
'Produkthandbuch/ Zusatzmaterial??' => 'book', // Book
|
||||
'Produkthandbuch ' => 'book', // Book
|
||||
'Buchpublikation ' => 'book', // Book
|
||||
'Produkthandbuch (Objektart Missing)' => 'book', // Book
|
||||
'Ausstellungskatalog' => 'book', // Book
|
||||
'Comicbuch' => 'book', // Book
|
||||
'Katalog' => 'book', // Book
|
||||
|
||||
// Misc
|
||||
"Weiteres" => "misc",
|
||||
"document]avm" => "misc",
|
||||
'Keine Angabe' => 'misc', // Miscelaneous
|
||||
'Handschriften' => 'misc', // Miscelaneous
|
||||
'Divers' => 'misc', // Miscelaneous
|
||||
'Handschrift' => 'misc', // Miscelaneous
|
||||
'Flyer/Poster' => 'misc', // Miscelaneous
|
||||
'Comic' => 'misc', // Miscelaneous
|
||||
'Ordner' => 'misc', // Miscelaneous
|
||||
'Diskette' => 'misc', // Miscelaneous
|
||||
'Wissenschaftliche Hausarbeit' => 'misc', // Miscelaneous
|
||||
|
||||
// Periodical
|
||||
'Magazin' => 'periodical', // Periodical
|
||||
|
||||
// Proceedings
|
||||
'Tagungsunterlagen' => 'proceedings', // Proceedings
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (isset(self::SOURCE_TYPES[$input])) {
|
||||
return self::SOURCE_TYPES[$input];
|
||||
}
|
||||
if (isset(self::SOURCE_TYPES[strtolower($input)])) {
|
||||
return self::SOURCE_TYPES[strtolower($input)];
|
||||
}
|
||||
|
||||
MDImporterMissingConcordance::throw("source", $input);
|
||||
return 'proceedings'; // Return default in dry-run mode
|
||||
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -13,6 +13,9 @@ final class MDConcTime implements MDImporterConcordanceListInterface {
|
||||
|
||||
private const TIME_ROLES_TO_EVENT_TYPE = [
|
||||
|
||||
"Hersteller" => 1,
|
||||
"Herstellung" => 1,
|
||||
|
||||
# General / not yet (?) categorized
|
||||
"Laufzeit" => 24,
|
||||
|
||||
@@ -51,7 +54,8 @@ final class MDConcTime implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):int {
|
||||
|
||||
if (!isset(self::TIME_ROLES_TO_EVENT_TYPE[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown time type: " . $input);
|
||||
MDImporterMissingConcordance::throw("time (in event)", $input);
|
||||
return 1; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::TIME_ROLES_TO_EVENT_TYPE[$input];
|
||||
|
||||
@@ -16,9 +16,86 @@ final class MDConcTitleTypes implements MDImporterConcordanceListInterface {
|
||||
|
||||
// Empty
|
||||
"" => "",
|
||||
"Objekttitel" => "",
|
||||
"Objekttitel, Objekttitel" => "",
|
||||
"Objekttitel, Vormaliger Objekttitel" => "",
|
||||
"Werktitel" => "",
|
||||
"Werktitel deskriptiv" => "",
|
||||
"Werktitel, Werktitel deskriptiv" => "",
|
||||
"Werktitel deskriptiv, Legendentitel" => "",
|
||||
'Legendentitel' => '',
|
||||
'Objekttitel, Legendentitel' => '', //
|
||||
'Objekttitel, Legendentitel, Legendentitel' => '', //
|
||||
'Objekttitel, Legendentitel, Legendentitel, Legendentitel' => '', //
|
||||
'Objekttitel, Legendentitel, Legendentitel, Legendentitel, Legendentitel, Legendentitel' => '', //
|
||||
'Objekttitel, Objekttitel, Legendentitel' => '', //
|
||||
'Objekttitel, Objekttitel, Objekttitel' => '', //
|
||||
'Objekttitel, Objekttitel, Objekttitel, Objekttitel' => '', //
|
||||
'Objekttitel, Objekttitel, Objekttitel, Vormaliger Objekttitel' => '', //
|
||||
'Objekttitel, Objekttitel, Vormaliger Objekttitel' => '', //
|
||||
'Objekttitel, Vormaliger Objekttitel, Legendentitel' => '', //
|
||||
'Objekttitel, Vormaliger Werktitel SKKG' => '', //
|
||||
'Objekttitel, Werktitel alternativ' => '', //
|
||||
'Titel provisorisch' => '', //
|
||||
'Vormaliger Objekttitel' => '', //
|
||||
'Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel alternativ' => '', //
|
||||
'Werktitel alternativ, Werktitel alternativ' => '', //
|
||||
'Werktitel deskriptiv, Objekttitel' => '', //
|
||||
'Werktitel deskriptiv, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel deskriptiv, Werktitel alternativ' => '', //
|
||||
'Werktitel deskriptiv, Werktitel deskriptiv' => '', //
|
||||
'Werktitel deskriptiv, Werktitel deskriptiv, Werktitel deskriptiv' => '', //
|
||||
'Werktitel Übersetzung' => '', //
|
||||
'Werktitel Übersetzung, Objekttitel' => '', //
|
||||
'Werktitel, Werktitel diskriminierungskritisch' => '',
|
||||
'Werktitel, Werktitel Übersetzung, Werktitel alternativ, Vormaliger Werktitel SKKG' => '',
|
||||
'Werktitel, Werktitel Übersetzung, Werktitel alternativ, Werktitel alternativ' => '',
|
||||
'Werktitel, Werktitel Übersetzung, Werktitel Übersetzung, Werktitel alternativ' => '',
|
||||
'Werktitel, Werktitel, Werktitel alternativ, Werktitel alternativ' => '',
|
||||
'Werktitel, Werktitel, Werktitel Übersetzung, Vormaliger Werktitel SKKG' => '',
|
||||
'Werktitel Übersetzung, Objekttitel, Objekttitel' => '', //
|
||||
'Werktitel, Legendentitel' => '', //
|
||||
'Werktitel, Objekttitel' => '', //
|
||||
'Werktitel, Objekttitel, Werktitel alternativ' => '', //
|
||||
'Werktitel, Vormaliger Objekttitel' => '', //
|
||||
'Werktitel, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Vormaliger Werktitel SKKG, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel' => '', //
|
||||
'Werktitel, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel alternativ, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel alternativ, Vormaliger Werktitel SKKG, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel alternativ, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel alternativ, Werktitel alternativ, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Legendentitel' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Objekttitel' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Werktitel alternativ, Werktitel diskriminierungskritisch' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Werktitel deskriptiv' => '', //
|
||||
'Werktitel, Werktitel deskriptiv, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel Übersetzung, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel Übersetzung, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel Übersetzung, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel Übersetzung
|
||||
, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel, Objekttitel' => '', //
|
||||
'Werktitel, Werktitel, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel, Werktitel' => '', //
|
||||
'Werktitel, Werktitel, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel, Werktitel alternativ, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel, Werktitel alternativ, Werktitel alternativ, Vormaliger Werktitel SKKG' => '', //
|
||||
'Werktitel, Werktitel, Werktitel deskriptiv' => '', //
|
||||
'Werktitel, Werktitel, Werktitel deskriptiv, Werktitel alternativ' => '', //
|
||||
'Werktitel, Werktitel, Werktitel deskriptiv, Werktitel deskriptiv' => '', //
|
||||
'Werktitel, Werktitel, Werktitel deskriptiv, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel, Werktitel Übersetzung' => '', //
|
||||
'Werktitel, Werktitel, Werktitel, Werktitel alternativ' => '', //
|
||||
|
||||
// Scientific names
|
||||
"Science" => "Science",
|
||||
"Wissenschaft" => "Science",
|
||||
|
||||
// Everyday speech
|
||||
"Everyday speech" => "Everyday speech",
|
||||
@@ -32,6 +109,13 @@ final class MDConcTitleTypes implements MDImporterConcordanceListInterface {
|
||||
"mundartl" => "Dialect",
|
||||
"mundartlich" => "Dialect",
|
||||
|
||||
// Professional jargon
|
||||
'Professional' => 'Professional jargon',
|
||||
|
||||
// Sociolect
|
||||
'Sociolect' => 'Sociolect',
|
||||
'Soziolekt' => 'Sociolect',
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -44,7 +128,8 @@ final class MDConcTitleTypes implements MDImporterConcordanceListInterface {
|
||||
public static function getConcordanceTarget(string $input):string {
|
||||
|
||||
if (!isset(self::TITLE_TYPES[$input])) {
|
||||
throw new MDImporterMissingConcordance("Unknown title type: " . $input);
|
||||
MDImporterMissingConcordance::throw("title", $input);
|
||||
return "Dialect"; // Return default in dry-run mode
|
||||
}
|
||||
|
||||
return self::TITLE_TYPES[$input];
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains lists for categorizing misspelled weight units.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Provides lists for categorizing misspelled sizes.
|
||||
*/
|
||||
final class MDConcWeights implements MDImporterConcordanceListInterface {
|
||||
|
||||
/**
|
||||
* Matches.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return MDWeightUnit|false
|
||||
*/
|
||||
private static function _match(string $input):MDWeightUnit|false {
|
||||
|
||||
return match($input) {
|
||||
|
||||
"mm",
|
||||
"cm" => false,
|
||||
|
||||
"Gramm",
|
||||
"g",
|
||||
"G",
|
||||
"г" => MDWeightUnit::g,
|
||||
|
||||
default => throw new MDInvalidWeightUnit("Invalid weight unit " . $input),
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Require a function for getting the concordance target.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return MDWeightUnit|false
|
||||
*/
|
||||
public static function getConcordanceTarget(string $input):MDWeightUnit|false {
|
||||
|
||||
try {
|
||||
return self::_match($input);
|
||||
}
|
||||
catch (MDInvalidWeightUnit $e) {
|
||||
|
||||
if (is_numeric($input) || is_numeric(strtr($input, ['.' => '', ',' => '']))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return self::_match(trim($input));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
<?PHP
|
||||
/**
|
||||
* Constains a blacklist for disallowed names of vocabularies (either nonsense
|
||||
* ones or ones not supported by md).
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
*/
|
||||
declare(strict_types = 1);
|
||||
|
||||
/**
|
||||
* Constains a blacklist for disallowed names of vocabularies (either nonsense
|
||||
* ones or ones not supported by md).
|
||||
*/
|
||||
final class MDBlacklistNodaRepositories implements MDImporterBlacklistInterface {
|
||||
|
||||
/**
|
||||
* List of blacklisted repository names.
|
||||
*/
|
||||
private const BLACKLIST = [
|
||||
'',
|
||||
'actor.xtree',
|
||||
'akl',
|
||||
'akl-nummer',
|
||||
'AKL',
|
||||
'AKL-Nummer',
|
||||
'bmpi', // What is this?
|
||||
'Bildindex-KUE-Datei',
|
||||
'digitales kunst- und kulturarchiv düsseldorf',
|
||||
'Digitales Kunst- und Kulturarchiv Düsseldorf',
|
||||
'digicult.web',
|
||||
'digiCULT.web',
|
||||
'digicult.vocnet.org',
|
||||
'isil',
|
||||
'ISIL',
|
||||
'kue.id',
|
||||
'kue.id.',
|
||||
'md:term',
|
||||
'term.museum-digital.de',
|
||||
'RIA/SMB',
|
||||
'swd-nummer',
|
||||
'SWD-Nummer',
|
||||
'webpage',
|
||||
'wiki',
|
||||
'Wiki',
|
||||
'xtree'
|
||||
];
|
||||
|
||||
/**
|
||||
* Checks if the input string is blacklisted.
|
||||
*
|
||||
* @param string $input Input string.
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isBlacklisted(string $input):bool {
|
||||
|
||||
if (in_array($input, self::BLACKLIST, true)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -41,11 +41,6 @@ final class InterfaceImplementationTest extends TestCase {
|
||||
/**
|
||||
* Test all concordance lists for their implementation of MDImporterConcordanceListInterface.
|
||||
*
|
||||
* @author Joshua Ramon Enslin <joshua@museum-digital.de>
|
||||
* @group ValidOutput
|
||||
* @group HTMLOutput
|
||||
* @group SafeForProduction
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testListInterfaceIsImplemented():void {
|
||||
@@ -61,4 +56,19 @@ final class InterfaceImplementationTest extends TestCase {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensure all tests throw the MDImporterMissingConcordance exception, if
|
||||
* a new value is encountered.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testMDImporterMissingConcordanceIsThrownForNewValues():void {
|
||||
|
||||
foreach ($this->_lists as $list) {
|
||||
$this->expectException(MDImporterMissingConcordance::class);
|
||||
(new $list)::getConcordanceTarget("ThisInputShouldNotExist");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user