11. A computer program product including a computer readable memory, said computer readable memory having a computer program for categorizing information items in a data storage and retrieval system stored thereon, wherein each of said information items is associated at least one property, said computer program comprising: program code for generating a tree structure providing an index, wherein said tree structure indexes a currently defined set of categories based on lists of properties required for membership in corresponding ones of said categories, wherein said tree structure includes a plurality of nodes, each node being associated with an individual property and a list of categories, and wherein each category in said list of categories for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; program code for traversing said tree structure to select a subset of said defined set of categories for which an input item is a candidate member, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties that are associated with said input information item, wherein subtrees of said tree structure having nodes not associated with properties associated with said input information item are not traversed; and program code for categorizing said information item based on said selected subset of categories, wherein said categorizing includes applying a predicate associated with each category in said selected subset of categories to said properties associated with said input item to determine whether conditions for membership in each category in said selected subset of categories are met, wherein predicates associated with categories not within said selected subset of categories are not applied.
11. A computer program product including a computer readable memory, said computer readable memory having a computer program for categorizing information items in a data storage and retrieval system stored thereon, wherein each of said information items is associated at least one property, said computer program comprising: program code for generating a tree structure providing an index, wherein said tree structure indexes a currently defined set of categories based on lists of properties required for membership in corresponding ones of said categories, wherein said tree structure includes a plurality of nodes, each node being associated with an individual property and a list of categories, and wherein each category in said list of categories for each node is a category that requires the property associated with the node as well as the properties associated with all ancestor nodes of the node in the up direction for membership in that category; program code for traversing said tree structure to select a subset of said defined set of categories for which an input item is a candidate member, wherein said traversing is limited to subtrees of said tree structure having nodes associated with properties that are associated with said input information item, wherein subtrees of said tree structure having nodes not associated with properties associated with said input information item are not traversed; and program code for categorizing said information item based on said selected subset of categories, wherein said categorizing includes applying a predicate associated with each category in said selected subset of categories to said properties associated with said input item to determine whether conditions for membership in each category in said selected subset of categories are met, wherein predicates associated with categories not within said selected subset of categories are not applied. 15. The computer program product of claim 11 , wherein said program code for selecting is responsive to modification of said information item.