1. A computer implemented method for retrieving data, comprising: providing a plurality of conditional constraints, each based on a correlation between at least a respective first condition and a respective second condition each defined on the basis of a respective field related to a respective value according to a respective operator, and wherein each of the plurality of conditional constraints causes the programmatic addition of the respective second condition to each query satisfying the respective conditional constraint; wherein each query satisfies a conditional constraint if the query contains the first condition specified by the conditional constraint; receiving a query; and for each conditional constraint of the plurality of conditional constraints: determining whether the query satisfies the conditional constraint; and if the query satisfies the conditional constraint, adding the respective second condition corresponding to the satisfied conditional constraint to the query to produce a modified query.