Thinking in Relationships: Practical Graph Database Modelling in Java with Neo4j
Paulien van Alst - OpenValue
As a Java developer, we are used to thinking about relational databases and occasionally about document stores. But when working with domain models where relationships are first-class citizens and data is highly connected, graph databases are very valuable to consider.
In this talk, we will explore how graph databases can help you model complex domains with highly connected entities more naturally. Examples of such domain models are criminal investigations, recommendation models, family trees, or HR models.
Neo4j is a graph database that integrates well in Spring boot applications. Based on my experiences with Neo4j in multiple projects, I’ll walk you through how to model a domain as a graph and introduce you to Neo4j and its query language Cypher. Also, I’ll introduce you to some common pitfalls to avoid when adopting graph databases and what consequences those pitfalls can have. Finally, I’ll show how a re-modelling of a graph saved us from stepping away from Neo4j and helped us understand our domain and its challenges even more. You will walk away with clear knowledge on how and when to start a project with graph databases.
