Say I have a “lightweight relational database” in the form of a spreadsheet with a list of my favorite coffee shops (e.g. XLSX / CSV):
Name Address Serves Food
Perk Café 123 Main St. Yes
Daily Joe 10 Broadway No
I could alternately make two LogSeq pages (or blocks)
- Perk Cafe
type:: Coffee Shop
address:: 123 Main St.
serves_food:: Yes
- Daily Joe
type:: Coffee Shop
address:: 10 Broadway
serves_food:: No
Then if I query {{query (property type "Coffee Shop") }}
I get a table back:
block | type | address | serves-food |
---|---|---|---|
Daily Joe | Coffee Shop | 10 Broadway | No |
Perk Café | Coffee Shop | 123 Main St. | Yes |
Very cool, especially because in LogSeq one of course gets all the rest of the linking features of all my visits to / thoughts about Daily Joe, etc. etc. And, one can of course construct more complex queries.
Now say I collect 100 coffee shops.
Then say I realize that “address” isn’t really the right property key name because this could refer to web address or street address. So I want to change it to street_address.
In the “relational DB,” I just change the column name from address to street_address. As I understand it—which is not much—“real” graph databases also provide options to refactor a schema to address this situation.
What would I do in LogSeq, short of manually changing every one of the 100 entries? Is there just no efficient way to iterate one’s mental model of such data without manually redoing everything? (I would note that simply find-and-replace every “address” with “street_address” risks contaminating a bunch of normal references to the word “address” outside of the targeted entries.) I worry about this because it seems one of the whole mindsets of LogSeq as opposed to a relational DB is to build-bottom-up-as-you-go, rather than having to design-top-down-once-and-for-all. Am I missing a solution to this challenge?
More generally, are there other normal tasks one might typically complete with a database that become impractical if one instead uses LogSeq as a “lightweight graph database” in this manner?