I guess in this case it doesn’t really hurt to have excessive numbers of folders considering you will likely be browsing via a Dataview query. It might help to know a little more about exactly what you want to do with the data. It seems like a cool plan.
It would also help to understand, on average, how many notes each city folder would contain. For example, if most new notes are going to be added to a new city folder, it might make sense to have a single Templater script that has you choose the country, state, and city, and restaurant, requiring that you type in the values if they don’t already exist. The script would then place the newly created note named based on the restaurant name in the correct folder and contains correct values for the properties.
A simplistic option not requiring the use of properties would be to use nested tags and only have a single tag per restaurant note. For example, a tag might look something like #rest/usa/ny/nyc
. All the notes could be placed within a single folder or organized folders and you could have a query like the following, although I wouldn’t really recommend it:
TABLE file.etags AS "Tag", name AS "Name", location as "Location", address AS "Address", contactdetails AS "Contact Details", reservationlinks AS "Reservation Links", reviews AS "Reviews", owners AS "Owners"
FROM #rest
SORT file.etags ASC
The templates could be:
---
name:
location:
address:
contactdetails:
reservationlinks:
reviews:
owners:
---
This is just a starting point. The nice thing about nested tags is they are pretty easy to add because they have a built in suggester that will narrow down your choices. But still, it is worth using a Templater script and storing values in properties for the country, state, and city. But before having the script built it might be best you provide some additional information about your goals and scope.
There are plugins that automatically add tags based on folder. But, I can’t recommend them from personal experience. Someone will point you in the right direction.
Good luck!