What is graph data modeling?
Data modeling is a practice that defines the logic of queries and the structure of the data in storage. A well-designed model is the key to leveraging the strengths of a graph database as it improves query performance, supports flexible queries, and optimizes storage.
In summary, the process of creating a data model includes the following:
-
Understand the domain and define specific use cases (questions) for the application.
-
Develop an initial graph data model by extracting entities and decide how they relate to each other.
-
Test the use cases against the initial data model.
-
Create the graph with test data using Cypher®.
-
Test the use cases, including performance against the graph.
-
Refactor the graph data model due to changes in the key use cases or for performance reasons.
For a full tutorial, refer to Create a data model.
Keep learning
For a more hands-on approach to data modeling, try the following resources:
-
GraphAcademy: Data Modeling Fundamentals: enroll to an interactive course.
-
From relational to graph: learn how to adapt data from a relational to a graph data model.
-
Data modeling tools: see a list of tools you can use to create your data model.
-
Data modeling tips: check tips on how to improve your data modeling skills.
-
Modeling designs: see examples of data modeling designs that can be used as strategy for your project.
-
Neo4j GraphGists: find examples of graph data modeling shared by the Neo4j community.