8. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for matching a user profile with desired data, said method comprising: building a profile index, wherein the profile index includes a collection of user profiles including predicates; identifying predicates shared by user profiles; and evaluating the predicates, wherein each predicate is evaluated once and the evaluation includes matching each predicate of the profile collection against data items.
8. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for matching a user profile with desired data, said method comprising: building a profile index, wherein the profile index includes a collection of user profiles including predicates; identifying predicates shared by user profiles; and evaluating the predicates, wherein each predicate is evaluated once and the evaluation includes matching each predicate of the profile collection against data items. 9. The signal-bearing medium embodying a program for the method recited in claim 8, the method including evaluating the shared predicates by priority, wherein most-shared predicates have a higher priority than lesser-shared predicates.