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