[Allegro] Dublettenkontrolle per Flex

Thomas Berger ThB at Gymel.com
Di Jul 19 12:21:27 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Schnoepf, liebe Liste,


Markus Schnöpf wrote:
> Ja, es handelt sich bei meinem Problem um Cache-Einstellungen, veraltete
> Satztabellen und Indices, Retrokonversionen und Einspielungen in den
> Katalog, die ich weiß nicht wie erfolgt sind (vor meiner Zeit, puhh).
> Nun habe ich manche Aufnahmen bis zu 13x im Katalog. Aber ich werde
> gleich mal gucken (nachdem ich meinen Bericht über diese Problem beendet
> habe), wie ich DEN Flex in der Ergebnismengenbildung doppelter,
> existierender Identnummern einsetzen kann.

Da sind "Dubletten" auf verschiedenen technischen Ebenen betroffen:

* Doppelt vergebene interne Satznummern, die Datenbank ist also
  inkonsistent: SNIFFER muesste diese Probleme finden
  (nur einer der Datensaetze kann in der .TBL an entsprechender
  Position aufgefuehrt werden, alle anderen provozieren
  "wrong recno"), ansonsten habe ich ein Perlscript hierfuer:
  http://www.gymel.com/tools/konsis.html
  Abhilfe normalerweise durch "komplette Reorganisation / voelliger
  Neuaufbau der Datenbank", also Organisationsroutinen mit Index -f7

* Doppelte Primaerschluessel:
  Hier hilft das Einstellen einer negativen Haeufigkeitsschwelle
  im zugehoerigen Index. Man muss dabei jedoch stets eine Theorie
  bilden, wie es dazu kam, denn typisch ist auch ein Entgleisen
  des Identnummernmechanismus, d.h. hinter den doppelten
  Primaerschluesseln verbergen sich u.U. ihaltlich durchaus
  verschiedene Aufnahmen. Satzverdoppelungen durch irgendwelche
  Unfaelle fallen jedoch auch hierunter, oft liegen diese jedoch
  weit in der Vergangenheit und die verschiedenen Varianten der
  Datensaetze tragen unterschiedliche Spuren von Nacharbeiten.

* Inhaltliche Dubletten:
  Hier hat sich die Datenbank durchaus stets korrekt verhalten,
  dennoch gibt es mehrere Datensaetze (zu einer bibliographischen
  Entitaet). Diese zu finden ist oft kompliziert, denn man muss
  inhaltliche Kriterien heranziehen, z.B. ISBN's (aber manchmal
  auch vom Verlag nicht korrekt vergeben, ausserdem fuer Folgeauflagen
  recycled) oder Signaturen (die sind bei mehrbaendigen Werken u.U.
  aber nicht in jeder Aufnahme vorhanden oder in mehreren Unteraufnahmen
  identisch) oder Titelanfaenge.
  In ganz komplizierten Situationen muss man ggfls. komplexe Matchcodes
  austuefteln und in den Index setzen lassen.
  Vorgehensweise ist dann normalerweise "live" ueber Bedienung
  des Index (Trunkierungen, Haeufigkeitsschwellen), denn die
  "inhaltlichen" Dubletten sind inhaltlich dann doch verschieden
  genug (mal mit, mal ohne Schlagworte, mal mit guten, mal mit
  schlechten) um intellektuellen Vergleich zu erfordern.

Ich hatte auch schon einmal ueberlegt, mit Nicht-Allegro-Mitteln
eine MD5-Checksum von Datensaetzen zu errechnen und zu vergleichen.
Aber auch hier das Problem, dass die Varianten der Datensaetze
unterschiedliche Bearbeitungsstaende haben und es schwierig ist,
"Kernkategorien" zu definieren: Gerade beim Verfasser und im Titel
werden ueberraschend oft Tippfehler nachtraeglich korrigiert bzw.
an den Zusaetzen manipuliert...

Moeglicherweise gibt es Kriterien, anhand derer bestimmbar ist,
welcher Satz aus einer Ergebnismenge von identifizierten Dubletten
ueberleben sollte (alles vom Bearbeiter XY wird behalten, das vom
Bearbeiter Z gehoert in die Tonne) bzw. es muessen eingige Kategorien
in den "Gewinnersatz" ueberfuehrt werden. Hier kann dann ein geeignet
ausgedachter Flex die eigentliche Bereinigung der Dubletten
unterstuetzen.

viele Gruesse
Thomas Berger


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFC3NQnENVh3bB0lwMRAv2vAJ4krgARGw+9vlvXdWfBWZuaAslIUwCgnaEI
Yb8wkzJM0mnkJqL3mlS6ldQ=
=6jnu
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro