To check if a key is valid you can use:
(.containsKey <email entity> :account/_email)
;; => true
In order to get all valid entity keys including the reverse ones:
(.touch <email entity>)
(keys (.cache <email entity>))
Note that (keys)
called directly on entity returns only forward keys.
Tested on similar schema.
Side note: apart from
(:account/_email <email entity>)
you can also query to get accounts that have linked specified email:
(q '[:find ?a :in $ ?e :where [?a :account/email ?e] ] (db conn) (:db/id <email entity>))