Graph Model


I need to have 2 types of Nodes Person and Movie. Person node can have 2 types of Label

  1. :Person:Actor {actor_name:,actor_age:,actor_gender:,earned:,Action:}
    2):Person:Director{director_name:,director_age:,director_gender:, famous_for:}

Data is coming from a CSV files. Both :Person:Actor and :Person:Director has different set of properties.

I coded like below:
LOAD CSV with headers FROM 'file:///Movie.csv' AS CT
Create (pa:Person:Actor
{Actor_Name : CT.Actor_Name,
Actor_Age : CT.Actor_Age,
Actor_Gender: CT.Actor_Gender,
Action : CT.Action})

Create (pd:Person:Director
{Director_Name : CT.Director_Name,
Director_Age : CT.Director_Age,
Director_Gender: CT.Director_Gender,

Create (movie:Movie
{Name: CT.Movie_Name,
Create (pa:Person:Actor) -[ww:WORKED_WITH ]-> (pd:Person:Director)
Create (pd:Person:Director) -[d:DIRECTED ]-> (movie:MOVIE)
Create (pa:Person:Actor) -[ain:ACTED_IN ]-> (movie:MOVIE)

However my colleague said in this code I am creating 2 different Node types :Person:Actor, :Person:Director and :Movie and model requires only 2 :Person and :Movie

Also help me to get meaningful understanding of difference among
Node, Node Type and Label
Please help how to achieve this.