1. In a computing environment, a method of querying data stores in a federation of data stores, the method comprising: accessing a first search predicate, the first search predicate constructed with one or more nested logical AND, OR, or NOT operands; normalizing the first search predicate to a normalized search predicate that is a canonical form logically equivalent to the first search predicate such that the normalized search predicate includes at least three and up to four ordered levels and the normalized search predicate is partitioned at the top level into a set of OR components, wherein normalizing the first search predicate to a normalized search predicate comprises applying one or more logical rules to the first search predicate and wherein logical rules are applied recursively, wherein all top or first level operands are logically ORed, wherein all second level operands below the top level operands are logically ANDed, wherein each third level operand below the second level operands is at least one of a parameter or logical NOT, and wherein any fourth level operands below a third level logical NOT operand are parameters; and using the normalized search predicate, searching a plurality of data stores in a federation of data stores for information by searching different data stores for at least two or more of the top level operands.