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