Skip to content

Conversation

@lidiazuin
Copy link
Contributor

No description provided.

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.

Nice and concise! I left some comments :)

The data stays remarkably similar to its form in the real world - small, normalized, yet richly connected entities.
This allows you to query and view your data from any imaginable point of interest, supporting many different use cases.
By assembling nodes and relationships into connected structures, graph databases enable building models that map closely to a problem domain.
Each node contains relationships to other nodes, and these relationship are organized by type and direction, holding or not additional attributes.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure I understand this sentence? Nodes don't contain the actual relationships to other nodes and both nodes and relationships can have properties, if that's what "attributes" here refers to.

Each node (entity or attribute) in the graph database model directly and physically contains a list of relationship records that represent the relationships to other nodes.
These relationship records are organized by type and direction and may hold additional attributes.
Whenever you run the equivalent of a _JOIN_ operation, the graph database uses this list, directly accessing the connected nodes and eliminating the need for expensive search-and-match computations.
Whenever you run xref:cypher-intro/cypher-sql.adoc[the equivalent of a `JOIN` operation], the graph database uses these relationships, directly accessing the connected nodes and eliminating the need for expensive search-and-match computations.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure if this simplification is technically accurate, or whether it actually matters? To be safe, I'd just use the original.


As you can probably imagine from the structural differences discussed above, the data models for relational versus graph are very different.
The straightforward graph structure results in much simpler and more expressive data models than those produced using traditional relational or other NoSQL databases.
If you are familiar with the relational data model that has tables, columns, relationship cardinalities, and other components, graph data modeling will not seem entirely foreign.
Copy link
Contributor

Choose a reason for hiding this comment

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

But the models are very different?

In Cypher, the syntax remains concise and focused on domain components and their connections, thus expressing the pattern to find or create data more visually and clearly.

Other clauses outside of the basic pattern matching still look very similar to SQL, as Cypher was built on the predecessor language’s foundation.
You can see the similarities and differences in
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a missing link here?


Other clauses outside of the basic pattern matching still look very similar to SQL, as Cypher was built on the predecessor language’s foundation.
You can see the similarities and differences in
If you want to learn how to move your data from a relational database to a graph, see
Copy link
Contributor

Choose a reason for hiding this comment

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

And here?

lidiazuin and others added 2 commits September 26, 2025 11:27
Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
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.

Some more suggestions!

These relationship records are organized by type and direction and may hold additional attributes.
Whenever you run the equivalent of a _JOIN_ operation, the graph database uses this list, directly accessing the connected nodes and eliminating the need for expensive search-and-match computations.
By assembling nodes and relationships into connected structures, graph databases enable building models that map closely to a problem domain.
Whenever you run xref:cypher-intro/cypher-sql.adoc[the equivalent of a `JOIN` operation], the graph database uses this list, directly accessing the connected nodes and eliminating the need for expensive search-and-match computations.
Copy link
Contributor

Choose a reason for hiding this comment

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

But now the list doesn't refer to anything, since it hasn't been defined.


As you can probably imagine from the structural differences discussed above, the data models for relational versus graph are very different.
The straightforward graph structure results in much simpler and more expressive data models than those produced using traditional relational or other NoSQL databases.
Despite similarities, the design of a xref:data-modeling/index.adoc[graph data model] still needs to be based upon requirements for access, queries, performance expectation, and business logic.
Copy link
Contributor

Choose a reason for hiding this comment

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

But no similarities have been mentioned?

Copy link
Contributor

Choose a reason for hiding this comment

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

How about something like:
The data models for relational databases and graph databases are vastly different, as a result of the structural differences described earlier/previously/above.
The graph model needs to consider access requirements, expected queries and performance, as well as business logic.

Copy link
Contributor

Choose a reason for hiding this comment

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

This still applies, no similarities are mentioned, only differences.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah sorry, I forgot to update this one

By assembling nodes and relationships into connected structures, graph databases enable building models that map closely to a problem domain.
Whenever you run xref:cypher-intro/cypher-sql.adoc[the equivalent of a `JOIN` operation], the graph database uses this list, directly accessing the connected nodes and eliminating the need for expensive search-and-match computations.

This ability to pre-materialize relationships into the database structure allows Neo4j to provide performance of several orders of magnitude above others, especially for join-heavy queries, allowing users to leverage a _minutes to milliseconds_ advantage.
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, the youtube video is NINE years old, maybe there is something slightly more updated we could use?

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
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.

Left some more comments, I know you love them ;)


In the above relational example, we search the Person table on the left (potentially millions of rows) to find the user Alice and her person ID of 815. Then, we search the Person-Department table (orange middle table) to locate all the rows that reference Alice's person ID (815). Once we retrieve the 3 relevant rows, we go to the Department table on the right to search for the actual values of the department IDs (111, 119, 181).
Now we know that Alice is part of the 4Future, P0815, and A42 departments.
. Search the `Employees` table (potentially with millions of rows) to find the user Alice and her ID of 815.
Copy link
Contributor

Choose a reason for hiding this comment

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

Millions of rows? What company has millions of employees?

lidiazuin and others added 2 commits September 30, 2025 13:10
Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
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.

Looks good! One broken link and one comment to address.


As you can probably imagine from the structural differences discussed above, the data models for relational versus graph are very different.
The straightforward graph structure results in much simpler and more expressive data models than those produced using traditional relational or other NoSQL databases.
Despite similarities, the design of a xref:data-modeling/index.adoc[graph data model] still needs to be based upon requirements for access, queries, performance expectation, and business logic.
Copy link
Contributor

Choose a reason for hiding this comment

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

This still applies, no similarities are mentioned, only differences.

In Cypher, the syntax remains concise and focused on domain components and their connections, thus expressing the pattern to find or create data more visually and clearly.

Other clauses outside of the basic pattern matching still look very similar to SQL, as Cypher was built on the predecessor language’s foundation.
You can see the similarities and differences in ref:/cypher-intro/cypher-sql.adoc[Comparing Cypher with SQL].
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
You can see the similarities and differences in ref:/cypher-intro/cypher-sql.adoc[Comparing Cypher with SQL].
You can see the similarities and differences in xref:/cypher-intro/cypher-sql.adoc[Comparing Cypher with SQL].

@neo4j-docops-agent
Copy link
Collaborator

neo4j-docops-agent commented Oct 7, 2025

Thanks for the documentation updates.

The preview documentation has now been torn down - reopening this PR will republish it.

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.

Looks great! Thanks @lidiazuin 👍

@lidiazuin lidiazuin merged commit d2d468d into neo4j:dev Oct 7, 2025
5 checks passed
@lidiazuin lidiazuin deleted the transition-rel2graph branch October 7, 2025 12:54
lidiazuin added a commit to lidiazuin/docs-getting-started that referenced this pull request Oct 7, 2025
* Review of the page Comparing relational to graph database

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* Fixes after review

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* fixes after review

* updated package log

* updated package-lock

* fixes after review

---------

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
lidiazuin added a commit that referenced this pull request Oct 8, 2025
* Review of the page Comparing relational to graph database (#497)

* Review of the page Comparing relational to graph database

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* Fixes after review

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* fixes after review

* updated package log

* updated package-lock

* fixes after review

---------

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>

* fixing issues

---------

Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants