#neo4j #dijkstra #catalog
Вопрос:
Я создал график, используя алгоритм генератора графиков следующим образом:
CALL gds.beta.graph.generate('test', 3, 2, { relationshipDistribution : 'random',
relationshipProperty: { name:',cost', type: 'RANDOM', min : 40.0, max : 80.0 } })
YIELD
name,
nodes, relationships, generateMillis, relationshipSeed, averageDegree,
relationshipDistribution,
relationshipProperty
Здесь график с именем test создается и сохраняется в каталоге графиков. Как показано в Link_1, сгенерированный график может быть использован в качестве входных данных для любого алгоритма в библиотеке.
Теперь, чтобы использовать сгенерированный график в алгоритме Источник-цель Дейкстры, я запускаю следующий шифр:
MATCH (source:host {name: 'node_1'}), (target:host {name: 'node_2'})
CALL gds.shortestPath.dijkstra.stream('myGraph', { sourceNode: source, targetNode: target,
relationshipWeightProperty: 'cost' }) YIELD index, sourceNode, targetNode, totalCost, nodeIds,
costs, path RETURN index, gds.util.asNode(sourceNode).name AS sourceNodeName,
gds.util.asNode(targetNode).name AS targetNodeName, totalCost, [nodeId IN nodeIds |
gds.util.asNode(nodeId).name] AS nodeNames, costs, nodes(path) as path ORDER BY index
Как я могу задать имена узлов в сгенерированном графике для использования в качестве источника-цели в алгоритме Дейкстры?