cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Neo4/Cypher - Matchs Statistics

I need to quantify how many nodes and edges are traversed while running a MATCH.

For example, I am using:

MATCH cam = shortestPath ((from: Person) - [r1: personTOfilme |: movieTO Person *] -> (to: Person))
WHERE (from.pes_name = 'Fernanda Torres')
AND (to.pes_name = 'Charles Chaplin')
WITH COLLECT (NODES (cam)) AS ns, SUM (SIZE (RELATIONSHIPS (cam))) AS relCount
UNWIND ns AS nodeList
UNWIND nodeList AS node
RETURN COUNT (DISTINCT node) AS nodeCount, relCount;
````Preformatted text`

However this form does not work if I have two MATCHS or the SIZE

MATCH (p: Person) - [r1: indicated person] -> (pra1: Indicated)
WITH p, COUNT (*) AS qtd_indicacao
WHERE qtd_indicacao = 1
MATCH (p) - [r2: personindicated] -> (pra2: Indicated {pra_winner: 1)
RETURN p.pes_name AS person, f.fil_name, pra2.tpr_name AS the award, pra2.pra_ano AS anoPremio
ORDER BY person

or




> MATCH (p: Movie)
> WITH DISTINCT p,
> SIZE ((p) - [: filmeTOremio] -> ()) +
> SIZE ((p) - [: movieindicated] -> ()) AS qtd_indic,
> SIZE ((p) - [: movieIndicated] -> ({pra_winner: 1})) AS qtd_prem
> WHERE qtd_indic = qtd_prem
> RETURN p.fil_name AS name, qtd_indic, qtd_prem
> ORDER BY qtd_prem DESC;
````Preformatted text`

How can I do this?

0 REPLIES 0
Nodes 2022
Nodes
NODES 2022, Neo4j Online Education Summit

All the sessions of the conference are now available online