I am trying to build a system which can find relationships between nodes in a graph that are not directly connected. Also, the graph is multipartite. Its a search problem where, based on the given query, I assign dynamic scores to certain nodes that are part of the result. Along with the dynamic scores, there are static scores that are assigned to each node periodically. So, if I were to do a random walk on the graph, I will have to take in to account the static scores as well. Also, I will have to do these random walks starting from multiple nodes.
An easy approach would be do a random walk with a seed of (cash * static score) for each node and then use the transition probabilities (in my case marked by edge weights) to distribute the cash and let the algorithm converge. I have read that factor graphs do these things pretty efficiently. General literature has not helped me understand how its different or more efficient. Was hoping I could find some answers here. Sorry for the wrong problem formulation

Given this situation, are there are tricks to make this process better/faster/more relevant?