8. The system according to claim 7 , wherein the computational distance comprises a Bregman distance.
7. An system for clustering a set of objects having object types, object attributes, homogeneous relationships between objects of the same object type, and heterogeneous relationships between objects having different object types, the system comprising: a programmable processor configured to: iteratively optimize a clustering of the set of objects within a plurality of latent classes, dependent on object types, object attributes, homogeneous relationships, and heterogeneous relationships, by performing, in an expectation step, wherein the programmable processor is configured to: update a set of posteriors to maximize a probability that an object is associated with a respective latent class, comprising, for each object, a substep to individually fix an assigned cluster for all other objects, and maximize an objective function for the respective object, comprising a substep to minimize a computational distance between an observation of the object attributes, homogeneous relationships, and heterogeneous relationships of a respective object and parameters of a corresponding expectation that the object is associated with the respective latent class, and repeat until no object changes in assigned cluster between successive repetition, and in a minimization step, updating the plurality of latent classes based on the updated set of posteriors; and store the optimized clustering in a memory; and a communications port configured to communicate at least one of an object and clustering-related information.