Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
10-29-2018 06:44 AM
Hi All,
I'm trying to optimize my query but after some changes it still takes about 4 seconds to run.
CYPHER 3.4, planner: COST, runtime: SLOTTED. 3906086 total db hits in 3992 ms.
Data: 964291 interactions
PROFILE
MATCH (startleaf:Hour{Hash: "4581620/2018/01/01/00"})
, (endleaf:Hour{Hash: "4581620/2018/10/24/00"})
, p = shortestPath((startleaf)-[:NEXT*0..]->(endleaf))
UNWIND nodes(p) AS leaf
MATCH (year)-[:CHILD]->(month)-[:CHILD]->(day)-[:CHILD]->(leaf)<-[:INTERACTED_ON]-(interaction)
OPTIONAL MATCH (interaction)<-[pInt:INTERACTED]-(person)
WITH
year, month, day
count(interaction) AS interactions,
sum(interaction.Value) AS value,
( count(DISTINCT person) + ( count(interaction) - count(pInt) ) ) AS persons
RETURN year, month, day interactions, value, persons
Finding the leafs just takes 60ms with 7db hits.
Any suggestions in how to optimise this?
All the sessions of the conference are now available online