Text this: A Characterisation of First-Order Constraint Satisfaction Problems