GraphDB
-
Upload
oemer-taskin -
Category
Education
-
view
104 -
download
0
Transcript of GraphDB
![Page 1: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/1.jpg)
Internet Programming IIYildiz Technical University 2015
Graph Databases
{
"name” : "Omer Taskin",
"company” : "eBay Inc.",
"title” : "Software Engineer"
}
![Page 2: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/2.jpg)
OUTLINE
• NoSQL
• Graph
• Graph Algorithms
• Graph DBs
• Neo4j
![Page 3: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/3.jpg)
Data is
everything!
in the
![Page 4: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/4.jpg)
Data is getting bigger day by day
![Page 5: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/5.jpg)
Database
is a thing where data is kept and managed!
![Page 6: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/6.jpg)
Database
is a thing where data is kept and managed!
files are databases too
![Page 7: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/7.jpg)
Relational Database(s)RDBMS
supports JOIN(s) between tables
invented @IBM in 1970
![Page 8: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/8.jpg)
SQL is
Structured Query Language
is a standard language for accessing databases
•SQL became a standard;–American National Standards Institute (ANSI) in 1986– International Organization for Standardization (ISO) in 1987
![Page 9: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/9.jpg)
![Page 10: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/10.jpg)
Relational Database(s)RDBMS
Every table has to be in a schema
Data has to be stored into table(s)
![Page 11: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/11.jpg)
NoSQL
• means Not Only SQL
• Started to use in 2009 @ last.fm
• A Database Management System
• Non-relational!
• No Joins!
• Mostly non-transactional
![Page 12: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/12.jpg)
![Page 13: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/13.jpg)
Graph TheoryHistory
Seven bridges of Königsberg (Germany)
Found @in 1736
![Page 14: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/14.jpg)
Graph TheoryNode Edge And Property
Graphs usually are not small like that
![Page 15: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/15.jpg)
![Page 16: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/16.jpg)
Graph TheoryGraphDB vs RDBMS
fetching by Join
Graph database
![Page 17: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/17.jpg)
Graph AlgorithmsShortest Path
![Page 18: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/18.jpg)
![Page 19: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/19.jpg)
Graph AlgorithmsGraph Traversal
![Page 20: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/20.jpg)
![Page 21: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/21.jpg)
Network
Recommendations
Social
Security
Graph DatabasesUse Cases
![Page 22: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/22.jpg)
Network and IT Operations Management
The interconnected physical, virtual, and application layers of a network are perfectly modeled in a comprehensive graph.
Queries:
Quality-of-Service Mapping,
Impact Analysis,
Root Cause Analysis,
Asset Management
Graph DatabasesUse Cases
![Page 23: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/23.jpg)
Social
Family, friends and followers extend into a social graph which reveals patterns of similar behavior, influence, and implicit groups.
Queries:
Friend Recommendations,
Sharing & Collaboration,
Influencer Analysis
Graph DatabasesUse Cases
![Page 24: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/24.jpg)
Recommendations
Connect the dots of seemingly unrelated interests and relationships to make recommendations that balance fresh with familiar.
Queries :
Professional Recommendations
Product,
Social,
Service
Graph DatabasesUse Cases
![Page 25: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/25.jpg)
Identity and Access Management
Who you are, how you belong, and what you’re permitted depends upon the relationships between you, an organization, and a system.
Queries :
Interconnected Group Organization,
Access Management,
Provenance
Graph DatabasesUse Cases
![Page 26: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/26.jpg)
Graph Databases
Most popular graph database
Open source
Implemented in Java
Neo4j
![Page 27: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/27.jpg)
Neo4j
Cypher is query language of Neo4j
Cypher
![Page 28: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/28.jpg)
Neo4j
Finding nodes
MATCH (node : Person) RETURN node
Creating node
CREATE (person : Person {name = “Omer”})
Cypher
![Page 29: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/29.jpg)
Neo4j
Creating relation for existing node
MATCH (me : Person {name = “Omer”})
CREATE (me)-[:FRIEND]->(friend : Person {name = “Seda”})
Cypher
![Page 30: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/30.jpg)
Neo4j
Fetching friends of me
MATCH (me : Person {name = “Omer”})-[:FRIEND]->(friend : Person)
RETURN me, friend;
Cypher
![Page 31: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/31.jpg)
Neo4j
Fetching friends of friends of fiends of me
MATCH (me : Person {name = “Omer”})-[f1:FRIEND] -[f2:FRIEND] -[f3:FRIEND]->(f4: Person)
RETURN me, f1, f2, f3, f4;
Cypher
![Page 32: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/32.jpg)
![Page 33: GraphDB](https://reader035.fdocuments.net/reader035/viewer/2022062320/55c35547bb61eb964e8b4812/html5/thumbnails/33.jpg)