1. A method for defining categories for a set of data comprising: a. selecting a plurality of attributes from a group of attributes, each attribute describing a possible data item in the set of data; b. selecting a logic template from a group of logic templates, each logic template comprising a predetermined logic expression containing one or more variables; and c. assigning one or more selected attributes to each variable within the selected the logic template to produce a logic expression defining the data category.