The Domain

Understanding the domain for your application

Before you begin the data modeling process you must:

  • Identify the stakeholders and developers of the application.

  • With the stakeholders and developers:

    • Describe the application in detail.

    • Identify the users of the application (people, systems).

    • Agree upon the use cases for the application.

    • Rank the importance of the use cases.

Movie domain

In the course, Neo4j Fundamentals, you were introduced to a "starter" movie graph.

The domain includes movies, people who acted or directed movies, and users who rated movies. What makes this domain interesting are the connections or relationships between nodes in the graph.

Use cases

Most use cases for an application can be enumerated by a comprehensive list of questions. The use cases help to define how the application will behave at runtime.

Here are the use cases you will be working with to develop the initial graph data model:

  1. What people acted in a movie?

  2. What person directed a movie?

  3. What movies did a person act in?

  4. How many users rated a movie?

  5. Who was the youngest person to act in a movie?

  6. What role did a person play in a movie?

  7. What is the highest rated movie in a particular year according to imDB?

  8. What drama movies did an actor act in?

  9. What users gave a movie a rating of 5?

In our domain, we want to differentiate a person who acted in or directed a movie and a user or reviewer who rated a movie. We have much more information about people such as their birth date, their tmdbId etc. Users who rated movies will just be named or identified.

Check your understanding

1. Understanding the domain

What are some ways that stakeholders prepare for modeling?

  • ❏ Develop the set of API calls that will be used by the application.

  • ✓ Describe the domain in detail.

  • ✓ Identify the systems and users of the application.

  • ✓ Enumerate the use cases of the application.

Hint

These 3 steps are key to modeling and must be agreed upon by the stakeholders.

Solution

Stakeholders can prepare for graph data modeling by doing the following:

Describe the domain in detail.
Identify the systems and users of the application.
Enumerate the use cases of the application.

Summary

In this lesson, you learned that a good starting point for your data modeling is to come up with the use cases for the application. In the next lesson, you will learn about data models and instance models.