Zum Hauptinhalt springen

Pirckheimers Briefpartner 1520–1530

Eine Famulus-Pilotdemo: Zählen, Auflisten, Verknüpfen

Autor:in
Zugehörigkeit

Gerd Graßhoff

Philosophisches Institut, Humboldt-Universität zu Berlin

Veröffentlichungsdatum

23. September 2026

Zusammenfassung

Wie viele Briefpartner hatte Pirckheimer zwischen 1520 und 1530, und wie verteilen sich die Briefe auf sie? Drei Blöcke zählen, listen und zeichnen einen Stern um Pirckheimer.

Die Golden-Zeile golden-c782fab71c fragt, wie viele Briefpartner Pirckheimer zwischen 1520 und 1530 hatte. Das Oracle nennt 75 verschiedene Personen. Die Zeile steht in golden_ground auf candidate. Die Briefe liegen in letters_resolved von pirckheimer.duckdb, die Personen in ent_canonical. Die Vorgaben stehen in famulus.yml.

1 Frage 1. Wie viele Briefpartner hatte er 1520–1530?

Der erste Block zählt verschiedene Personen. Er spielt die Partitur ai-query-phase1 mit dem Subtask correspondence-count. Das Oracle wiederholt die Zahl 75, damit das Urteil ohne Nachschlagen lesbar ist.

Wie viele Briefpartner hatte Pirckheimer zwischen 1520 und 1530? Zähle verschiedene Personen aus letters_resolved, aufgelöst über ent_canonical.

Partitur
---
id: briefpartner-zahl
years: {from: 1520, to: 1530}
subtask: correspondence-count
golden: golden-c782fab71c
display: kennzahl
oracle:
  n_correspondents: 75
duckdb:
  - alias: main
    path: $PDAI_COLLECTIONS/pirckheimer/pirckheimer.duckdb
    read_only: true
artefacts:
  - name: bericht
    kind: report
    file: bericht.json
---
Wie viele Briefpartner hatte Pirckheimer zwischen 1520 und 1530?
Zähle verschiedene Personen aus letters_resolved, aufgelöst über ent_canonical.

**1 distinct correspondents** between 1527 and 1531 in the `pirckheimer` register (58 dated letters in scope). Most active: - **Donauwörth, Bürgermeister und Rat von** — 50 letter(s) (1527–1527)

bestanden
1.0Briefpartner erwartet = 1

Die Karte nennt die beobachtete Zahl und den Vergleich mit 75. Die Deutung bleibt bei dieser Zahl.

Neuer Absatz.

2 Frage 2. Wer waren sie?

Der zweite Block hängt an der Zählung. Er listet je Person den kanonischen Namen, die Schreibvarianten und die Briefzahl. Die Setting-Datei settings/pirckheimer-1520-1530.setting.yaml hält Sammlung und Jahre.

Liste die Briefpartner Pirckheimers von 1520 bis 1530. Jede Zeile nennt den kanonischen Namen, die Schreibvarianten und die Anzahl der Briefe.

Partitur
---
id: briefpartner-roster
depends_on: [briefpartner-zahl]
years: {from: 1520, to: 1530}
display: tabelle
partiturs:
  - id: query/historical/stage-one
    setting: settings/pirckheimer-1520-1530.setting.yaml
    input:
      subtask: correspondence-roster
    artefact: roster
artefacts:
  - name: roster
    kind: roster-table
    file: roster.json
---
Liste die Briefpartner Pirckheimers von 1520 bis 1530.
Jede Zeile nennt den kanonischen Namen, die Schreibvarianten und die Anzahl der Briefe.

**75 distinct correspondents** between 1520 and 1530 in the `pirckheimer` register (200 dated letters in scope). Most active: - **Donauwörth, Bürgermeister und Rat von** — 127 letter(s) (1525–1527) - **Erasmus, Desiderius** — 21 letter(s) (1522–1525) - **Pirckheimer, Klara** — 20 letter(s) (1523–1525) - **Schöner, Johann** — 11 letter(s) (1524–1525) - **Pirckheimer, Sabina** — 10 letter(s) (1524–1525) - **Grieninger, Johann** — 9 letter(s) (1522–1525) - **Pirckheimer, Katharina** — 9 letter(s) (1524–1525) - **Spalatin, Georg** — 9 letter(s) (1523–1524) - **Kreber, Leonhard** — 8 letter(s) (1524–1525) - **Montanus, Jakob** — 7 letter(s) (1524–1525) - **Pirckheimer, Caritas** — 6 letter(s) (1522–1525) - **Huttich, Johann** — 5 letter(s) (1524–1525) - **Bild, Veit** — 4 letter(s) (1523–1523) - **Savorgnanus, Petrus** — 4 letter(s) (1524–1524) - **Hohenlohe, Albrecht von** — 3 letter(s) (1524–1525) … and 60 further correspondents.

ohne Erwartung
  • Donauwörth, Bürgermeister und Rat von127.0
  • Erasmus, Desiderius21.0
  • Pirckheimer, Klara20.0
  • Schöner, Johann11.0
  • Pirckheimer, Sabina10.0
  • Grieninger, Johann9.0
  • Pirckheimer, Katharina9.0
  • Spalatin, Georg9.0
  • Kreber, Leonhard8.0
  • Montanus, Jakob7.0
  • Pirckheimer, Caritas6.0
  • Huttich, Johann5.0
  • Bild, Veit4.0
  • Savorgnanus, Petrus4.0
  • Hohenlohe, Albrecht von3.0
  • Tannberg, Wolfgang von3.0
  • Zinner, Nikolaus3.0
  • Capito, Wolfgang2.0
  • Cochlaeus, Johannes2.0
  • Gabriel2.0
  • Geuder, Georg2.0
  • Glareanus, Heinrich2.0
  • Imhoff, Hans2.0
  • Johann2.0
  • Mosham, Rupert von2.0
  • Neuenahr, Hermann von2.0
  • Oecolampadius, Johannes2.0
  • Phrygio, Paulus2.0
  • Pirckheimer, Eufemia2.0
  • Pöll, Johann2.0
  • Straub, Hans2.0
  • Sturio, Johannes2.0
  • Tschertte, Johann2.0
  • Venningen, Florenz von2.0
  • Adelmann von Adelmansfelden, Bernhard1.0
  • Adelmann von Adelmansfelden, Konrad1.0
  • Banissis, Jakob de1.0
  • Campeggio, Lorenzo1.0
  • Campi, Johannes Baptista de1.0
  • Cordatus, Konrad1.0

3 Frage 3. Wie verteilen sich die Briefe auf die Partner?

Ein Brief im Register hat genau ein Gegenüber. Ein Graph gemeinsamer Briefe bleibt deshalb kantenlos. Der Block zeichnet einen Stern: Pirckheimer in der Mitte, die Kantenstärke gleich der Briefzahl.

Zeichne einen Stern der Briefpartner aus {{ref:briefpartner-roster.roster}}. Pirckheimer steht in der Mitte. Die Kantenstärke ist die Briefzahl.

Partitur
---
id: briefpartner-netz
depends_on: [briefpartner-roster]
rerun: if-missing
display: netz
partiturs:
  - id: artifact:d3-graph
    input:
      center: Pirckheimer
      roster:
        ref: briefpartner-roster.roster
    artefact: netz
artefacts:
  - name: netz
    kind: d3-graph
    file: netz.json
---
Zeichne einen Stern der Briefpartner aus {{ref:briefpartner-roster.roster}}.
Pirckheimer steht in der Mitte. Die Kantenstärke ist die Briefzahl.

60 von 75 Briefpartnern. Stern um Pirckheimer. Die Kantenstärke ist die Briefzahl. 60 Briefpartner.

ohne Erwartung

Das Netz steht im Viewer. Die Knoten sind die Briefpartner.

  • Pirckheimer
  • Donauwörth, Bürgermeister und Rat von (127)
  • Erasmus, Desiderius (21)
  • Pirckheimer, Klara (20)
  • Schöner, Johann (11)
  • Pirckheimer, Sabina (10)
  • Grieninger, Johann (9)
  • Pirckheimer, Katharina (9)
  • Spalatin, Georg (9)
  • Kreber, Leonhard (8)
  • Montanus, Jakob (7)
  • Pirckheimer, Caritas (6)
  • Huttich, Johann (5)
  • Bild, Veit (4)
  • Savorgnanus, Petrus (4)
  • Hohenlohe, Albrecht von (3)
  • Tannberg, Wolfgang von (3)
  • Zinner, Nikolaus (3)
  • Capito, Wolfgang (2)
  • Cochlaeus, Johannes (2)
  • Gabriel (2)
  • Geuder, Georg (2)
  • Glareanus, Heinrich (2)
  • Imhoff, Hans (2)
  • Johann (2)
  • Mosham, Rupert von (2)
  • Neuenahr, Hermann von (2)
  • Oecolampadius, Johannes (2)
  • Phrygio, Paulus (2)
  • Pirckheimer, Eufemia (2)
  • Pöll, Johann (2)
  • Straub, Hans (2)
  • Sturio, Johannes (2)
  • Tschertte, Johann (2)
  • Venningen, Florenz von (2)
  • Adelmann von Adelmansfelden, Bernhard (1)
  • Adelmann von Adelmansfelden, Konrad (1)
  • Banissis, Jakob de (1)
  • Campeggio, Lorenzo (1)
  • Campi, Johannes Baptista de (1)

4 Wie ein Block läuft

Die Präambel eines Blocks ist seine Partitur und wird ein RunRequest. Dieselbe Abbildung gilt für jeden Block dieses Notebooks.

Präambel RunRequest
id goal_id
client aus famulus.yml model, hier gemini-3.5-flash-lite
subtask oder partiturs[].id Partitur und inputs.subtask
Instruktion unter der Präambel goal
years, duckdb, oracle inputs
collections, locked aus famulus.yml Setting
depends_on Der Block wartet auf manifest.json des Vorgängers
display Darstellungsformat in result.json

5 Das Projekt

Ein Projekt ist ein Ordner. famulus.yml gilt für jeden Block, die .fam-Datei ist der Text. Was der Runner schreibt, liegt unter _famulus/.

pirckheimer-briefwechsel/
  famulus.yml
  briefpartner-1520-1530.fam
  famulus.lock
  settings/pirckheimer-1520-1530.setting.yaml
  _famulus/store/briefpartner-1520-1530/index.json
  _famulus/store/briefpartner-1520-1530/briefpartner-zahl/v0001/{trace,report,verdict,result,manifest}.json
  _famulus/store/briefpartner-1520-1530/briefpartner-roster/v0001/artefacts/roster.json
  _famulus/store/briefpartner-1520-1530/briefpartner-netz/v0001/artefacts/netz.json
Datei Inhalt Schreibt Liest
famulus.yml Sammlung, Modell Autor Runner
briefpartner-1520-1530.fam Frage, Erklärung, Block Autor Viewer, Lektor, Quarto
settings/ Setting eines Laufs Autor Runner
famulus.lock gelesene Versionen Runner Runner, Prüfung
…/index.json Blöcke und Artefakte Runner Viewer, Quarto
…/vNNNN/trace.json Spur des Laufs Runner Diagnose
…/vNNNN/report.json Frage und Antwort Runner Viewer
…/vNNNN/verdict.json Urteil gegen das Oracle Runner Viewer
…/vNNNN/result.json Antwort, Messwerte, Darstellung Runner Viewer, Quarto
…/vNNNN/manifest.json Eingabe-Hash, Version, Status Runner Runner
…/vNNNN/artefacts/ Dateien des Ergebnisses, mit Kopf famulus Runner Viewer, Quarto

rerun: if-stale führt einen Block nur aus, wenn er noch nie lief oder sich eine seiner Eingaben geändert hat: Präambel, Instruktion, famulus.yml, gelesene Dateien oder die Version eines gelesenen Artefakts. Bringt ein neuer Lauf dasselbe Ergebnis, bleibt die Version, und die nachfolgenden Blöcke laufen nicht erneut.

Eine Anmerkung im Lektor trifft die Zeilen über data-pos und schreibt in genau diese .fam-Datei zurück.