I was wondering if anyone has experience with / implemented main path analysis using Igraph in R. Pajek has a very efficient implementation but i would like to analyse many different graphs, which is why it would be much more comfortable to do the analysis directly in R, as well.
If you could provide a concise (but complete) summary of what âmain path analysisâ is, someone might answer even if they were not familiar with the concept before.
Basically, the idea is to identify the âmost importantâ path (or a set thereof) in a citation network (i.e. a DAG).
The method proceeds in two steps:
Compute an edge weight (e.g. Search Path Count [SPC] counts the number of paths from source nodes to sink nodes that go through an edge)
Select edges constituting the main path (e.g. starting from source nodes iteratively select the edge with the highest weight or select the path with the overall highest weight)
As you can see, the principle is very simple. I could imagine that igraph already has the features implemented âunder the hoodâ for use in related methods, but dealing with igraphâs internals is above my programming skill level.
In principle, the idea could be implemented without too much problems. The difficulty however is that there are quite some variants of âmain path analysisâ, which we probably donât all want to implement. Nevertheless, it could be something that might be of interest to igraph users.
My co-authors and I have actually been working on an alternative approach to âmain path analysisâ, which we call âintermediacyâ, which we believe provides better results than âmain path analysisâ. I was thinking of implementing this in igraph at one point. It would then be reasonable to also implement (one variant of) âmain path analysisâ. It might take some time before I will get around to this. So, if there is anybody else that already wants to implement âmain path analysisâ, that would be great. Iâd be more than happy to assist with reviewing any contribution.
I implemented some main path analysis methods in a Julia package, in case youâre interested. No guarantees, though Sadly, I donât know any C or Iâd be happy to contribute.