Algorithmen-Ausprägungen
MATCH (n1:Node {l: '101'}), (n2:Node {l: '107'})
CALL gds.shortestPath.dijkstra.stream('g', {
sourceNode: n1,
targetNode: n2
})
YIELD index, sourceNode, targetNode,
totalCost, nodeIds, costs, path
WITH [nodeId IN nodeIds |
gds.util.asNode(nodeId).nid] AS p
UNWIND p AS nid
RETURN nid;
| nid |
|---|
| 101 |
| 102 |
| 108 |
| 109 |
| 106 |
| 107 |
MATCH (n1:Node {l: '101'}), (n2:Node {l: '107'})
CALL gds.shortestPath.dijkstra.stream('g', {
sourceNode: n1,
targetNode: n2,
relationshipWeightProperty: 'w'
})
YIELD index, sourceNode, targetNode,
totalCost, nodeIds, costs, path
WITH [nodeId IN nodeIds |
gds.util.asNode(nodeId).nid] AS p
UNWIND p AS nid
RETURN nid;
| nid |
|---|
| 101 |
| 102 |
| 110 |
| 111 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
EdgeEdge1 werden angelegt (schreibt in den Graphen)MATCH (n:Node {nid: 201})
CALL gds.alpha.spanningTree.minimum.write('g', {
startNodeId: id(n),
relationshipWeightProperty: 'w',
writeProperty: 'Edge1',
weightWriteProperty: 'w'
})
YIELD effectiveNodeCount
RETURN effectiveNodeCount;
Graph mit Edge1 wird ausgelesen und angezeigt.
Closeness Centrality (Doku)
u – Knotenn – Anzahl Knotend(u,v) – Distanz des kürzesten Pfades zwischen u und vBetweenness Centrality (Doku)
u – Knotenp – Anzahl der kürzesten Pfade zwischen s und tp(u) – Anzahl der kürzesten Pfade zwischen s und t, die u enthalten
CALL gds.alpha.closeness.stream('g')
YIELD nodeId, centrality
RETURN gds.util.asNode(nodeId).nid AS nid,
centrality AS cc
ORDER BY cc DESC;
CALL gds.betweenness.stream('g')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).nid AS nid,
score AS bc
ORDER BY score DESC;
CALL gds.pageRank.stream('g')
YIELD nodeId, score
RETURN gds.util.asNode(nodeId).nid AS nid,
score
ORDER BY score DESC;
CALL gds.alpha.scc.stream('g')
YIELD nodeId, componentId
RETURN gds.util.asNode(nodeId).nid AS nid,
componentId AS cid
ORDER BY cid;