> [!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