core java excersise
Core Java Coding exercise:

Given a CSV of this format:
id,name,relation,related_id,dob
1,Peter,,,19/08/1965
2,Roger,father,4,19/04/1945
3,Ann,wife,2,19/05/1946
4,Albert,son,2,19/03/1994
5,Sam,uncle,1,19/08/1940
6,Satheesh,husband,7,19/08/1981
7,Nisha,,,16/07/1983
8,Dinesh,,,15/04/1935
9,Angie,niece,8,11/11/1956

Explained:
2,Roger,father,4,19/04/1945
4,Albert,son,2,19/03/1994

Roger has id: 2 and is the father of 4
Albert has id 4 and is the son of 2

Relations are not bi directional.

1. Parse the CSV into a POJO model.
2. Implement queries in core java to find the following:
   * Select on name. Given a name, the system should output all people who have that name. Implement the wild card % too (only at the end)
   * Implement the query, "select people where relation = '<filter>'"
   * Implement the query, "select people where relation = null"
   * Correct the CSV to make the relation bidirectional if and only if (iff) one side of the relation is not related.
   * Implement the query "select * from ppl order by dob desc"
   
The CSV will be updated every 30 mins, add a thread to read the new contents from the CSV every 15 mins. 

This operation should be thread safe and no queries should run when the update operation is underway.
   
core java excersise
===

Core Java Coding exercise:

Given a CSV of this format:
id,name,relation,related_id,dob
1,Peter,,,19/08/1965
2,Roger,father,4,19/04/1945
3,Ann,wife,2,19/05/1946
4,Albert,son,2,19/03/1994
5,Sam,uncle,1,19/08/1940
6,Satheesh,husband,7,19/08/1981
7,Nisha,,,16/07/1983
8,Dinesh,,,15/04/1935
9,Angie,niece,8,11/11/1956

Explained:
2,Roger,father,4,19/04/1945
4,Albert,son,2,19/03/1994

Roger has id: 2 and is the father of 4
Albert has id 4 and is the son of 2

Relations are not bi directional.

1. Parse the CSV into a POJO model.
2. Implement queries in core java to find the following:
   * Select on name. Given a name, the system should output all people who have that name. Implement the wild card % too (only at the end)
   * Implement the query, "select people where relation = '<filter>'"
   * Implement the query, "select people where relation = null"
   * Correct the CSV to make the relation bidirectional if and only if (iff) one side of the relation is not related.
   * Implement the query "select * from ppl order by dob desc"
   
The CSV will be updated every 30 mins, add a thread to read the new contents from the CSV every 15 mins. 

This operation should be thread safe and no queries should run when the update operation is underway.
   