Skip to content

Modeling designs page review #451

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: dev
Choose a base branch
from

Conversation

lidiazuin
Copy link
Contributor

No description provided.

@lidiazuin lidiazuin marked this pull request as ready for review April 7, 2025 13:25
Copy link
Contributor

@AlexicaWright AlexicaWright left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of comments, but one overall thing is the structure. It is common practice to start with the smallest building blocks and then build up, meaning that I would start with presenting the different structures and then put them together, rather than starting with a graph consisting of multiple structures.
This is important content, thank you for curating it @lidiazuin °

However, Neo4j allows you to effortlessly adjust detailed and broad changes across pieces or the entirety of the graph.
Whether it is small changes over time or a broad definition that includes a variety of needed information about your entities, the database is able to handle it.
It is simply up to the developers and architects to determine the structure of the data model and how to define entities for queries.
The example shows how different structures can be combined into one graph, and how different types of questions can be answered by one single graph if you use the correct design, depending on the question.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds a bit awkward, different types of questions can be answered by a single graph if you use the correct design, depending on the question.

One of the earliest decisions you may encounter is whether to model something as a property on a node or as a relationship to a separate node.
Take, for example, the data below modeling a movie genre as a property on the `Movie` node.
A monopartite graph structure consists of a single set of nodes with a single label.
Most algorithms rely on this type of graph and they are very common when using spanning trees, link:{docs-home}/cypher-manual/current/patterns/shortest-paths/[shortest paths], and link:{docs-home}/graph-data-science/current/algorithms/community/[community detection].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shortest path can be run on any type of graph, including bipartite and multipartite ones. Maybe use another example, like PageRank or Eigenvector?

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
@neo4j-docops-agent
Copy link
Collaborator

This PR includes documentation updates
View the updated docs at https://neo4j-docs-getting-started-451.surge.sh

Updated pages:

@lidiazuin lidiazuin requested a review from AlexicaWright April 8, 2025 12:06
This is an improvement, but the model is still not optimal and should be iterated on.
When changes are done to your model, it is important to keep track of them by versioning your model.

// Content on versioning is WIP.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please refer to #465

@lidiazuin lidiazuin requested a review from nmervaillie April 8, 2025 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants