virtual objects
VO = { (O_i,Q_i,C_i) | 1 <= i <= k }
where
C_1,...,C_k
-- mutually exclusive conditions
Q_1,...,Q_k
-- queries
O_1,...,O_k
-- objects