Eigenes Werkzeug · Beleg zu Daten & Prozesse

Eine Pflanzendatenbank, ein Sprachmodell und zwei Wege dazwischen

Ein Pflanzenname geht hinein, ein gefüllter Datensatz kommt heraus. Das Datenmodell steht: 31 Felder, überwiegend mit kontrolliertem Vokabular. Für den Weg dahin gibt es zwei Artefakte – eine Make- und eine Zapier-Strecke. Diese Seite zeigt, was die beiden tatsächlich belegen, welche Frage sie offenlassen, und welche Fehler im Datenbestand die Prüfung des Exports gefunden hat.

Wer Pflanzen für eine Fläche auswählt, braucht dieselben Angaben immer wieder: Standort, Bodenfeuchte, Wuchshöhe, Winterhärte, Schnittzeit. Diese Angaben stehen verstreut in Katalogen, Lexikonartikeln und Erfahrungswissen. Sie einmal in eine Struktur zu bringen, ist die eigentliche Arbeit – und der Punkt, an dem sich entscheidet, ob eine Sammlung später auswertbar ist oder nur voll.

Deshalb liegt der Aufwand hier im Datenmodell und nicht in der Automation. 31 Felder, davon 24 mit kontrolliertem Vokabular: Wer Lichtbedarf ausfüllt, wählt aus einer Liste und tippt nicht frei. Das macht die Datenbank filterbar – „alle Halbsträucher für trockene, sonnige Standorte" ist eine Abfrage und keine Textsuche.

Die Automation soll den mühsamen Teil übernehmen: Ein Pflanzenname wird eingetragen, ein Sprachmodell schlägt die Feldwerte vor, die Vorschläge landen im Datensatz. Das Sprachmodell ist dabei Zulieferer, nicht Quelle. Genau darin liegt der offene Punkt dieses Belegs – siehe unten.

Was hier belegt ist – und was nicht

  • Belegt: das Datenmodell, sein kontrolliertes Vokabular, der Aufbau beider Automationsstrecken und der Zustand des Datenbestands.
  • Nicht belegt: dass eine der beiden Strecken erfolgreich gelaufen ist. Dafür gibt es keine Laufhistorie, und die Zugänge liegen bewusst nicht in diesem Projekt.
  • Nicht belegt: Berufserfahrung mit Make, Zapier oder Notion. Das hier ist ein eigenes Werkzeug für eigene Zwecke.

Es sind meine eigenen Daten, keine Kundendaten. Trotzdem stehen hier Struktur und Füllgrade, nicht die vollständigen Inhalte.

Auf einen Blick

  • 31 Felder · 24 mit kontrolliertem Vokabular
  • 9 Datensätze im Export, davon 3 nahezu vollständig
  • 2 Felder in keinem Datensatz gefüllt
  • 5 von 9 Datensätzen mit Quellenlink
  • Kein Feld für Prüfstatus – der offene Punkt
  • Make: 3 Module · Zapier: 8 Schritte

Das Datenmodell

Notion kennt Feldtypen, und die Wahl des Typs ist die Festlegung: Auswahl lässt genau einen Wert aus einer Liste zu, Mehrfachauswahl mehrere, Text alles. Je mehr Felder einen Typ mit Liste haben, desto auswertbarer wird die Sammlung – und desto mehr Nachdenken kostet sie beim Anlegen.

Ausgezählt aus dem CSV-Export vom 1.9.2026 durch skripte/pflanzendatenbank-pruefen.py. Die Feldtypen stehen nicht im Export – sie sind aus den Bildschirmfotos der Notion-Ansicht abgelesen.
FeldgruppeFelderTypVokabular im Export
Identität deutscher Name, botanischer Name Titel, Text frei – ein Artname lässt sich nicht aus einer Liste wählen
Standort Lichtbedarf, Bodenfeuchtigkeit, Bodenart / Struktur, pH-Wert (Toleranz), Trockenheitstoleranz Mehrfachauswahl, Auswahl Sonne, Halbschatten · Trocken, Mäßig · Sand, Kies, Lehm, Humus, Kalkhaltig · pH 4,5 bis 8,0 in Halbschritten
Wuchs Wuchsform, Wuchsbreite, Wuchsgröße (Höhe), Wurzel, Lebensdauer, Wachstumstyp Auswahl, Mehrfachauswahl Baum, Strauch, Halbstrauch, Kletterpflanze · 30–60 cm, 1–2 m, 2–5 m, >5 m · Pfahlwurzel, Ausläufer
Erscheinung Blütezeit, Blütenfarbe, Frucht, Besonderheiten Mehrfachauswahl, Text Juni bis September · neun Farbwerte einschließlich „Keine" und „Unauffällig"
Pflege Pflegeaufwand, Pflege / Schnittzeit, Pflege-Notizen, Nährstoffbedarf, Nährstoffzusammensetzung, Winterhärte (Freiland), Winterhärte (Topf), Vermehrung Auswahl, Mehrfachauswahl, Text Gering, Mittel · Frühling/Sommer/Herbst mit Zusatz · Samen, Steckling, Teilung, Ableger
Verwendung Verwendung / Nutzen, Bestens geeignet für …, Insektenfreundlich, Transporttyp Mehrfachauswahl, Text, Auswahl Bienenfreundlich, Duft, Sichtschutz, Windschutz, Hangbepflanzung, Strukturpflanze, Blattschmuck, Pflegeleicht
Herkunft Quellenlink, Bild / Skizze URL frei

Zwei Entscheidungen darin sind erklärungsbedürftig. Wuchshöhe ist keine Zahl, sondern eine Auswahl aus vier Spannen. Eine Zahl wäre genauer, suggerierte aber eine Genauigkeit, die es bei einer Pflanze nicht gibt; für die eigentliche Frage – passt das unter ein Fenster oder nicht – reicht die Spanne, und sie ist filterbar. Winterhärte ist in zwei Felder geteilt, Freiland und Topf, weil dieselbe Art im Kübel mehrere Grade früher erfriert.

Der gedachte Ablauf

1 Eingabe Ein Mensch legt einen Datensatz an und trägt den Pflanzennamen ein. Mehr nicht.
2 Auslöser Die Automation fragt die Datenbank in festem Takt ab und erkennt den neuen Eintrag.
3 Sprachmodell Der Name geht an ChatGPT, zurück kommen Vorschläge für die Feldwerte.
4 Zuordnen Die Antwort wird zerlegt und auf die Felder verteilt – der Schritt, an dem sich die beiden Strecken unterscheiden.
5 Rückschreiben Der Datensatz wird ergänzt. Kontrollierte Felder nehmen nur Werte an, die es in der Liste gibt.
6 Prüfen Ein Mensch sieht nach. Dieser Schritt ist im Datenmodell nicht abgebildet – siehe „Der offene Punkt".

Schritte 1 bis 5 sind in beiden Artefakten angelegt. Schritt 6 findet statt, hinterlässt aber keine Spur im Datensatz – man sieht einem gefüllten Feld nicht an, ob es geprüft wurde.

Make oder Zapier – der Vergleich

Für denselben Ablauf liegen zwei Artefakte vor. Ursprünglich sollten beide mit denselben drei Testpflanzen durchlaufen und das Ergebnis verglichen werden. Dieser Test hat nicht stattgefunden, und der Grund gehört auf diese Seite und nicht ins Kleingedruckte: Ein Laufzeitvergleich setzt zwei lauffähige Strecken voraus. Beim Blick in die Artefakte hat sich gezeigt, dass nur eine das ist.

Geprüft wurde, was tatsächlich vorliegt: die exportierte Make-Blueprint-Datei und das Bildschirmfoto der Zapier-Übersicht. Nicht geprüft wurde die Laufzeit – dazu unten mehr.
KriteriumMakeZapier
Vorliegendes Artefakt Blueprint-Datei, 53 KB JSON Bildschirmfoto der Ablaufansicht
Schritte 3 8
Auslöser notion:watchDatabaseItems, nach Erstellzeit, Limit 20 Notion New Data Source Item, Abfrage alle 15 Minuten
Sprachmodell OpenAI Create Chat Completion, Modell gpt-4 ChatGPT (OpenAI) 2.56.0, Conversation
Anweisung an das Modell leer Eine Systemnachricht ist angelegt, ihr Inhalt fehlt im Bildschirmfoto nicht sichtbar
Antwort zerlegen nicht vorhanden Code by Zapier – ein eigener JavaScript-Schritt
Feldzuordnung keine Das Notion-Modul schreibt nur die Seiten-ID zurück, kein einziges Feld Schritte vorhanden, Zuordnung im Bildschirmfoto nicht sichtbar
Weitere Verarbeitung keine Formatter, Filter, Looping über Einzelwerte
Zieldatenbank stimmt nicht Auslöser und Ziel tragen zwei verschiedene IDs, keine davon ist die der Pflanzendatenbank Notion Update Database und Create Data Source Item
Spuren eigener Arbeit keine Dateiname und Aufbau entsprechen der unveränderten Make-Vorlage deutlich Versionsstand v5, vier Zapier-eigene Hilfsschritte, ein Code-Schritt
Erfolgreicher Lauf belegt? nein nicht belegbar – das Bildschirmfoto zeigt den Aufbau, nicht die Laufhistorie

Die Entscheidung – und warum sie anders ausfällt als geplant

Die Make-Datei ist keine Automation, sondern eine geladene Vorlage. Das ist nachprüfbar und keine Einschätzung: Die Systemnachricht an das Sprachmodell hat kein content, das Notion-Modul zum Zurückschreiben hat kein einziges Feldmapping, und Auslöser- und Zieldatenbank tragen zwei verschiedene Kennungen, von denen keine zur Pflanzendatenbank gehört. Der Dateiname ist der unveränderte Name der Make-Vorlage.

Die Zapier-Strecke trägt Spuren von Arbeit. Acht Schritte, davon ein selbst geschriebener JavaScript-Schritt, ein Filter, ein Formatter und eine Schleife über Einzelwerte. Nichts davon ist Bestandteil einer Vorlage, und der Stand v5 sagt, dass fünf Fassungen nötig waren.

Für die Portfolio-Darstellung wird deshalb die Zapier-Strecke geführt. Der Grund ist nicht, dass sie besser liefe – das ist nicht belegt –, sondern dass sie überhaupt gebaut wurde. Die ursprüngliche Frage „welche der beiden war die finale Variante" beantwortet sich damit von selbst: Zur Wahl standen nie zwei Strecken.

Was der Vergleich nicht leistet

Ein Vergleich zweier Artefakte ist kein Vergleich zweier Läufe. Ich kann nicht sagen, wie die Strecken mit einer unvollständigen Eingabe umgehen, was bei einer unbekannten Pflanze passiert oder wie viele Aufgaben ein Durchlauf verbraucht. Ein Test dazu bräuchte die Zugänge zu beiden Konten und zur Datenbank – und Zugangsdaten gehören nicht in dieses Projekt. Solange dieser Test nicht stattgefunden hat, steht hier nicht getestet und nicht „funktioniert".

Was im Datenbestand steckt

Der Export lässt sich prüfen, auch ohne Zugang zur Automation. Neun Datensätze sind wenig – aber sie zeigen genau die Fehler, die eine wachsende Sammlung später unbrauchbar machen.

DatensatzGefüllte FelderQuellenlink
Echter Lavendel · Lavandula angustifolia29 / 31ja
Echter Salbei · Salvia officinalis29 / 31ja
Kartoffel-Rose · Rosa rugosa29 / 31ja
Trompetenblume · Campsis radicans24 / 31nein
Küstenmammutbaum · Sequoia sempervirens19 / 31nein
Efeu · Hedera helix18 / 31nein
spanische Tanne · Abies pinsapo11 / 31ja
Urweltmammutbaum · Metasequoia glyptostroboides9 / 31ja
Hainbuche – nur der deutsche Name1 / 31nein

Drei Befunde

1. Derselbe Wert steht zweimal in der Auswahlliste

Das Feld Winterhärte (Freiland) führt -15 °C und –15 °C als zwei Optionen. Der Unterschied ist ein Zeichen: einmal der Bindestrich U+002D, einmal der Gedankenstrich U+2013. Küstenmammutbaum und Kartoffel-Rose tragen die eine Variante, Lavendel und Salbei die andere.

Das ist der teuerste Fehler von den dreien, weil er unsichtbar ist: Ein Filter auf „−15 °C" findet die Hälfte der passenden Pflanzen und meldet dabei keinen Fehler. Diese Prüfung ist automatisierbar und läuft im Prüfskript mit – sie vergleicht nur Zeichen und beurteilt keine Bedeutung.

2. Ein Vokabular vermischt drei Fragen

Das Feld Frucht kennt die Werte keine, Zapfen, essbar, Weiß und unbdeutend. Darin stecken drei verschiedene Fragen – gibt es eine Frucht, was für eine ist es, kann man sie essen – und dazu eine Farbe. Wonach hier gefiltert werden soll, ist damit nicht beantwortbar. unbdeutend ist außerdem ein Tippfehler, und weil er in der Auswahlliste selbst steht, wiederholt er sich in jedem Datensatz, der ihn verwendet.

3. Zwei Felder wurden nie gefüllt

Wachstumstyp und Transporttyp sind in keinem der neun Datensätze belegt. Ein Feld, das nie gefüllt wird, ist entweder überflüssig oder es fehlt der Schritt, der es füllt – beides sollte man wissen, bevor die Sammlung wächst.

Befund 1 findet eine Regel. Befund 2 und 3 findet ein Mensch, der die Vokabelliste liest. Im Prüfskript stand zunächst eine Regel, die Tippfehler automatisch erkennen sollte; sie hat 30–60 cm gemeldet und unbdeutend übersehen – also genau falsch herum. Sie wurde entfernt und durch die vollständige Ausgabe des Vokabulars ersetzt. Eine Prüfung, die danebenliegt, ist schlechter als keine, weil man ihr glaubt.

Der offene Punkt

Fünf von neun Datensätzen tragen einen Quellenlink, alle fünf auf die deutschsprachige Wikipedia. Bei den übrigen vier steht nicht, woher die Angaben kommen. Und bei keinem einzigen steht, ob sie geprüft wurden.

Das ist die eigentliche Lücke dieses Belegs, und sie ist keine Kleinigkeit. Ein Sprachmodell, das Pflanzeneigenschaften vorschlägt, liegt oft richtig und manchmal plausibel daneben – und beides sieht in einem gefüllten Notion-Feld identisch aus. Solange der Datensatz nicht mitführt, woher ein Wert stammt und wer ihn bestätigt hat, ist die Datenbank eine Sammlung von Behauptungen mit ordentlicher Struktur.

Was fehlt – konkret

  • Feld Status (Auswahl): Vorschlag · geprüft · strittig. Vorbelegt mit Vorschlag, wenn die Automation schreibt.
  • Feld Quellenlink zur Pflicht machen, sobald der Status auf geprüft steht – ein geprüfter Wert ohne Quelle ist keiner.
  • Feld geprüft am (Datum), damit alte Prüfungen als alt erkennbar bleiben.

Drei Felder, eine knappe halbe Stunde Arbeit. Dass sie fehlen, steht hier, weil dieser Beleg sonst mehr behaupten würde, als in der Datenbank steht. Der Vorschlag ist ein Vorschlag und nicht der Zustand des Systems.

Grenzen dieses Belegs

  • Kein Testlauf. Keine der beiden Strecken wurde für diesen Beleg ausgeführt. Es gibt keine Laufhistorie, keine Fehlerfälle aus dem Betrieb und keine Angabe zum Verbrauch. Wo im Vergleich „nicht belegbar" steht, heißt das nicht „funktioniert vermutlich".
  • Keine Berufserfahrung mit Automationswerkzeugen. Make, Zapier und Notion sind hier privat und für eigene Zwecke eingesetzt. Es gibt keine berufliche Station, in der ich damit gearbeitet habe.
  • Neun Datensätze sind kein Datenbestand. Das Datenmodell ist für mehr gebaut, gefüllt ist es kaum. Was hier gezeigt wird, ist die Struktur und ihre Prüfung, nicht eine gepflegte Pflanzendatenbank.
  • Keine fachliche Prüfung der Inhalte. Ob Rosa rugosa tatsächlich bis −15 °C freilandhart ist, sagt dieser Beleg nicht. Er sagt, dass diese Angabe im Datensatz steht, dass sie auf einen Wikipedia-Artikel verweist und dass kein Feld dokumentiert, ob jemand sie nachgeprüft hat.
  • Keine Zugangsdaten, keine Schlüssel. Weder in dieser Seite noch im Projektordner. Die Blueprint-Datei wurde ausgewertet, aber nicht veröffentlicht – sie enthält Verweise auf Verbindungen und Datenbank-Kennungen.

Zum Nachrechnen

Feldbericht (CSV)

Der Feldbericht führt je Feld den Typ, den Füllgrad und das im Export vorkommende Vokabular. Erzeugt von skripte/pflanzendatenbank-pruefen.py; dasselbe Skript gibt die drei Befunde oben aus. Es liegt außerhalb des Website-Ordners und wird nicht mit ausgeliefert.

Weiterlesen

Zurück zum Einstieg für Daten und Prozesse · dieselben Prüffragen an einem größeren Bestand und mit SQL: Von der API bis zur Prüfabfrage · ein Sprachmodell, das seine Textstelle mitliefern muss: Garden Intake · Normalisieren und Lückenreport getrennt: PIM Cleanup.