Let's say I want to have a unique ID for each node, Student and Teacher, two labels. In creating the ID columns, can I use 'ID' for both Student and Teacher nodes, or I should use "Student_ID" and "Teacher_ID" for the two different types? I need to create constraints on each node by the ID.
It shouldn't be a problem to call the property
ID on both node types, since you define a constraint against a specific label:
CREATE CONSTRAINT constraint_name ON (book:Book) ASSERT book.isbn IS UNIQUE
Just make sure that when using the index that gets created with the constraint, you specify the same label, otherwise it won't work. For example if both
:Teacher nodes were also
:Person nodes, you wouldn't have access to the index when matching