Hi Stefan,

These are good points, and I don't think we have yet reached a mature level of 
best practice as the relational folks have.  But I don't think graph modelling 
is too hard. I have a couple of rules of thumb:

1. Model entities as entities and use relationships to describe how those 
entities are related, don't be tempted to do anything more than basic facts - 
the aggregate of all those basic facts is sophisticated knowledge.

2. If you find your relationships have names like SENT_EMAIL_TO then you're 
missing an entity (in this case an email entity, naturally). So instead of

Alice --SENT_EMAIL_TO-->Bob
Alice--CC_EMAIL_TO-->Charles

Use

Alice-->SENT-->A specific email node
Bob<--TO--A specific email node
Charles<--CC--A specific email node

That is, always look for places where you've hidden useful entities within 
relationships.

FWIW Ian Robinson and I are doing the rounds doing a Neo4j tutorial that covers 
some of this kind of design material. Hop on one of those courses if you can. 
Otherwise the tutorial material is freely available here: 
https://github.com/jimwebber/neo4j-tutorial

Jim
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to