Problem:
Mehrmals das gleiche Artikel bekommen (meistens wenn ein Verlag die Metadaten ändert, die Artikeln werden als 'Neu' erkannt und noch mal von DeepGreen zu DSpace gesendet).
Unsere Lösung basiert auf dem DOI im Metadatenfeld 'dc_identifier_doi' bei SwordV2 und DSpace V7.4.
Ansonsten müssen Sie dies an Ihr eigenes Metadatenfeld anpassen, in dem der DOI gespeichert ist. (z.B. local.identifier.doi). Dies ist nicht die einzige, beste oder effizienteste Lösung, die Sie finden können. Die Lösung kann verbessert werden (z. B. DOI und Fuzzy-Suchalgorithmus vergleichen, um andere Metadaten zu prüfen, bevor wir die Entscheidung treffen, wie Titel, Verlag, Veröffentlichungsdatum, URN oder andere eindeutige Identifikatoren)
Implementation:
Wir haben eine neue Funktion 'countDOIMatches()' in der DAO-Schicht von MetadataValue hinzugefügt.
Die Methode zählt die Elemente (mit Ausnahme des aktuellen Elements), die dieselbe DOI haben wie das zu prüfende Element. Nur wenn die DOI des aktuellen Elements nicht null ist, wird die DOI geprüft.
Auch die teilweise Übereinstimmung wird geprüft: z. B. DOI mit/ohne „http://doi.org“ oder „https://doi.org“.
Wird die Übereinstimmung gefunden, wird das Element übersprungen.
DeepGreen erhält die Rückmeldung über Swordv2: CREATED (normaler Arbeitsablauf - so dass DeepGreen das nächste Dokument senden kann). Das „Ergebnis“ enthält jedoch die Information, dass das Dokument bereits importiert wurde und ein Duplikat ist. (im WorkflowManager::resolveState) |