3. The system of claim 1 wherein the extract features component extracts snapshot features and delta features.
1. A computer system for identifying potential community members of a community, the system comprising: a data store that identifies objects of different types and relationships between objects of different types, one type of object representing a person, another type of object representing a community of persons, one relationship indicating that a person is a member of a community, each community having a ranking, each relationship having an associated time; a memory storing computer-executable instructions for a generate heterogeneous graph component that generates a heterogeneous graph with vertices representing distinct objects and edges representing the relationships between objects, each edge having a time period and a weight; and a generate time vector heterogeneous graph component that generates a time vector heterogeneous graph from the heterogeneous graph, the time vector heterogeneous graph having a vertex for each vertex of the heterogeneous graph and an edge between objects representing a relationship between the objects, each edge having a time vector representing the weights of the relationship over time periods; a component that extracts features relating to each person from the objects and their relationships as indicated by the generated time vector heterogeneous graph, the extracted features representing evolution of the features over time; a generate best community training data component that generates training data for a best community classifier having a label associated with a person, the label indicating potential to be a community member, the training data being generated by, for each time period and each person who is a community member of a community within that time period: setting best community training data to the extracted features for that person; labeling the best community training data for that person with a rank of the highest ranking community that that person is a community member; and setting a time period for the best community training data for that person; a train best community classifier component that trains a best community classifier using the best community training data to classify the potential for a person represented by their features to be a community member of a community; a generate multi-class community classifier training data component that generates training data for a multi-class community classifier having a label associated with a person, the label indicating potential to be a community member, the multi-class community training data being generated by, for each time period, each community, and community member of a community within that time period: setting multi-class community training data to the extracted features for that person; labeling the multi-class community training data for that person with the community; and setting a time period for the multi-class community training data for that person; a train multi-class community classifier component that trains a multi-class community classifier using the multi-class community training data to classify the potential for a person represented by their features to be a community member of a community; and a classify person component that classifies a person as a potential community member using the best community classifier and when the person is classified as a potential community member for multiple communities, using the multi-class community classifier to classify the person as a potential community member for a single community; and a processor for executing the computer-executable instructions stored in the memory.