Cosma – noch ein – Zettelkasten

Immer noch bin ich auf der Suche nach einem Zettelkastensystem. Gefunden habe ich, mit dem Org-Roam-System das für geeignete Werkzeug. Nur hat das System einen Mangel, ich kann Teile des Graphen nicht exportieren, um sie der Allgemeinheit zur Verfügung zu stellen.

Hier kommt nun das »cosma«-Projekt ins Spiel! Es erzeugt, basierend auf md-Dateien eine graphische Darstellung, wie es mit Org-Raom möglich ist an, legt ihn aber als HTML-Seite in einem Build-Ordner ab und kann auf einem beliebigen Server publiziert werden.

Neues Problem: Die Entwickler von cosma haben nur numerische IDs für die Verlinkung vorgesehen und ich hatte mir schon ein an Luhmann angelehntes System ausgedacht. Für den Emacs habe ich mir dafür zwei Funktionen geschrieben, die wahlweise meine Luhmann-IDs in Zahlen umwandelt oder zu Kontrollzwecken wieder die Ausgangs-ID herstellt.

Nun ist nicht jeder vom Emacs zu überzeugen, wie kann also die Systematik für einen beliebigen Editor umgesetzt werden? Ein Python-Programm kann die Aufgabe übernehmen und eine neue md-Datei erzeugen, die dann gezielt in den Wissensgraphen eingebunden wird.

Um mein Systgem verstehen und einordnen zu können erkläre ich nun das System:

Am Beispiel der Reihung zu »Staat«

Luhmann

Koppatz

2:

S1

Hauptthema

2,1

S1A

A anhängen, Fortsetzung zum Hauptthema

(Buchstabe + laufende Nummer)

2,2

S1B

B anghängen Fortsetzung zum Hauptthema

2,2a … 2,2c

S1B1 … S1B3

S1B1, S1B2, S1B3 sind Folgezettel von S1B weil Platzmangel

2,2b1

S1B1A

A anhängen, weil neuer Gedanke zu S1B1

2,2b2

S1B1A1

1 anghängen weil Ergänzung/Fortsetzung zu S1B1A

S1C

neue Unterkategorie zum Hauptthema, wie S1A

S1L1

Vorzugsweise eine Linkliste (L1)

Warum S1?

Es ist der erste Begriff, der mit dem Buchstaben »S« beginnt (Staat). Weil es ja noch mehr Begriffe/Themen geben kann, die mit S beginnen, zusätzlich eine laufende Nummer. S2 wäre dann zum Beispiel geeignet für den Begriff: Softwareentwicklung. Nach Luhmann wird einfach weiter durchnummeriert, aber ich habe mir angewöhnt, auch den Zweiten Buchstaben nach dem Unterthema zu wählen und so gibt es oft ein, wie oben gezeigt S1L1 für die Linkliste zum Thema Staat.

Warum nur Großbuchstaben?

Das ist der Einschränkung des Cosma-Systems geschuldet. Ich muß für die Verlinkung die ID in eine Zahl umwandeln und das funktioniert am besten mit den Großbuchstaben, weil die als Dezimalzahl immer durch zwei Ziffern repräsentiert werden können und es einfach ist, die Umwandlung in beiden Richtungen umzusetzen.

Beispiel von oben

Key (extern)

Dateiname

Key (intern)

Elternknoten

S1

S1–staat.md

8349

S1A

S1A–staatsformen.md

834965

8349

S1B

S1B–schulden.md

834966

8349

S1B1

S1B1–sondervermoegen.md

83496649

834966

S1B1A

S1B1A–sondervermoegen-bundeswehr.md

8349664965

83496649

S1B1A1

S1B1A1–sondervermoegen-bundewehr-beschaffung.md

834966496549

8349664965

S1C

834967

S1L1

83497649

8349

Mit diesen System und einem Hilfsprogramm (einmal als Python-Skript) und eine zweite Version als ausführbares Programm für Linux und Windows, wird es ein Kinderspiel, neue Knoten in den vorhandenen Graphen einzuarbeiten.

Beispiel: cosmacreator S1A Staatsformen generiert eine Datei »S1A–staatsformen.md« mit folgendem Inhalt:

---
title: Staatsformen
id:    834965
types:
  - S1
tags:
  - S1A
---
# Staatsformen
---
[[8349| zurück]]

In einer Ordnernasicht, die jeder gute Editor zur Verfügung stellt, kann die Hierarchie gut kontrolliert werden und sieht dann, in dem Beispiel wie folgt aus:

> ls
S1A--staatsformen.md
S1B1A1--sondervermoegen-bundewehr-beschaffung.md
S1B1A--sondervermoegen-bundeswehr.md
S1B1--sondervermoegen.md
S1B--schulden.md
S1L1--linkliste.md
S1--staat.md

Oft läßt sich die Sortierreihenfolge auch umkehren:

#+beginsrcbash

> ls -tr

S1–staat.md S1B–schulden.md S1B1A–sondervermoegen-bundeswehr.md S1B1A1–sondervermoegen-bundewehr-beschaffung.md S1A–staatsformen.md S1B1–sondervermoegen.md S1L1–linkliste.md