Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erstellen von globalen Identifier für Autoren #4

Open
guenterh opened this issue Jun 25, 2015 · 9 comments
Open

Erstellen von globalen Identifier für Autoren #4

guenterh opened this issue Jun 25, 2015 · 9 comments

Comments

@guenterh
Copy link
Member

Auf dem letzten linked-swissbib workshop in Basel (18.6.) haben wir uns als Ziel gesetzt, für Autorenentities, die bisher nur als blank nodes lokal referenzierbar gewesen sind, globale Identifier mittels eines eindeutigen Hashwertes zu erstellen.

@guenterh
Copy link
Member Author

@pronguen @sschuepbach

Hallo Nicolas,

ich habe eine erste Implementierung für eine Funktion erstellt, mit der globale Identifier generiert werden können.
https://github.com/linked-swissbib/swissbib-metafacture-commands/blob/master/src/main/java/org/swissbib/linked/mf/morph/functions/AuthorHash.java

Für die Entwicklung des Morphs gibt es ein (temporäres) Flux
https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/resource/tempAuthorTransformation.flux
sowie ein temporäres Morph
https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/resource/tempMorphAuthors.xml

Vor allem am Morph sollten wir weiter arbeiten.
Das erweiterte plugin (Jar-Datei), welches Du bei Dir im plugin Verzeichnis ablegen musst, schicke ich Di rmorgen.
Vielleicht hast Du morgen Zeit ? - wäre super!

Günter

@guenterh
Copy link
Member Author

guenterh commented Jul 5, 2015

@pronguen
Hallo Nicolas,

ich habe eine neue jar Datei erstellt. Wie Du vorgeschlagen hast, wird der Hash nun 'ohne' ein Prefix erstellt. Den prefix kannst Du per Konfiguration im Morph vergeben.
Der Link zur Datei sollte sich nicht geändert haben. Falls Du ihn nicht mehr hast:
https://drive.switch.ch/public.php?service=files&t=04787368f4d733e6279c01aae7891cfd

Günter

@guenterh
Copy link
Member Author

@pronguen

*** Dein mail *****
Hallo Günter,

ich habe in den Subfields-Statistiken geschaut (https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/statistics/np_output_subfields_gh.csv#L5). Wir sollten alle Felder nehmen, die direkt über die Person/Organisation sind, und die in unseren Daten (nicht per Zufall) existieren. Das heisst:

$D Vorname
$a Nachname
$b Nummerierung
$c Beruf/Titel
$d Lebensdaten
$q Vollständiger Name

Beste Grüsse
Nicolas


Könntest Du das entsprechend Deinem Vorschlag vorbereiten? Es wird dann wohl etwas in der folgenden Form sein:

    <combine name="@key100" value="${firstname}##${lastname}##${bNummerierung}##${und alle anderen}" flushWith="1001 ">
        <data source="1001 .a" name="firstname" />
        <data source="1001 .D" name="lastname" />
                    <data source="1001 .b" name="bNummerierung" />
                   <...... />
        <postprocess>
            <java class="org.swissbib.linked.mf.morph.functions.AuthorHash"/>
        </postprocess>
    </combine>

Die Funktion AuthorHash gibt im Moment einen leeren Hashwert zurück, wenn Du zusätzliche Parameter angibst. Ich werde das ändern sobald Du fertig bist.

Günter

@pronguen
Copy link
Contributor

Ich habe die Morph-Regel gerade angepasst!
71ea1c0

@guenterh
Copy link
Member Author

@pronguen @fxbensmann
Hallo Nicolas
Na, das ist dann schön.... !!!!!
Ich passe die Funktion an. Werde aber wohl erst heute Nachmittag dazu kommen.
Wenn das gemacht ist, denke ich macht es Sinn, unseren Bestand (oder einen Teil davon) zu verarbeiten. Aber warten wir erstmal ab, was Felix so erzählen wird.

Bis gleich, Günter

@guenterh
Copy link
Member Author

@pronguen
Hallo Nicolas,
ich habe gerade angefangen, Deine Umstellungen in der "Hashklasse" umzusetzen.
Dabei ist mir aufgefallen:
Du verwendest das Unterfeld
100 a
https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/person/personMorph.xml#L12
als Vorname
Wen nich mir die Daten ansehe, scheint mir in 100 a jedoch der Nachname abgebildet zu sein.
100 D hingegen scheint in den swissbib Daten für den Vornamen, getrennt von 100 a, reserviert zu sein.
Im Morph definierst du 100 D jedoch für den Nachnamen.
https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/person/personMorph.xml#L13

Ich habe noch bei LOC und OCLC nachgesehen:
https://www.loc.gov/marc/bibliographic/concise/bd100.html
http://www.oclc.org/bibformats/en/1xx/100.html
100_a ist für Vor- und Nachnamen (mit Komma getrennt) reserviert, 100_D sehe ich nicht, ich denke, dies ist im Standard nicht definiert und (zur besseren Datenaufbereitung) eine Eigenkreation von swissbib
Am besten kann diese Frage @ToVie beantworten....

Für die Erstellung des Haswertes ist dies nicht wichtig, vielleicht passt Du es noch an, wenn meine Annahmen richtig sind.

@guenterh
Copy link
Member Author

@pronguen
ich habe den Hashalgorthmus wie abgemacht erweitert.
linked-swissbib/swissbib-metafacture-commands@086973d
und
9f2f106

Die jar Datei kannst Du wieder unter diesem link
https://drive.switch.ch/public.php?service=files&t=04787368f4d733e6279c01aae7891cfd
abholen
Günter

@pronguen
Copy link
Contributor

@guenterh
Du hast völlig recht: 100 $a ist im Standard MARC21 Nach- und Vorname. In Swissbib habt Ihr den Vornamen im Unterfeld 100 $D getrennt. Ich habe die zwei verwechselt. Danke :) Ich korrigiere es. Das hat aber keine Folge für die Hashwertgenerierung...

@guenterh
Copy link
Member Author

@pronguen
Danke! Nein, für den Hash ist es egal. Ich nehme so wie es kommt...
heute skype?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants