Datum des CBS-Abzugs: 20232025-0307-01
Dieser Bericht wurde automatisiert mit R Markdown erstellt. Der pica-rs-Code für die Abfrage aller Tc-Sätze und der R-Code für die Berechnung der Ausgabetabelle können durch Aufklappen der Codeblöcke eingesehen werden.
Von allen Datensätzen mit 002@.0 == 'Tc'
ohne 050C.a =^ 'GND-kein-Schlagwort'
werden die Unterfelder $2
und $4
der PICA+-Felder 022P, 028P, 029P, 030P, 041P und 065P ausgelesen und die IDN-Anzahlen für alle Kombinationen der Werte {‘agrovoc’, ‘lcsh’, ‘ram’, ‘mesh’, ‘stw’, ‘thesoz’, ‘embne’, ‘nsbncf’, ‘tpro’, ‘etiras’} in $2
und {‘ftaa’, ‘ftae’, ‘ftai’, ‘ftao’, ‘ftau’, ‘ftob’, ‘ftub’, ‘ftvb’, ‘ftnu’} in $4
berechnet.
...
Codeblock | ||||
---|---|---|---|---|
| ||||
#!/bin/bash set -euo pipefail # set -x # Datenformat GND - Crosskonkordanzen zu externen Vokabularen/Thesauri: # https://wiki.dnb.de/pages/viewpage.action?pageId=263851158x/lgy6Dw dnb_dump=/srv/aen-data/pica/T.dat # Tc-Sätze "f bbg Tc NOT rdb GND-kein-Schlagwort*" pica filter -s "002@.0 == 'Tc'" --not "050C.a =^ 'GND-kein-Schlagwort'" $dnb_dump -o Tc.dat # 028P (700) - "p" - Person # 029P (710) - "b" - Körperschaft # 030P (711) - "f" - Konferenz # 022P (730) - "u" - Einheitstitel # 041P (750) - "s" - Sachbegriff # 065P (751) - "g" - Geografikum pica select -H "IDN, Feld, Thesaurus, Relation" "003@.0, '028P', 028P{2, 4}" \ --where "028P.4?" Tc.dat -o Tc.csv # ohne Header anhängen pica select "003@.0, '029P', 029P{2, 4}" --where "029P.4?" Tc.dat --append -o Tc.csv pica select "003@.0, '030P', 030P{2, 4}" --where "030P.4?" Tc.dat --append -o Tc.csv pica select "003@.0, '022P', 022P{2, 4}" --where "022P.4?" Tc.dat --append -o Tc.csv pica select "003@.0, '041P', 041P{2, 4}" --where "041P.4?" Tc.dat --append -o Tc.csv pica select "003@.0, '065P', 065P{2, 4}" --where "065P.4?" Tc.dat --append -o Tc.csv |
...
Codeblock | ||||
---|---|---|---|---|
| ||||
# Crosskonkordanzen einlesen ck <- read_csv('Tc.csv', col_types = 'cccc') # Wertebereiche gemäß Wiki-Seiten definieren thesauri <- read_csv('Thesauri.csv', col_types = 'cc') relationen <- read_csv('Relationen.csv', col_types = 'cc') # Crosskonkordanzen filtern und zählen rslt1rslt <- ck %>% filter(Thesaurus %in% thesauri$Code & Relation %in% relationen$Code) %>% mutate( Thesaurus = factor(Thesaurus, levels = thesauri$Code, labels = thesauri$Thesaurus), Relation = factor(Relation, levels = relationen$Code, labels = relationen$Relation) ) %>% # GESAMT als Summe über alle Relationen rbind((.) %>% mutate(Relation = factor('GESAMT'))) %>% # auch alle leeren Levels jeweils mit Anzahl 0 anzeigen group_by(Thesaurus, Relation, .drop = FALSE) %>% # jede Kombination (Thesaurus, Relation) je IDN nur einmal zählen summarise(n = n_distinct(IDN)) %>% pivot_wider(id_cols = Relation, names_from = Thesaurus, values_from = n) # Summe rslt2 <- data.frame(Relation = factor('GESAMT'), rslt1 %>% select(-Relation) %>% summarise_all(.funs = sum)) colnames(rslt2) <- colnames(rslt1) # Formatierte Ausgabetabelle rbind(rslt1, rslt2) %>% rslt %>% mutate_at(.vars = setdiff(colnames(.), 'Relation'), .funs = ~ formatC( ., format = 'd', big.mark = '.', decimal.mark = ',')) %>% knitr::kable(align = c('l', rep('r', ncol(.)-1))) |
Relation | AGROVOC | LCSH | RAMEAU | MeSH | STW | TheSoz | EMBNE | NSogg | T-PRO | ET |
---|---|---|---|---|---|---|---|---|---|---|
Äquivalenz (ftaa) | 90 | |||||||||
48. | ||||||||||
726 | ||||||||||
47. | ||||||||||
262 | ||||||||||
56 | ||||||||||
0 | ||||||||||
102 | ||||||||||
13. | ||||||||||
040 | 8. | |||||||||
617 | 2 | 669 | ||||||||
exakte Äquivalenz (ftae) | 5. | |||||||||
490 | ||||||||||
1.225 | ||||||||||
799 | ||||||||||
6. | ||||||||||
404 | 5.835 | 7. | ||||||||
335 | 17 | 22 | 36 | 3.512 | ||||||
inexakte Äquivalenz (ftai) | 5 | |||||||||
717 | ||||||||||
745 | ||||||||||
392 | 0 | |||||||||
198 | ||||||||||
550 | ||||||||||
4 | 29 | 2.365 | ||||||||
ODER-Äquivalenz (ftao) | 4 | |||||||||
142 | ||||||||||
66 | 65 | 0 | 0 | |||||||
6 | 0 | 8 | 1.411 | |||||||
UND-Äquivalenz (ftau) | 1.293 | 2. | ||||||||
315 | 4. | |||||||||
666 | ||||||||||
118 | ||||||||||
415 | 1. | |||||||||
616 | 1 | 0 | 0 | 0 | ||||||
Oberbegriff-Relation (ftob) | 2.127 | 0 | 0 | |||||||
55 | 7. | |||||||||
927 | 2. | |||||||||
934 | 0 | 0 | 0 | 0 | ||||||
Unterbegriff-Relation (ftub) | 183 | 0 | 0 | |||||||
12 | 382 | |||||||||
393 | ||||||||||
0 | 0 | 0 | 0 | |||||||
Verwandter-Begriff-Relation (ftvb) | 769 | 0 | 0 | 11 | 3. | |||||
772 | 929 | |||||||||
0 | 0 | 0 | 0 | |||||||
Null-Relation (ftnu) | 168 | |||||||||
19. | ||||||||||
088 | ||||||||||
20. | ||||||||||
941 | 0 | |||||||||
503 | ||||||||||
897 | ||||||||||
2 | 1 | 0 | 0 | |||||||
GESAMT | 10. | |||||||||
129 | ||||||||||
72. | ||||||||||
213 | ||||||||||
74. | ||||||||||
479 | ||||||||||
7. | ||||||||||
113 | ||||||||||
18. | ||||||||||
834 | 14. | |||||||||
404 | ||||||||||
13. | ||||||||||
616 | 8. | |||||||||
644 | 75 | 7.957 |