this should be re-implemented as a class
function SelectQuery(request, context) {
  this.request = request;
  this.domain = new Domain({ source: request,
                             context: context });

  this.filters         = [];
  this.matchExpression = '';
  this.noResult        = false;

  this.parse();
}