> [!tldr] A very good pattern to optimize for [[CSV]] is crazy easy to work with. If you're designing a system (a la the [[PDW]]), it is a worthwhile consideration to ask: > [!question] How could this work as a CSV? Thinking about this question gives you several benefits: - Keeps your specific goal in [[Focus]]ed. - Keeps you from designing [[YAGNI|stuff you won't need]]. - If implemented - gives you a crazy powerful [[Pattern]] for **bulk edits** > [!warning] > This is not **always** worthwhile. It's a matter of [[Data, Information, Knowledge, Wisdom Pyramid|Wisdom]]. ## Examples ### [[Archi]] [[Archimate]] is **not** CSV-like... yet [[Archi]] supports a CSV roundtrip for editing A) nodes B) edges C) properties. It exports a model as **three** separate, dead-simple CSVs. It imports from the same CSVs. You can use *any* of them and it updates the related element in place using its [[Primary Key]] to match. ### Obsidian I've never done this, but it would be trivially easy to make (and I'm sure someone has already made it). - One column for path. - One column per frontmatter property. - One column for body content. Done. **** # More ## Source - self