linked-swissbib / mfWorkflows

linked-swissbib workflows based on Metafacture
1 stars 0 forks source link

Viaf Matching based on Searchindex #8

Open guenterh opened 9 years ago

guenterh commented 9 years ago

@pronguen @oschihin @sschuepbach @fxbensmann

Hallo Nicolas,

wie gestern im skype erwähnt, habe ich mich gestern Nachmittag damit beschäftigt, unsere aktuellen Transformationen mit einem Matching gegen VIAF zu erweitern.

Wenn Du diesen Mechanismus benutzen möchtest, musst Du einen Update auf das repository mfWorkflows laufen lassen und Dir die neueste library https://drive.switch.ch/public.php?service=files&t=04787368f4d733e6279c01aae7891cfd als Plugin herunterladen. Neu gibt es in der config Datei https://github.com/linked-swissbib/mfWorkflows/blob/master/config/java-options.conf einen Eintrag (-DindexURL=http://sb-s8.swissbib.unibas.ch:8080/solr/viaf), der es der MF Funktion ermöglicht, Autoren gegen den bei uns aufgebauten VIAF Index zu matchen. Im Moment benutze ich nur Personennamen, keine Körperschaften und Kongresse. Ein kleines Testergebnis hier: https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/person/personOutputviaf.rdf

Wie wir die gewonnen IDs weiterverarbeiten, müssen wir uns noch überlegen. Möglicherweise in einem Folgecommand, darüber möchte ich mir aber auch noch mit Sebastian Gedanken machen.

Für den Testauthor Bouvier matchen recht viele IDs. Ich habe mir Viaf ein wenig (allerdings natürlich noch nicht ausreichend) angesehen. Eine mögliche Einschränkung wäre der Einbezug eines 'Werkattributs'. Ich bezeichne das mal so, wohl nicht sehr bibliothekarisch... Hier im Morphscript: https://github.com/linked-swissbib/mfWorkflows/blob/master/src/main/resources/transformation/person/personOutputviaf.rdf

Leider wird der value im combine tag nicht berücksichtigt. Im Moment weiss ich nicht warum. Hast Du eine Idee?

Meine Bitte(n):

Dieses Verfahren ersetzt natürlich nicht die Methoden und Mechanismen von Felix. Wir werden heute beginnen, bei uns in Basel die Infrastruktur von Gesis aufzubauen, um seine Verfahren bei uns nachvollziehen und begleiten zu können. Am Ende werden wir -hoffentlich- ein "best of" erhalten.

Matchingverfahren und daraus Ergebnisse zu erzielen hat für mich im Moment eine sehr hohe Priorität. Wir brauchen das unbedingt, um unsere Projektziele zu erreichen. Wue gestern bereits im Skype kurz angesprochen, gibt es hier im Moment recht viele Aktivitäten. Weitere sind:

Weitere sind zum Beispiel: https://librecatproject.wordpress.com/2015/06/03/matching-authors-against-viaf-identities/ oder https://twitter.com/infolis_project (ein Projekt an dem Gesis ja auch beteiligt ist)

Erstmal soviel, Günter

guenterh commented 9 years ago

@pronguen Hallo Nicolas, noch ein Hinweis: wenn Du hier https://github.com/linked-swissbib/mfWorkflows/blob/master/config/log4j.xml#L27 debug auf info setzt, bekommst Du nach dem Einbau des neuen commands nicht mehr so viele Logmeldungen auf der Console.

Günter

pronguen commented 9 years ago

Hallo Günter,

Danke für diesen interessanten Test! Das funktioniert tip top bei mir.

Ich habe in der Morph-Datei deine "combine"-Funktion ein bisschen verändert, damit auch der Titel berücksichtigt wird (6d7ea4b977a906b08d516253feeb509332e72033). Hauptänderung ist das flushWith-Attribut mit "record" als Wert. Aber wenn der Titel von der MatchViaf-Funktion berücksichtigt ist, gibt diese dann keine Ergebnisse mehr :(

Ausserdem habe ich die VIAF-Links für Nicolas Bouvier analysiert. Ergebnisse:

VIAF ID RDF class
http://viaf.org/viaf/312204555 Expression (http://schema.org/CreativeWork)
http://viaf.org/viaf/313583522 Expression
http://viaf.org/viaf/313612467 Expression
http://viaf.org/viaf/312059458 Expression
http://viaf.org/viaf/313580733 Expression
http://viaf.org/viaf/314567671 nicht mehr in VIAF
http://viaf.org/viaf/313874072 nicht mehr in VIAF
http://viaf.org/viaf/314627443 Werk (http://schema.org/CreativeWork)
http://viaf.org/viaf/201893591 Werk
http://viaf.org/viaf/34453647 Person (http://schema.org/Person) die richtige Aufnahme!

Mein Schluss: Um die Anzahl der Links zu reduzieren sollten wir unsere Daten nur mit den VIAF-Daten, die der Klasse "Person" sind, vergleichen.

Als Vokabularname für die VIAF-ID habe ich "skos:closeMatch" verwendet:

skos:closeMatch is used to link two concepts that are sufficiently similar that they can be used interchangeably in some information retrieval applications. In order to avoid the possibility of "compound errors" when combining mappings across more than two concept schemes, skos:closeMatch is not declared to be a transitive property.

Ein anderes Problem: die VIAF-Links werden alle zusammen geliefert. Wir brauchen nur ein Link. Fall zwei oder mehr Links für uns auch ok sind, sollen diese Links in unterschiedlichen Tags erscheinen. Deshalb soll (glaube ich) deine Funktion verändert werden, damit sie die VIAF-Links als unterschiedliche Streams liefert.

Nicolas

guenterh commented 9 years ago

Hallo Nicoals, auch @sschuepbach z. Info

freut mich, dass es bei Dir gleich geklappt hat und danke für die Auswertungen. Meine Antwort jetzt nur kurz, ich bin heute ein wenig kränklich und werde kaum arbeiten können. Hier kurze Anmerkungen:

Wenn wir nichts mehr voneinander hören - schönes Wochenende. Nächste Woche bist Du wieder n den Ferien?

pronguen commented 9 years ago

Ja, ich bin sicher, dass der Titel geliefert wird. Ich hatte es gestern getestet. Ergebnis der Regel ohne Postprocess:

<skos:closeMatch rdf:resource="Américo##Castro####Spanien Vision und Wirklichkeit##ca. 1880-ca.1930####personname" />