Cosma —noch ein Zettelkasten

Immer noch bin ich auf der Suche nach einem Zettelkastensystem. Gefunden habe ich, mit dem Org-Roam-System das 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«

LuhmannKoppatz
2:S1Hauptthema
2,1S1AA anhängen, Fortsetzung zum Hauptthema
(Buchstabe + laufende Nummer)
2,2S1BB anghängen Fortsetzung zum Hauptthema
2,2a ... 2,2cS1B1 ... S1B3S1B1, S1B2, S1B3 sind Folgezettel von S1B weil Platzmangel
2,2b1S1B1AA anhängen, weil neuer Gedanke zu S1B1
2,2b2S1B1A11 anghängen weil Ergänzung/Fortsetzung zu S1B1A
S1Cneue Unterkategorie zum Hauptthema, wie S1A
S1L1Vorzugsweise 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)DateinameKey (intern)Elternknoten
S1S1--staat.md8349
S1AS1A--staatsformen.md8349658349
S1BS1B--schulden.md8349668349
S1B1S1B1--sondervermoegen.md83496649834966
S1B1AS1B1A--sondervermoegen-bundeswehr.md834966496583496649
S1B1A1S1B1A1--sondervermoegen-bundewehr-beschaffung.md8349664965498349664965
S1C834967
S1L1834976498349

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:


  > 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