Three decisions, one schema
The three modelling decisions
- Node or property? A value becomes a node when it has independent identity, participates in relationships, or you need to query on it efficiently. Otherwise it stays as a property.
- Which label(s)? Labels group nodes into sets that share queries. A node can carry multiple labels (e.g.
:Person:Employee). - Direction + type for the relationship. The direction is a modelling choice; queries can ignore it with
-[:TYPE]-, but it's always cheaper to keep it.
