As a newbie I've been scanning the neo4j manuals and videos, but still can't understand some of the basic semantics of neo4j's graph model.
For instance, why are Nodes able to have multiple Labels, but not a Type; while Relationships have a single type (not multiple) but not a Label. I appreciate that both Nodes and Relationships have Attributes, and that consistency seems useful; but just not sure why the differences in terms of Node having Labels and Relationship having Types.
I also wonder whether Nodes or Relationships could themselves be used as Types or Labels, and whether they could be considered as values for Attributes. Which might seem a bit hypergraphy, but seems to me could help to support more flexibility in modelling.
Maybe there are some fundamental graph-theory reasons for these choices, or maybe they're just implementation decisions. I'd appreciate any pointers or explanations which would help me understand.