Wikipedia:BibRecord/GBV

Us der alemannische Wikipedia, der freie Dialäkt-Enzyklopedy

Zur Erstellung von Bibliographischen Datensätzen für Wikipedia (Wikipedia:BibRecord) kann auf den Katalog des Gemeinsamen Bibliotheksverbund (GVK) zurückgegriffen werden.

Zugriff auf den GVK[Quälltäxt bearbeite]

Die Datenübernahme ist am einfachsten mit der Perl-Prorgammbibliothek PICA::Record möglich (siehe auch [http://www.gbv.de/wikis/cls/PICA::Record Informationen zu PICA::Record im GBV-Verbundwiki). Um beispielsweise den ersten Titeldatensatz zur ISBN 3-8334-1351-4 zu bekommen, genügt folgendes Perl-Skript

use PICA::Source;
my $gvk = PICA::Source->new( SRU => "http://gso.gbv.de/sru/DB=2.1/" );

my $isbn = "3833413514";
my @records = $gvk->cqlQuery("pica.isb=$isbn")->records();
my $record = shift @records;

print "$record\n";

Der Titeldatensatz kann anschließend mit den Methoden der Klasse PICA::Record weiterverarbeitet werden.

Umwandlung nach BibRecord[Quälltäxt bearbeite]

Um aus dem PICA+ Format einen BibRecord-Datensatz zu erhalten, müssen die benötigten Felder und Unterfelder ausgewertet werden. Folgende Perl-Funktion erstellt einen rudimentären BibRecord-Datensatz aus einem PICA::Record-Objekt:

sub pica2bibrecord {
    my $p = shift;
    my %br = ();

    my @au = $p->field('028A');
    @au = $p->field('028C(/..)?') unless @au;
    @au = map { $_->sf('d') . ' ' . $_->sf('a') } @au;
    $r{Autor} = join(", ", @au);

    $r{Sprache} = $p->sf('010@$a');
    $r{Jahr}    = $p->sf('011@$a');

    $r{Auflage} = $p->sf('032@$a'); # TODO: filter
    $r{Auflage} =~ s/ (ed.*|aufl.*)$//i if defined $r{Auflage};

    $r{Ort}     = $p->sf('033A$p');
    $r{Verlag}  = $p->sf('033A$n');

    $r{ISBN}    = $p->sf('004A$0');

    # Erstkatalogisierungs-ID - eindeutiger Identifier über verschiedene Bibliotheksverbünde
    $r{EKI}     = join('', $p->values('007G','c0'));

    $r{Seiten} = exists $r{Seiten} 
               ? '{{{Seiten|'.$r{Seiten}.'}}}'
               : '{{{Seiten|}}}';
    $r{format} = '{{{format|}}}';
    $r{Kommentar} = '{{{Kommentar|}}}';
    $r{record} = '{{{record|}}}';

    return %r;
}

Eintragen in Wikipedia[Quälltäxt bearbeite]

Vor dem Eintragen sollte der Datensatz in jedem Fall manuell kontrolliert und ggf. korrigiert werden. Die Automatische Eintragung (z.B. zur Ergänzung von Feldern) ist z.B. mit dem MediaWiki::Bot-Framework möglich. Dabei sollten jedoch die Regel zu Bots in Wikipedia beachtet werden!