Hi, Anirudh!
The problem that you will face is that there are too many paths that meet your requirements for a practical analysis. If we make the simplifying (and true as far as I know) assumption that there are no FB intrinsic neurons, and that each FB neuron is bi-directional (has both pre and post synapses outside the FB) then we can ask how many distinct connections from any neuron coming in, to any going out (with no intermediate). That is found by the CYPHER query:
MATCH (n:Neuron{FB:true}) - [c:ConnectsTo] -> (m:Neuron{FB:true}) RETURN n.bodyId, c.weight, m.bodyId
and there are 431,000 of them. Even if we restrict it to strengths >= 10, as in
MATCH (n:Neuron{FB:true}) - [c:ConnectsTo] -> (m:Neuron{FB:true}) WHERE c.weight >= 10 return n.bodyId, c.weight, m.bodyId
there are more than 50,000 such connections.
Of course one-intermediate paths will be even more numerous. A rough guess is more than 400 million, and the system will timeout if you ask for them all. Some experimentation reveals you need to limit them to roughly strength >= 20 for both links to avoid a timeout, such as
MATCH (n:Neuron{FB:true}) - [c:ConnectsTo] -> (m:Neuron{FB:true}) - [cc:ConnectsTo] -> (p:Neuron{FB:true}) WHERE c.weight >= 20 and cc.weight >= 20 return n.bodyId, c.weight, m.bodyId, cc.weight, p.bodyId
and there are still more than 393,000 paths that meet this description. You can then repeat this process for all 2-intermediate paths, as in
MATCH (n:Neuron{FB:true}) - [c:ConnectsTo] -> (m:Neuron{FB:true}) - [cc:ConnectsTo] -> (p:Neuron{FB:true}) - [ccc:ConnectsTo] -> (q:Neuron{FB:true}) WHERE c.weight >= 40 and cc.weight >= 40 and ccc.weight > 40 return n.bodyId, c.weight, m.bodyId, cc.weight, p.bodyId, ccc.weight, q.bodyId
and now you need to demand that all strengths are >= 40 to reduce the number of paths to consider to a mere 390,000. (Without the strength limit there will be literally billions of such paths.) You can repeat this process to find 3-intermediate, 4-intermediate, and so on, but you will need successively stronger limits to avoid generating too many paths.
Other restrictions (other than strength) are possible, but you will need to limit them in some manner - otherwise there are just too many paths for practical analysis.
-Lou