# Calculate overlap time in two type node

Hi, I am trying to add an overlap relationship to my nodes.
Each node has its own waferID, fromtime, totime,WORK.
And in each WORK, there are small nodes to record the detail time of the job.

I want to search for work nodes that overlap each other.
Then find which detail node has overlap relation.

EX:
WORK node A1 is overlap WORK node B1.
And I want to find those detail nodes in A1 that have overlap with B1.

This my data sample.

Work Node :

WAFERID fromtime totime WORK
A1 10:00 10:05 process A
B1 10:02 10:06 process B

Detail Node :

WAFERID fromtime totime WORK STEP
A1 10:00 10:01 process A 1
A1 10:01 10:03 process A 2
A1 10:03 10:05 process A 3
B1 10:02 10:04 process B 1
B1 10:04 10:05 process B 2
B1 10:05 10:05 process B 3

I am thinking about that do I need to add an overlap relationship from WORK node to detail node?
Or maybe have some queries that I can find it without adding overlap relation to detail node?
Like using diff time?

Thanks!

Hi,
I used below dataset
name,from,to
A,10:00,10:05
B,10:00,10:08
C,10:05,10:08
D,11:00,11:05

Ingestion Query
load csv with headers from 'file:///Overlap.csv' as line Create (n:Wafer{name:line.name,from:localtime({hour:toInteger(split(line.from,':')[0]), minute:toInteger(split(line.from,':')[1])}),to:localtime({hour:toInteger(split(line.to,':')[0]), minute:toInteger(split(line.to,':')[1])})}) return n

Match Query
match(n:Wafer) match(m:Wafer) Where n.to>=m.from>=n.from and n.name<>m.name return distinct n.name,m.name

Output
|n.name|m.name|
|n.name|m.name|
|"A"|"B"|
|"A"|"C"|
|"B"|"A"|
|"B"|"C"|

Only problem I see that I am getting duplicate records too for an example AB and BA

Thank for your reply.
It work!

What if I want to give relationships based on the same WAFERID and FROMTIME order of their occurrence?

E.g..
node:

WAFERID fromtime totime WORK STEP
A1 10:00 10:01 process A 1
A1 10:01 10:03 process A 2
A1 10:03 10:05 process A 3

I want to set the relation like.
Relation:

WAFERID fromtime totime WORK STEP next_fromtime next_step
A1 10:00 10:01 process A 1 10:01 2
A1 10:01 10:03 process A 2 10:03 3

Thank again for your reply!