count()
è una funzione di aggregazione . Quando si utilizza una funzione di aggregazione, le righe dei risultati verranno raggruppate in base a qualsiasi elemento incluso nella clausola RETURN e non una funzione di aggregazione. In questo caso, le righe dei risultati saranno raggruppate per p
e il valore restituito sarà conteggiato (nodi (p)).
nodes(p)
rendimenti una matrice di nodi, in modo count(nodes(p))
restituirà il conteggio degli array e sarà sempre uguale 1
.
Per restituire la quantità di nodi nel percorso è necessario utilizzare size(nodes(p))
.
Se siete solo interessati alla lunghezza di un percorso e non particolarmente nei nodi che sono inclusi in esso, vorrei vi incoraggio a usare length(p)
. Ciò restituirà la lunghezza in rel per un dato percorso, senza dover manipolare/accedere ai nodi.
"length in rels" è una qualifica importante: mi faceva inciampare costantemente che la lunghezza è lunga in rel, non è * il numero di nodi nel percorso, che è sempre uno di più. – FrobberOfBits
Questo ha senso, grazie per chiarire questo. – wiktus239
Si dice che "le righe dei risultati saranno raggruppate in base a qualunque cosa è incluso nella clausola RETURN", ma poi si dirà "In questo caso, le righe dei risultati saranno raggruppate per p". Ti contraddici – TheLogicGuy