Understanding Neo4j Graph Database Fundamentals

 
Introduction to Neo4j Graph Database
 
Derrick Fei Wang
 
https://db-engines.com/en/ranking/graph+dbms
 
1.
What is Graph Database
2.
Why use Graph Database
3.
Brief introduction about Neo4j and Cypher
4.
Use case: Data flow and object dependency analysis
How to Create a graph database in Neo4j
How to query Neo4j database
 
Agenda:
 
Graph
 
1. What is Graph Database
Person
Name: “Bob”
Age: 27
Person
Name: “Jane”
Age: 25
Car
Made: Ford
Year: 2017
 
Loves
 
Loves
 
Live With
 
Drives
 
Owns
Person
Person
Car
 
Nodes:
Person
Person
Car
 
Loves
 
Loves
 
Live With
 
Drives
 
Owns
 
Edges: Relationships
Person
Name: “Bob”
Age: 27
Person
Name: “Jane”
Age: 25
Car
Made: Ford
Year: 2017
 
Loves
 
Loves
 
Live With
 
Drives
 
Owns
 
Properties:
 
Summary
 
 
Graph database store data in:
    Nodes
    Edges
    Properties
    Labels
 
2. Why use graph database
 
2. Why use graph database
 
Fast
 
Human brain process and memorizes picture better than text
A picture is worth a thousand words
 
Provide new way of thinking and new solution for tasks
 
3. Neo4j and Cypher
 
See basic cypher statements in the “Sample Cypher statements.cypher” file
 
Example Use Case: Object Dependencies in a Relational Database
 
 
Challenges:
You need to use data from a unfamiliar database that has hundreds of objects
(tables, views, proc, function, etc)
A shared database used by different developers/teams
Data flow review
 
 
Solutions
    
Step 1: Query the database information schema, save object dependency
information into a csv file.
    Step 2: Import the data from csv file into Neo4j, create a graph database.
    Step 3: Use Cypher to query Neo4j graph database to view the relationship
 
Sample SQL Server Database
 
This sample database is used for extracting its metadata for object dependencies analysis
 
 
 
 
Database:  WideWorldImporter (WWI)
                    A 
sample SQL Server database provided by Microsoft
 
Download and Install:
https://blog.sqlauthority.com/2016/06/17/sql-server-2016-import-new-
sample-database-wideworldimporters/
 
 
 
Limitation:
   SQL Server sys.sql_expression_dependencies view
        Can’t capture the relationship in statements like this:
 
Solution
:
   sys.sql_modules
 
Graph Algorithm
 
    Social network analysis:
        Community Analysis
        Betweenness Centrality
        Page Rank
 
Daniel Himmelstein:
https://github.com/dhimmel/hetionet
https://neo4j.het.io/browser/
Slide Note
Embed
Share

This comprehensive presentation delves into the fundamentals of Neo4j graph database, covering topics such as the definition of graph databases, reasons for their usage, insights into Neo4j and Cypher, practical applications like data flow analysis, and hands-on instructions on creating and querying a graph database using Neo4j. Visual aids and real-world examples enhance the learning experience, highlighting the significance of nodes, edges, properties, and labels in storing data within a graph database.


Uploaded on May 11, 2024 | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Introduction to Neo4j Graph Database Derrick Fei Wang

  2. https://db-engines.com/en/ranking/graph+dbms

  3. Agenda: 1. What is Graph Database 2. Why use Graph Database 3. Brief introduction about Neo4j and Cypher 4. Use case: Data flow and object dependency analysis How to Create a graph database in Neo4j How to query Neo4j database

  4. Graph

  5. 1. What is Graph Database Loves Person Name: Jane Age: 25 Person Name: Bob Age: 27 Loves Live With Car Made: Ford Year: 2017

  6. Nodes: Person Person Car

  7. Edges: Relationships Loves Person Person Loves Live With Car

  8. Properties: Loves Person Name: Jane Age: 25 Person Name: Bob Age: 27 Loves Live With Car Made: Ford Year: 2017

  9. Summary Graph database store data in: Nodes Edges Properties Labels

  10. 2. Why use graph database

  11. 2. Why use graph database Fast

  12. Human brain process and memorizes picture better than text A picture is worth a thousand words Provide new way of thinking and new solution for tasks

  13. 3. Neo4j and Cypher See basic cypher statements in the Sample Cypher statements.cypher file

  14. Example Use Case: Object Dependencies in a Relational Database Challenges: You need to use data from a unfamiliar database that has hundreds of objects (tables, views, proc, function, etc) A shared database used by different developers/teams Data flow review Solutions Step 1: Query the database information schema, save object dependency information into a csv file. Step 2: Import the data from csv file into Neo4j, create a graph database. Step 3: Use Cypher to query Neo4j graph database to view the relationship

  15. Sample SQL Server Database This sample database is used for extracting its metadata for object dependencies analysis Database: WideWorldImporter (WWI) A sample SQL Server database provided by Microsoft Download and Install: https://blog.sqlauthority.com/2016/06/17/sql-server-2016-import-new- sample-database-wideworldimporters/

  16. Limitation: SQL Server sys.sql_expression_dependencies view Can t capture the relationship in statements like this: Solution: sys.sql_modules

  17. Graph Algorithm Social network analysis: Community Analysis Betweenness Centrality Page Rank

  18. Daniel Himmelstein: https://github.com/dhimmel/hetionet https://neo4j.het.io/browser/

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#