8. since : 2007
Name : Steve
Surname : Murphy
Name : RomeName : John
Surname : Reese
Property Graph
Person
City
Person
Lives
Knows
Lives
9. Why Graph and Why Now?
● Everything is Connected
● Relationships are important
● Natural way of modeling data
KV Column Document Relational Graph
Data and Relationship Complexity
11. Graph Use Cases
● Recommendation Engine
● Fraud Detection
● Social Network
● Network Analysis
● GeoSpatial Analysis
● Master Data Management
● Internet of Things
● …..
14. Meetup Data Model
- Meetup
- User
- Tag
- Event
- Users join meetups
- Users participate to single events
- Meetups have tags
- Meetups have an organizer
17. A Graph Database creates the
relationship just once
(when the edge is created)
VS
RDBMS computes the
relationship every time
you query a database
18. With a RDBMS
traversing a relationship require JOINS
that are computed at query time
With a Graph Database, the
traversing time is
not affected by database size!
23. MATCH (u:User)-[r:JOINED]->(m:Meetup)
WHERE u.name = “Marco”
RETURN u, r, m;
Cypher Query
Applica delle
condizioni alle
variabili
dichiarate sopra
Con return si
descrive cosa
mettere su
ogni riga dei
risultati
PATTERN MATCHING:
Descrivi uno o piu percorsi del
grafo in ASCII art.
Tutti i percorsi che rispettano il
criterio di forma (e non solo…)
verranno presi da Neo4J a questo
punto
45. What other metric can we use to recommend to
tommaso a new meetup?
tommaso
46. What other metric can we use to recommend to
tommaso a new meetup?
tommaso
47. Let’s go deeper:
● let’s look at the people he met at events
● and based on that see at what events these
people are going
● then see what meetups these events belong to
● And weight everything