Any variable that occurs more than once in the :where clause is implictly joined over.
So you can ask for names that belong to a community as well as to a neighbourhoord
(def results (q '[:find ?name :where [_ :neighborhood/name ?name]
[_ :district/name ?name]]
(db conn)))
Is this what you were asking for? (ids are just ignored in this example)