Using GraphViz to Build Complex Models Bottom-Up • Zettelkasten Method
Using GraphViz to Build Complex Models Bottom-Up • Zettelkasten Method
When you can't see the whole of a complex issue yet, model it bottom-up: keep a GraphViz note of reinforcing and balancing relationships, research each link in its own note, and let the model of the whole assemble as a byproduct.
Howdy, Stranger!
Categories
- 3K All Categories
- 153 Research & Reading
- 707 The Zettelkasten Method
- 12 Knowledge Work
- 102 Writing
- 474 Software & Gadgets
- 160 Workflows
- 733 The Archive
- 15 Plug-In Showcase
- 88 Resolved Issues
- 225 Projects Logs and Journals
- 86 Project: Zettelkasten.de
- 53 Critique my Zettel
- 179 Random
- 375 Introduce Yourselves!
Comments
I also had positive experiences with diagram-as-code tools like GraphViz, PlantUML and Mermaid. They nicely complement a digital Zettelkasten because one can quickly visualize relationships. They nicely complement Markdown because they are text first.
In Obsidian I use built-in Mermaid for that effect. This is how the post's example could be implemented in Mermaid:
flowchart TD Will -->|+| Deterrents Will -->|+| Incentives Will -->|+| Action{"Action"} Deterrents -.->|-| Action Deterrents -.->|-| TN["Threshold for<br/>negentropy perception"] Incentives -->|+| Action Incentives -->|+| ID["Incentive density"] ID -->|+| TN Action -.->|-| Energy Energy -->|+| Action Action -->|+| Reward Reward -->|+| Conditioning Conditioning -->|+| HabitAccount Action -->|+| HabitAccount HabitAccount -->|+| Action HabitAccount -->|+| DP["Desensitization<br/>to pain"] DP -->|+| SE["Self-esteem"]It looks like this:
Personally, I prefer words to +/- symbols. I learned from Novak's concept maps that a lot of insight can be gained by verbalizing the relationship. The quality of the relationship is still indicated by the stroke. For example like this:
Diagram-as-code tools are useful. However, they can't handle too much complexity. At some point one needs to draw a chart manually for a more refined layout.