Optimized query for Person->hasTickets()
Fixes #30