The built-in shortest function calculates best path using weights by adding the weight, but I need a query for calculating best path by multiplying or average of edges. I was wondering if there is an easier way instead of traversing all edges.
Hello @Ali_Sayyadi and welcome to Dgraph Community
As far as I know dgraph uses the Dijkstra Algorithm to calculate shortest path and it does not support what you mentioned.
So you think that i should consider another way?
Is there anyway so I can pass an lambda function to shortest path?
I’m afraid passing a lambda function to shortest path function would not work. The only way that comes to my mind is having a lambda resolver that uses k-shortest path and then custom recalculation for these paths. There are two serious problem with this approach:
1- Performance: As a result of running k-shortest path and custom calculation
2- Wrong Answers: It is feasible that the final path that you are looking for is not between these k-shortest paths you found(This could happen if there is a significant difference between weights).