Чтобы избежать обхода циклов, вы можете использовать Процедуры APOC , в частности, процедуры расширения пути :
MATCH (start:Devices{name:"123.123.123.208"}), (end:Devices{name:"123.123.123.20"})
CALL apoc.path.expandConfig(start, {terminatorNodes:[end], relationshipFilter:'Cost>', minLevel:1, maxLevel:7, uniqueness:'NODE_PATH'}) YIELD path
WITH path, reduce(x=0,a in relationships(path)|x+a.Cost) as value
ORDER BY value DESC
LIMIT 1
RETURN path;
Уникальность NODE_PATH гарантирует, что узел не может использоваться более одного раза для одного пути.