From 225de3492ae270a99d57be608924f6968d7e3efa Mon Sep 17 00:00:00 2001 From: Nico Wagner Date: Mon, 17 Jul 2023 13:53:03 +0200 Subject: [PATCH 1/4] Revise `frequency` docs --- .github/workflows/ci.yml | 2 + .github/workflows/release.yml | 6 +++ ci/prepare-tests.sh | 12 +++++ docs/book/.gitignore | 1 + docs/book/src/SUMMARY.md | 1 + .../src/referenz/kommandos}/frequency.md | 41 +++++++++++------- docs/book/src/referenz/kommandos/index.md | 2 + pica-toolkit/tests/snapshot.rs | 6 +++ tests/data/DUMP.dat.gz | Bin 0 -> 15549 bytes 9 files changed, 56 insertions(+), 15 deletions(-) create mode 100755 ci/prepare-tests.sh rename docs/{book.bak/src/de/guide/cmds => book/src/referenz/kommandos}/frequency.md (85%) create mode 100644 tests/data/DUMP.dat.gz diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 35619780f..d482c21aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,8 @@ jobs: target: ${{ matrix.target.triple }} profile: minimal override: true + - name: "prepare tests" + run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: command: test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6c3101f40..63ecce298 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,6 +63,8 @@ jobs: with: command: build args: --release --workspace + - name: "prepare tests" + run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: command: test @@ -122,6 +124,8 @@ jobs: with: command: build args: --release --workspace + - name: "prepare tests" + run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: command: test @@ -173,6 +177,8 @@ jobs: with: command: build args: --release --workspace + - name: "prepare tests" + run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: command: test diff --git a/ci/prepare-tests.sh b/ci/prepare-tests.sh new file mode 100755 index 000000000..871a9934a --- /dev/null +++ b/ci/prepare-tests.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -euo pipefail +# set -x + +DIRS=$(find docs/book/src/referenz/kommandos -type f -iname "*.md" -print) +DUMP="tests/data/DUMP.dat.gz" + +for i in $DIRS; do + mkdir -p "${i%.md}.in" + cp -v $DUMP "${i%.md}.in" +done diff --git a/docs/book/.gitignore b/docs/book/.gitignore index 7585238ef..1a12d9f0b 100644 --- a/docs/book/.gitignore +++ b/docs/book/.gitignore @@ -1 +1,2 @@ book +**/*.in/ diff --git a/docs/book/src/SUMMARY.md b/docs/book/src/SUMMARY.md index fbc9b109f..615f5ceea 100644 --- a/docs/book/src/SUMMARY.md +++ b/docs/book/src/SUMMARY.md @@ -14,3 +14,4 @@ - [convert](./referenz/kommandos/convert.md) - [completions](./referenz/kommandos/completions.md) - [count](./referenz/kommandos/count.md) + - [frequency](./referenz/kommandos/frequency.md) diff --git a/docs/book.bak/src/de/guide/cmds/frequency.md b/docs/book/src/referenz/kommandos/frequency.md similarity index 85% rename from docs/book.bak/src/de/guide/cmds/frequency.md rename to docs/book/src/referenz/kommandos/frequency.md index c973b2ccb..1908c0d43 100644 --- a/docs/book.bak/src/de/guide/cmds/frequency.md +++ b/docs/book/src/referenz/kommandos/frequency.md @@ -1,31 +1,42 @@ # frequency +![stability-badge](https://img.shields.io/badge/stability-stable-green?style=flat-square) + Mithilfe des Kommandos `frequency` lässt sich die Häufigkeitsverteilung -aller Wertausprägungen eines Unterfelds bestimmen. +aller Werte eines Unterfelds bestimmen. ## Beschreibung Das Kommando `frequency` wird dazu genutzt, um die Häufigkeiten der -Wertausprägungen eines Unterfelds zu bestimmen. Ist das zu untersuchende -Feld bzw. Unterfeld wiederholbar, dann gehen alle Wertausprägungen eines -Datensatzes in die Häufigkeitsverteilung ein. Aus der Ergebnisdatei lässt -sich dann durch geeignete Tools eine grafische Darstellung (Histogramm) -oder die relative Häufigkeitsverteilung berechnen. Die Ausgabe erfolgt +Werte eines Unterfelds zu bestimmen. Ist das zu untersuchende Feld bzw. +Unterfeld wiederholbar, dann gehen alle Wertausprägungen eines +Datensatzes in die Häufigkeitsverteilung ein. Die Ausgabe erfolgt standardmäßig im CSV-Format. Im folgenden Beispiel wird die Häufigkeitsverteilung des Unterfelds -`010@.a` (Sprache des Textes) ermittelt. Sowohl das Feld `010@` als auch -das Unterfeld `a` sind wiederholbar und somit werden Datensätze, die sowohl -einen Sprachencode `ger` als auch `eng` erhalten haben, für jeden Wert -gezählt. +`002@.0` (Satzart) ermittelt: + +```console +$ pica frequency -s "002@.0" DUMP.dat.gz +Tu1,6 +Tsz,2 +Tg1,1 +Tp1,1 +Tpz,1 +Ts1,1 -```bash -$ pica frequency "010@.a" FILE.dat -ger,2888445 -eng,347171 -... ``` +## Optionen + +TBA + +## Konfiguration + +TBA + +## Beispiele + ### Hinzufügen einer Kopfzeile Für die Dokumentation sowie die Verwendung in anderen Programmiersprachen diff --git a/docs/book/src/referenz/kommandos/index.md b/docs/book/src/referenz/kommandos/index.md index 64276b667..00c4f6d99 100644 --- a/docs/book/src/referenz/kommandos/index.md +++ b/docs/book/src/referenz/kommandos/index.md @@ -8,3 +8,5 @@ * [completions](./completions.md) — Erzeugung von Shell-Skripten zur Autovervollständigung * [count](./count.md) — Zählen von Datensätzen, Felder und Unterfeldern +* [frequency](./frequency.md) — Ermitteln einer Häufigkeitsverteilung + über ein oder mehrere Unterfelder diff --git a/pica-toolkit/tests/snapshot.rs b/pica-toolkit/tests/snapshot.rs index 3bd1eb9ce..980161394 100644 --- a/pica-toolkit/tests/snapshot.rs +++ b/pica-toolkit/tests/snapshot.rs @@ -28,3 +28,9 @@ fn cli_tests() { .case("tests/snapshot/split/*.toml") .case("tests/snapshot/split/*.trycmd"); } + +#[test] +fn doc_tests() { + trycmd::TestCases::new() + .case("../docs/book/src/referenz/kommandos/frequency.md"); +} diff --git a/tests/data/DUMP.dat.gz b/tests/data/DUMP.dat.gz new file mode 100644 index 0000000000000000000000000000000000000000..e8dd588894501f55fa14f6ca2602c1baa48ad991 GIT binary patch literal 15549 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 Date: Mon, 17 Jul 2023 14:01:59 +0200 Subject: [PATCH 2/4] Change name --- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d482c21aa..24238a3c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,7 +84,7 @@ jobs: target: ${{ matrix.target.triple }} profile: minimal override: true - - name: "prepare tests" + - name: "Run prepare tests" run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 63ecce298..95fe8726d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,7 +63,7 @@ jobs: with: command: build args: --release --workspace - - name: "prepare tests" + - name: "Run prepare tests" run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: @@ -124,7 +124,7 @@ jobs: with: command: build args: --release --workspace - - name: "prepare tests" + - name: "Run prepare tests" run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: @@ -177,7 +177,7 @@ jobs: with: command: build args: --release --workspace - - name: "prepare tests" + - name: "Run prepare tests" run: ci/prepare-tests.sh - uses: actions-rs/cargo@v1 with: From 0d65db0f9288dc2e3aaa8645ab45737464eb2627 Mon Sep 17 00:00:00 2001 From: Nico Wagner Date: Mon, 17 Jul 2023 14:38:00 +0200 Subject: [PATCH 3/4] Latest --- docs/book/src/referenz/kommandos/cat.md | 4 +- docs/book/src/referenz/kommandos/frequency.md | 153 +++++++++--------- 2 files changed, 82 insertions(+), 75 deletions(-) diff --git a/docs/book/src/referenz/kommandos/cat.md b/docs/book/src/referenz/kommandos/cat.md index f2059558d..bef59df8c 100644 --- a/docs/book/src/referenz/kommandos/cat.md +++ b/docs/book/src/referenz/kommandos/cat.md @@ -25,8 +25,8 @@ $ pica cat ger.dat eng.dat -o ger_eng.dat ## Optionen -* `-s`, `--skip-invalid` — überspringt jene Zeilen aus der Eingabe, die nicht - dekodiert werden konnten. +* `-s`, `--skip-invalid` — überspringt jene Zeilen aus der Eingabe, die + nicht dekodiert werden konnten. * `-u`, `--unique` — es werden keine Duplikate in die Ausgabe geschrieben. Die Strategie zur Erkennung von Duplikaten wird mittels der Option `--unique-strategy` festgelegt. diff --git a/docs/book/src/referenz/kommandos/frequency.md b/docs/book/src/referenz/kommandos/frequency.md index 1908c0d43..cfa0a3c08 100644 --- a/docs/book/src/referenz/kommandos/frequency.md +++ b/docs/book/src/referenz/kommandos/frequency.md @@ -29,11 +29,41 @@ Ts1,1 ## Optionen -TBA +* `-s`, `--skip-invalid` — überspringt jene Zeilen aus der Eingabe, die + nicht dekodiert werden konnten. +* `-i`, `--ignore-case` — Groß- und Kleinschreibung wird bei Vergelichen + ignoriert. +* `--strsim-threshold ` — festlegen des Schwellenwerts beim + Ähnlichkeitsvergleich von Zeichenketten mittels `=*`. +* `--reverse` — Ergebnisse werden in aufsteigender Reihenfolge + ausgegeben. +* `-l`, `--limit` `` — Eingrenzung der Ausgabe auf die ersten _n_ + Treffer. +* `--threshold` `` — Zeilen mit einer Häufigkeit ≤ _t_ ignorieren. +* `-H`, `--header` `
` — Kopfzeile, die den Ergebnissen + vorangestellt wird. +* `-t`, `--tsv` — Ausgabe erfolgt im TSV-Format. +* `--translit` `` — Ausgabe wird in die angegebene Normalform + transliteriert. Mögliche Werte: `nfd`, `nfkd`, `nfc` und `nfkc`. +* `-o`, `--output` — Angabe, in welche Datei die Ausgabe geschrieben + werden soll. Standardmäßig wird die Ausgabe in die Standardausgabe + `stdout` geschrieben. ## Konfiguration -TBA + + +Die Option zum Ignorieren invalider Datensätze lässt sich in der +`Pica.toml` konfigurieren: + +```toml +[frequency] +skip-invalid = true +``` + +Die Werte der Kommandozeilen-Optionen haben Vorrang vor den Werten aus +der Konfiguration. + ## Beispiele @@ -42,14 +72,18 @@ TBA Für die Dokumentation sowie die Verwendung in anderen Programmiersprachen ist es häufig sinnvoll eine Kopfzeile hinzuzufügen. Dies erfolgt mit der Option `--header` bzw. `-H`. Die Namen der Spalten werden komma-separiert -angegeben. Die Angabe von mehr als zwei Spalten ist nicht erlaubt. +angegeben. Eine Angabe von mehr als zwei Spalten ist nicht erlaubt. + +```console +$ pica frequency -s --header "satzart,anzahl" "002@.0" DUMP.dat.gz +satzart,anzahl +Tu1,6 +Tsz,2 +Tg1,1 +Tp1,1 +Tpz,1 +Ts1,1 -```bash -$ pica frequency --header "sprache,anzahl" "010@.a" A.dat -sprache,anzahl -ger,2888445 -eng,347171 -... ``` ### Eingrenzung auf bestimmte Felder @@ -61,42 +95,32 @@ Metadatenherkunft. Durch Verwenden eines Pfad-Ausdrucks in {}-Notation, können nur die Felder ausgewählt werden, die einem bestimmten Kriterium entsprechen. -Im folgenden Beispiel werden von einem Datensatz nur die `044H` Felder in -die Ergenisbereichnung mit einbezogen, die ein Unterfeld `b` besitzen, das -gleich `'GND'` ist, sowie ein Unterfeld `H`, das mit der Zeichenkette -`'ema'` beginnt. Felder, die nicht dem Filter entsprechen werden ignoriert. +Das folgende Beispiel bezieht nur die Felder `041R` in die Auswertung +mit ein, bei denen ein Unterfeld `4` existiert, das entweder `berc` oder +`beru` ist; Felder die diesem Kriterium nicht entsprechen, werden +ignoriert. -```bash -$ pica frequency "044H{ 9 | b == 'GND' && H =^ 'ema' }" DUMP.dat -gnd_id,count -040118827,29359 -040305503,4118 -041132920,2861 -04061963X,2420 -040288595,1964 +```console +$ pica frequency -s "041R{ 9 | 4 in ['berc', 'beru'] }" DUMP.dat.gz +040533093,2 +040250989,1 +040252434,1 +040290506,1 ... ``` -Mit der Option `--ignore-case` (bzw. `-i`) wird bei Vergleichen von Werten -die Groß-/Klein-Schreibung ignoriert. Die Option `--strsim-threshold` legt -den Schwellenwert des `=*`-Operators fest, mit dem auf die Ähnlichkeit von -Zeichenketten geprüft werden kann. +### Eingrenzen der Treffermenge +Soll die Ergebnismenge auf die ersten _n_ Häufigkeiten eingeschränkt +werden, wird dies mit der Option `--limit` bzw. `-l` erreicht. Das +nachfolgende Beispeil ermittelt die 3 häufigsten Werte im Feld `041R.4` -### Eingrenzen der Treffermenge (Limit) - -Soll die Treffermenge auf die _n_-häufigsten Werte eingeschränkt werden, -wird dies mit der Option `--limit` bzw. `-l` erreicht. Das folgende -Beispiel sucht nach den fünf häufigsten Sprachencodes: +```console +$ pica frequency -s --limit 3 "041R.4" DUMP.dat.gz +beru,12 +obal,5 +vbal,4 -```bash -$ pica frequency --limit 5 --header "sprache,anzahl" "010@.a" A.dat -sprache,anzahl -ger,4944293 -eng,829241 -fre,140055 -spa,61131 -ita,60113 ``` ### Eingrenzen der Treffermenge (Schwellenwert) @@ -106,59 +130,42 @@ eingeschänkt werden. Sollen nur die Werte angezeigt werden, die häufiger als ein Schwellenwert _n_ vorkommen, dann kann dies mit der Option `--threshold` bzw. `-t` erzielt werden: -```bash -$ pica frequency --theshold 100000 -H "sprache,anzahl" "010@.a" A.dat -sprache,anzahl -ger,4944293 -eng,829241 -fre,140055 +```console +$ pica frequency -s --threshold 4 "041R.4" DUMP.dat.gz +beru,12 +obal,5 + ``` -### Änderung der Sortierreihenfolge +### Änderung der Sortierreihenfolge (Limit) Standardmäßig wird die Häufigkeitsverteilung absteigend ausgegeben, d.h. der häufigste Wert steht in der Ausgabe oben[^fn1]. Soll das Verhalten so geändert werden, dass die Ausgabe aufsteigend sortiert wird, kann dies mit der Option `--reverse` bzw. `-r` erfolgen. Das folgende -Kommando sucht nach den drei Satzarten, die am wenigsten vorkommen: +Kommando sucht nach den vier Satzarten, die am wenigsten vorkommen: -```bash -$ pica frequency -s --limit 2 --reverse tests/data/dump.dat.gz +```console +$ pica frequency -s -l 4 --reverse "002@.0" DUMP.dat.gz +Tg1,1 +Tp1,1 +Tpz,1 Ts1,1 -Tp1,2 + ``` ### Ausgabe im TSV-Format -Die Ausgabe lässt sich mittels der Option `--tsv` (bzw. `-t`) in das TSV- -Format ändern. +Die Ausgabe lässt sich mittels der Option `--tsv` (bzw. `-t`) in das +TSV- Format ändern. ```bash -$ pica frequency -s --tsv --reverse tests/data/dump.dat.gz -Tp1 2 -Ts1 1 +$ pica frequency -s -l3 --tsv tests/data/dump.dat.gz +Tu1 6 +Tsz 2 ... ``` -### Änderung der Unicode-Normalform - -Die Unicode-Normalform in der Ausgabe lässt sich durch die Option -`--translit` ändern. Liegen die Daten in NFD-Normalform vor und sollen in -die NFC-Normalform transliteriert werden, kann dies mit dem folgenden -Kommando erfolgen: - -```bash -$ pica frequency --translit nfc "002@.0" dump.dat.gz -Ts1,1 -Tp1,2 -``` - -Es werden die Normalformen NFC (`nfc`), NFD (`nfd`), NFKC (`nfkc`) und -NFKD (`nfkd`) unterstützt. Wird die Option nicht verwendet, werden die -Wertausprägungen in die Kodierung und Normalform ausgegeben, wie sie in -der Eingabedatei vorliegt. - - [^fn1]: Alle Werte mit gleicher Häufigkeit werden immer in lexikographisch aufsteigender Reihenfolge sortiert. Dies erfolgt unabhängig vom Parameter `--reverse`. From 83e334d1985e922ba44bc231c8f4137fe55ac428 Mon Sep 17 00:00:00 2001 From: Nico Wagner Date: Mon, 17 Jul 2023 18:23:37 +0200 Subject: [PATCH 4/4] Review --- docs/book/src/referenz/kommandos/frequency.md | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/book/src/referenz/kommandos/frequency.md b/docs/book/src/referenz/kommandos/frequency.md index cfa0a3c08..deac65e73 100644 --- a/docs/book/src/referenz/kommandos/frequency.md +++ b/docs/book/src/referenz/kommandos/frequency.md @@ -31,14 +31,14 @@ Ts1,1 * `-s`, `--skip-invalid` — überspringt jene Zeilen aus der Eingabe, die nicht dekodiert werden konnten. -* `-i`, `--ignore-case` — Groß- und Kleinschreibung wird bei Vergelichen +* `-i`, `--ignore-case` — Groß- und Kleinschreibung wird bei Vergleichen ignoriert. -* `--strsim-threshold ` — festlegen des Schwellenwerts beim +* `--strsim-threshold ` — Festlegen des Schwellenwerts beim Ähnlichkeitsvergleich von Zeichenketten mittels `=*`. * `--reverse` — Ergebnisse werden in aufsteigender Reihenfolge ausgegeben. -* `-l`, `--limit` `` — Eingrenzung der Ausgabe auf die ersten _n_ - Treffer. +* `-l`, `--limit` `` — Eingrenzung der Ausgabe auf die häufigsten _n_ + Unterfeldwerte. * `--threshold` `` — Zeilen mit einer Häufigkeit ≤ _t_ ignorieren. * `-H`, `--header` `
` — Kopfzeile, die den Ergebnissen vorangestellt wird. @@ -70,7 +70,7 @@ der Konfiguration. ### Hinzufügen einer Kopfzeile Für die Dokumentation sowie die Verwendung in anderen Programmiersprachen -ist es häufig sinnvoll eine Kopfzeile hinzuzufügen. Dies erfolgt mit der +ist es häufig sinnvoll, eine Kopfzeile hinzuzufügen. Dies erfolgt mit der Option `--header` bzw. `-H`. Die Namen der Spalten werden komma-separiert angegeben. Eine Angabe von mehr als zwei Spalten ist nicht erlaubt. @@ -91,7 +91,7 @@ Ts1,1 Oftmals sollen nicht alle Felder in die Berechnung der Häufigkeiten mit einbezogen werden. Dies ist bspw. dann der Fall, wenn sich Felder anhand eines Unterfelds unterschieden lassen, wie etwa durch die Angabe der -Metadatenherkunft. Durch Verwenden eines Pfad-Ausdrucks in {}-Notation, +Metadatenherkunft. Durch Verwenden eines Pfad-Ausdrucks in {}-Notation können nur die Felder ausgewählt werden, die einem bestimmten Kriterium entsprechen. @@ -111,9 +111,10 @@ $ pica frequency -s "041R{ 9 | 4 in ['berc', 'beru'] }" DUMP.dat.gz ### Eingrenzen der Treffermenge -Soll die Ergebnismenge auf die ersten _n_ Häufigkeiten eingeschränkt -werden, wird dies mit der Option `--limit` bzw. `-l` erreicht. Das -nachfolgende Beispeil ermittelt die 3 häufigsten Werte im Feld `041R.4` +Soll die Ergebnismenge auf die häufigsten _n_ Unterfeldwerte +eingeschränkt werden, wird dies mit der Option `--limit` bzw. `-l` +erreicht. Das nachfolgende Beispeil ermittelt die 3 häufigsten Werte im +Feld `041R.4`. ```console $ pica frequency -s --limit 3 "041R.4" DUMP.dat.gz @@ -140,7 +141,7 @@ obal,5 ### Änderung der Sortierreihenfolge (Limit) Standardmäßig wird die Häufigkeitsverteilung absteigend ausgegeben, -d.h. der häufigste Wert steht in der Ausgabe oben[^fn1]. Soll das +d.h., der häufigste Wert steht in der Ausgabe oben[^fn1]. Soll das Verhalten so geändert werden, dass die Ausgabe aufsteigend sortiert wird, kann dies mit der Option `--reverse` bzw. `-r` erfolgen. Das folgende Kommando sucht nach den vier Satzarten, die am wenigsten vorkommen: @@ -157,7 +158,7 @@ Ts1,1 ### Ausgabe im TSV-Format Die Ausgabe lässt sich mittels der Option `--tsv` (bzw. `-t`) in das -TSV- Format ändern. +TSV-Format ändern. ```bash $ pica frequency -s -l3 --tsv tests/data/dump.dat.gz