Hi All,

I'm new to Cypher queries and I'm looking for a query which would return all the paths connecting given multiple nodes. I found below algorithm in one of the old code and trying to understand what it's doing. Is there a page which explain how would these algorithms work? I looked around and found nothing to give more info about what are the parameters or fields would do in the below algorithm.

**Example:** **Given Nodes:** A, B, C, D **Possible Paths:** A->B->C->D, A->F->B->C->E->D

**Old Algo I found**

```
WITH DISTINCT z, a CALL algo.kShortestPaths.stream(a, z, 5, 'mileage',
{
nodeQuery:'MATCH (n:EquipmentNode) RETURN id(n) AS id ',
relationshipQuery:'MATCH p = (n:EquipmentNode)-[r:CONNECTED_TO]-(m:EquipmentNode)
WHERE ALL ( Q IN relationships(p)
WHERE Q.totalChannels > 0 AND (Q.totalChannelsUsed < Q.totalChannels) )
RETURN id(n) AS source, id(m) AS target, r.mileage AS weight, r.trailName AS linkName, r.networkId AS linkNetworkId ',
maxDepth:75,
direction:'BOTH',
defaultValue:0.0,
write: false ,
graph:'cypher',
path: true
}
) YIELD path, index, nodeIds, costs
```