-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathbearbeitung.qmd
79 lines (59 loc) · 2.62 KB
/
bearbeitung.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Ändern von PICA-Daten {#sec-aendern}
Die **Änderung von PICA-Daten** beschränkt sich in der Regel auf Bibliotheken und Verbundzentralen, die gemeinsam PICA-Datenbanken wie den K10plus betreiben. Dazu
gibt es folgende, nicht frei zugängliche Werkzeuge:
- der Katalogisierungsclient **WinIBW** (Windows)
- das vereinfachte Webformular **WebCat** (Webanwendung),
beispielsweise zur Anlage und Bearbeitung von Datensätze der GND
- **Interne Skripte** der Datenbanksoftware CBS (Linux)
Speziell zur Sacherschließung gibt es darüber hinaus Webanwendungen, deren Ergebnisse
indirekt zu Änderungen an PICA-Daten führen können:
- den **Digitalen Assistent** (DA-3)
- das Mapping-Werkzeug **[Cocoda](https://coli-conc.gbv.de/cocoda/)**
Um unabhängig von einzelnen Werkzeugen Änderungen an PICA-Datensätzen auszudrücken, wurde an der VZG das [PICA-Patch-Format](pica-formate.qmd#änderungsformat) entwickelt.
## Änderungen mit Catmandu
Das Werkzeug Catmandu (@sec-catmandu) ermöglicht neben der Abfrage und Auswertung
von PICA-Daten auch die Erstellung von PICA-Patch-Datensätzen um Änderungen
festzustellen ("diff") oder ausführen ("patch"). Die Eintragung dieser Änderungen
in zentrale PICA-Datenbanken ist allerdings nur durch Verbundzentralen möglich.
Um mit Catmandu Änderungen zu erzeugen sind Bearbeitungen am PICA-Datensatz mit
`do pica_diff() ... end` zu umschließen. So können beispielsweise die
Sacherschließungsfelder `045B/00-99`, falls vorhanden, aus dem Datensatz der Datei
[`example.pica`](example.pica ':ignore') entfernt werden:
~~~
$ catmandu convert pp --fix 'do pica_diff() pica_remove(045./*) end' to pp < example.pica
003@ $012345X
- 045B/02 $aSpo 1025$aBID 200
~~~
Folgende Fix-Kommandos können derzeit (Catmandu::PICA Version 1.12) zum Ändern
verwendet werden; weitere Kommandos [sind geplant](https://github.com/gbv/Catmandu-PICA/issues/82):
- `pica_remove()`
- `pica_keep()`
- `pica_tag()`
- `pica_occurrence()`
Hier einige weitere Beispiele von [Fix-Skripten](catmandu.qmd#fix-skripte) zur Änderung
von Datensätzen mit Catmandu:
~~~
# Entferne Felder der Basisklassifikation (BK) mit invalider Notation
# Nur Titeldatensatz betrachten
pica_keep(0.../*)
do pica_diff()
do pica_each(045Q/01)
unless pica_match($9) # Wenn keine BK-Normdaten-Verknüpfung vorhanden
unless pica_match($a,"\d\d\.\d\d")
pica_remove(045Q/01)
end
end
end
end
~~~
~~~
# Entferne die Occurrence von allen `028C` Feldern,
# außer wenn das Feld per `$9` mit einem Normdatensatz verknüpft ist
do pica_diff()
do pica_each(028C/*)
unless pica_match($9)
pica_occurrence(0)
end
end
end
~~~