changed 5 years ago
Linked with GitHub

Library Carpentry 2019-11-18/2019-11-19 @ UB Frankfurt

Zeitplan, Installationshinweise etc.: https://evamarik.github.io/2019-11-frankfurt/

Abendessen ab 19 Uhr:

Restaurant Eppstein (traditionelle Frankfurter Küche) Eppsteiner Str. 26, 60323 Frankfurt am Main: https://www.google.com/maps/place/Eppstein/@50.120612,8.667246,15z/data=!4m5!3m4!1s0x0:0x8d71de5cb0df90fe!8m2!3d50.120612!4d8.667246

Organisatorisches

  • Link zu diesem pad: https://hackmd.io/tcLa_w3UT1mLXxieF5TVGg
  • kürzerer link zu diesem pad: https://bit.ly/2OgUhoT
  • Vorstellung der Instructor und Helfer
  • Anrede
  • Vorstellung der Teilnehmer*innen
  • Was sind "The Carpentries"
  • Motivation für die Carpentry workshops
    • Automatisierung
    • Reproduzierbarkeit / Transparenz
    • größere Handlungsfähigkeit
  • Lebenslanges Lernen
  • Kennenlernspiel (Ice breaker) - Beteiligte nach Eigenschaften aufstellen
  • Klebezettel (Sticky notes)
  • Bitte bei Unklarheiten sofort fragen; Es gibt keine doofen Fragen.
  • Verhaltenskodex https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html => Seid nett zu einander (Be excellent to each other!)
  • Fotos und Twitter, Jahresbericht OBIB?
  • Wifi
  • Pausen
  • Kaffee/Tee
  • Give-aways
  • Sanitäre Einrichtungen/Toiletten
  • Pad erklären
  • Übung - eigenen Namen zur Teilnehmerliste hinzufügen
  • Kursmaterialien

TeilnehmerInnen

  • Andy Dirkmann
  • Birgit Frenz
  • Christina Lorenz
  • Anette Knop
  • Anna Hallauer
  • Ariane Retzar
  • Nora Chibani
  • Anna Küffner
  • Sylvia Hamann
  • Jessica Iser
  • Ursula Winter
  • Maria Nüchter
  • Lydia Glorius
  • Annette Wolf
  • Christiane Oehlke
  • Jutta Lotz
  • Tanja Kindt
  • Tina Lorenz
  • Julian Häckelmann
  • Ekaterina (Katja) Gabrovska
  • Sabine Müller
  • Katharina Eck
  • Sarah Eimer

Offizielle Library Carpentry-Lektionen

Jargon Busting

Welche Begriffe, Phrasen oder Ideen rund um Programmieren, Code oder Software-Entwicklung sind euch schon begegnet? Bei welchen habt ihr das Gefühl, dass ihr mehr darüber wissen solltet?

  • Datenbereinigung
  • "IT-Sprech"
  • xml - brauchen wir das? was genau ist es? Wer wendet das an (Forschungsdatenmanagement)?
  • mit Orcid-Daten umgehen (z.B. Implementierung in Kataloge und Forschungsinformationssysteme)
  • Git?
  • Shell – Benutzerschnittstelle unter Unix
  • Metadatenmanagement & Harvesting inkl. Protokolle dafür
  • Versionierung
  • Lemmatizer and Stemmer
  • Rechteverwaltung (welche Beschränkungen liegen auf Materialien und wie kann man sie automatisiert verwalten)
  • Datenkonversion (von einem Format ins andere)

Regular Expressions

RegEx Cheat Sheet: https://librarycarpentry.org/lc-data-intro/reference
Textdatei zum Üben
Online RegEx Tester
Zum Üben: Regex Crossword
Noch mehr Übungen: [https://regexone.com/lesson/introduction_abcs]

OpenAPC-Übung

 open_apc_url = "https://raw.githubusercontent.com/OpenAPC/openapc-de/master/data/fuberlin/APC_FU_Berlin_2015.csv"

DOI-Metadaten-Übung

https://api.crossref.org/works/

# Einzelner DOI
10.1371/journal.pcbi.1004668
# Liste mit DOIs
dois = ["10.1371/journal.pcbi.1004668",
        "10.21105/joss.01035",
        "10.1038/35057062",
        "10.21105/joss.01006"]

Fertige Lösungen zu den Übungen

Die UNIX-Shell

Cheat Sheet

pwd - print working directory
ls - list contents of a directory

  • ls -l - list file information

  • ls -lh - list human readable file information

  • ls -F - list files and directories (directories will have a trailing /)

  • ls -a - list all files, including hidden files

  • ls *.txt - list all files that end with .txt
    cd change directory

    cd pathname - takes you to the directory specified by pathname

    cd ~ - takes you to your home directory
    cd .. - takes you up one directory

history - displays the history list with line numbers, use n to limit the list

cat print to shell or send file or files to output

head output first 10 lines of a file or files

tail output last 10 lines of a file or files

less interactive file reader

mv rename or move a file or files. Syntax for renaming a file: mv FILENAME NEWFILENAME

cp make a backup copy of a file or files. Syntax: cp FILENAME NEWFILENAME

mkdir make a directory

> redirect output. Syntax with cat: cat FILENAME1 FILENAME2 > NEWFILENAME

>> redirect output by appending to the filename specified. Syntax with cat: cat FILENAME1 FILENAME2 >> NEWFILENAME

rm remove a file or files. NB: USE WITH EXTREME CAUTION!!!

rmdir -r will delete a directory, even if it is not empty. USE WITH EXTREME CAUTION!!!

rmdir -r-i will delete a directory, even if it is not empty, but will ask you to confirm each deletion.

touch will update timestamp information on files. And creates empty files.

wc word count

sort sort input

Aufgabenblock 1

  1. Erforschen Sie ihr Dateisystem! (Tipp: Wer das Verzeichnis nochmal im Explorer sehen möchte explorer .) Wie werden unterschiedliche Dateitypen dargestellt?

  2. Sehen Sie sich die Einträge in der Hilfe der Werkzeuge an. (Bspw. ls --help)
    2.1 Finden Sie heraus, wie Sie Dateien nach Größe ordnen können!
    2.2 Im Anschluss sortieren Sie Dateien nach ihrem letzten Modifikationsdatum.

Aufgabenblock 2

  1. Legen Sie ein Backup von gulliver.txt an mit dem Namen gulliver-backup.txt
    Wie gehen sie vor?

  2. mv kann auch Verzeichnisse umbenennen. Bennen Sie firstdir zu backup
    um. Wie gehen Sie vor?

  3. Wenn das letzte Argument an mv ein Verzeichnis ist, wird die Datei dort
    hin verschoben. Verschieben sie gulliver-backup.txt in das Verzeichnis backup
    Wie gehen sie vor?

Aufgabenblock 3

Füllt die Leerstellen so, dass das Skritp den Dateinamen, sowie die Erste und die Letzte Zeile aller Textdatein im Verzeichnis ausgibt.

Loop-Lückentext füllen.

___ file in *.txt  
__  
	echo "_file"  
	head -n 1 _______  
	____ __ _ _______  
____  

Aufgabenblock 4

Zählt die Wörter der tsv Datein und sortiert sie. Nutzt pipes!
Extra: Sortiert in aufsteigender Reihenfolge.

Wie man Python in Windows startet

In der Bash

ZBMED-Konfiguration:

$ /c/ProgramData/Anaconda3/python

ZBIW-Konfiguration:

$ winpty /c/Users/SWCarpentry/Anaconda3/python.exe

Leseempfehlungen

OpenRefine

Übungsdatei herunterladen

doaj-article-sample.csv
(Rechtsklick => Ziel/Link speichern unter)

Programm openrefine.exe im OpenRefine Ordner starten (Win), Browserfenster öffnet sich automatisch mit der Adresse http://127.0.0.1:3333

Create Project => Get data from This Computer => Durchsuchen und doaj-article-sample auswählen => Next

Aufgabe Zellen aufsplitten / wieder zusammenfügen

  • Welches Trennzeichen wird in den "Subjects"-Zellen verwendet?
  • Wie lassen sich die "Subjects" in einzelne Zellen aufteilen?
  • Jetzt wieder die "Subjects" zusammenbringen. Welche alternativen Trennzeichen sind sinnvoll?

Aufgabe Filter

  • Wie viele Datensätze enthalten das Wort "laser" im Titel?
  • Wie viele Datensätze enthalten das Wort "x-ray" im Titel?

Anmerkung: Hier können auch Regular Expressions genutzt werden.

Aufgabe Facetten

  • Welche Lizenz kommt am häufigsten in dieser Datei vor?
  • Wie viele Artikel haben keine Lizenz?

Aufgabe "Customized Facet"

  • Findet alle Publikationen in dieser Datei, die keine DOI haben.

Clustering

Mehr Information zu den Clustering-Algorithmen:
https://github.com/OpenRefine/OpenRefine/wiki/Clustering-In-Depth

Transformationen

GREL: General Refine Expression Language
https://github.com/OpenRefine/OpenRefine/wiki/General-Refine-Expression-Language

Datumsumwandlungen

Zusätzliche Infos findet man hier: https://github.com/OpenRefine/OpenRefine/wiki/GREL-Date-Functions

Webservice mit Crossref API

Beispiel http://api.crossref.org/journals/1422-0067
Doku unter https://github.com/CrossRef/rest-api-doc

Reconciliation Service GND

Reconcilation-Service URL https://lobid.org/gnd/reconcile

Anleitung http://blog.lobid.org/2018/08/27/openrefine.html

Gesamt-Feedback

One-Up, One-Down

Was war gut?

  • viel Übungsaufgaben
  • gute / schnelle Hilfestellungen
  • "enthusiatische" Vermittlung
  • nette Instruktoren :-), gute Atmosphäre
  • alle Fragen konnten gestellt werden, immer Helfer zur Verfügung
  • gute Orga (Kaffee, Raum usw.)
  • viele weiterführende Materialien, Ressourcen usw. vorgeführt
  • gut, wenn Ziele der Übung immer klar aufgezeigt werden

Was war nicht gut? Was könnten wir verbessern?

  • sehr viel Stoff, viel Aufmerksamkeit nötig
  • zu wenig Zeit für die einzelnen Themen
  • nicht immer Bezug zur eigenen Arbeit klar
  • etwas zu lang am ersten Tag
  • noch mehr Hilfe
  • mehr Übersicht zu allen behandelten Themen bieten
  • zu wenig Beinfreiheit
  • ein konkretes praktisches Arbeitsbeispiel

Welche Themen oder Beispiele wären interessant?

  • noch mehr Beispiele mit Bezug zur eigenen, praktischen Arbeit
  • auch Kurse "Library Carpentry für Fortgeschrittene" anbieten?

Danke für Euer Feedback!

Alle behandelten Stoffe, Lektionen, Beispiele usw. sind verfügbar unter: https://librarycarpentry.org

https://librarycarpentry.org/lc-data-intro/
https://librarycarpentry.org/lc-shell/
https://librarycarpentry.org/lc-python-intro/
https://librarycarpentry.org/lc-open-refine/

Select a repo