образец графика
У меня есть график, похожий на тот, что здесь. Я хочу найти расстояние между всеми путями (конечная цель - найти стоимость каждого возможного l oop), каждый путь имеет метку со свойством, значение которого может быть отрицательным или положительным. Я пробовал следующий код:
CALL gds.alpha.allShortestPaths.stream({
nodeProjection: 'Loc',
relationshipProjection: {
ROAD: {
type: 'ROAD',
properties: 'cost'
}
},
relationshipWeightProperty: 'cost'
})
YIELD sourceNodeId, targetNodeId, distance
WITH sourceNodeId, targetNodeId, distance
WHERE gds.util.isFinite(distance) = true
MATCH (source:Loc) WHERE id(source) = sourceNodeId
MATCH (target:Loc) WHERE id(target) = targetNodeId
WITH source, target, distance WHERE source <> target
RETURN source.name AS source, target.name AS target, distance
ORDER BY distance DESC, source ASC, target ASC
LIMIT 10
Но пока все узлы остаются подключенными, запрос будет бесконечным. Когда я отключаю некоторые узлы, это работает. Что-то мне не хватает? Я не могу использовать много алгоритмов, потому что они не поддерживают отрицательные веса !!