1. A system for calculating affinities between any two nodes in a graph, the system comprising: a data receiving device for receiving raw data in relation to various entities from various data sources; at least one processor coupled to a memory, the processor executes an algorithm for: receiving raw data in relation to various entities from various data sources; transforming the received raw data to, a graph with entities as nodes and corresponding affinities between the entities as edges between the nodes, wherein the affinities are at least one of non-directed, directed and temporal in accordance with the received raw data; simulating the graph as an electrical circuit based on a predetermined set of steps, wherein the predetermined set of steps comprises of at least one of the following: simulating the non-directed edges as a conventional resistor; simulating the directed edges as at least one of a conventional resistor coupled with a forward-biased ideal diode in the direction of the directed edges; simulating the temporal edges as a time-delay circuit involving, at least in part, a capacitor; calculating net affinity between any two nodes in accordance with rules of electrical circuit topology.