Can I query all existing values of a given property?

Is this one-off retrieval, or in every Emacs session or command call?

If you need the list frequently, I’d do a query like this below (replace GEO with AREA — for your purpose, you don’t need to retrieve the ID either), dedupe the same occurrences, and keep the resultant list in a simple list variable.

Or I retrieve the list once, and manually create a list variable in init so that you can manually add/remove from it.

LAT and LON are decimal degrees of type number (not string)."
  (let ((nodes (org-roam-db-query
                [:select [properties id]
:from nodes
:where (like properties '"%geo%")])))

source: How to use location in org-roam? - #3 by nobiot