neo4j - 5 cool graph examples
DESCRIPTION
TRANSCRIPT
![Page 2: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/2.jpg)
Any sufficiently advanced technology is indistinguishable from magic.
Arthur C. Clarke
@kymerawand
![Page 3: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/3.jpg)
First, a recap: NOSQL data models
Column Family
Key-value stores
Document databases
Graph databases
Data complexity
Dat
a si
ze
We are here
![Page 4: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/4.jpg)
What makes a good DB?
Separate Logic and DataSupport Ad-Hoc queriesBe persistentScale good enough
![Page 5: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/5.jpg)
The property graph modelCore abstractions:
NodesRelationships between nodesProperties on both
Traversal frameworkHigh performancequeries on connecteddata sets
Other bindingsLangs, REST, Gremlin, RDF
name = “Emil”age = 29sex = “yes”
type = KNOWStime = 4 years
type = carvendor = “SAAB”model = “95 Aero”
11 22
33
![Page 6: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/6.jpg)
Social data (customer: brand-name social network)
name = “Mike”age = 29
11
disclosure = public
name = “Charlie”last_name = “Runkle”
name = “Dani”last_name = “California”age = 27
331313
KNOWS KNOWS
name = “Hank”last_name = “Moody”age = 42
age = 3 days
name = “Karen”
77
22
KNOWS
KNOWSKN
OW
S
name = “Marcy Runkle”
4242
KNOWS
![Page 7: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/7.jpg)
Just a social graph?
![Page 8: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/8.jpg)
Spatial data (customer: large telecom company)
name = “Omni Hotel”lat = 3492848long = 283823423
11
length = 7 miles
name = ...lat, long = ...
name = “Swedland”lat = 23410349long = 2342348852
331313
ROAD ROOOAD
name = “The Tavern”lat = 1295238237long = 234823492
length = 3 miles
name = ...
77
22
ROAD
ROADR
OAD
name = ...
4242
ROAD
![Page 9: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/9.jpg)
Social? Spatial? … Social AND spatial!
![Page 10: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/10.jpg)
Social AND spatial data (customer: LBS)
name = “Omni Hotel”lat = 3492848long = 283823423
11
weight = 10
name = “Emil”beer_qual = expert
name = “Maria”age = 30beer_qual = non-existant
331313
LIKES SIBLING
name = “The Tavern”lat = 1295238237long = 234823492
length = 3 miles
name = ...
77
22
ROAD
ROADR
OAD
name = “Peter”
4242
KNOWS
![Page 11: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/11.jpg)
Financial data (customer: international bank)
name = “Mr Godfather”karma = veeeery-lowcash = more-than-you
11
amount = $1000
name = “Emil”cash = always-too-li'l
title = “ATM @ Wall St”id = 230918484233cash_left = 384204
331313
TRANSFER WITHDRAW
name = “The Tavern”lat = 1295238237long = 234823492
amount = $1000
name = ...
77
22
OWNS
DEPOSITTR
ANSF
ER
name = ...
4242
WITHDRAW
![Page 12: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/12.jpg)
REST in Neo4jThe graph as an OODB – Roo, Grails Jruby, Jo4neoDeep graph algos – Routing with A*Multiple indexes in the graph – GISRecommendation systems – Gremlin and LinkedData
Use Cases
![Page 13: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/13.jpg)
REST in Neo4j
Build on self describing JSONIndexingQueryingBindings to PHP, C#, JSOpenGraph APIJruby, Scala
![Page 14: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/14.jpg)
The Graph for objectsKeep data clean!Annotation based
GrailsJo4neoRooJPA
Mixin basedDjangoJRuby
C# (REST)PHP (REST)
![Page 15: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/15.jpg)
The Graph as an OODB
![Page 16: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/16.jpg)
Routing with Neo4j and A*
![Page 17: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/17.jpg)
Routing with Neo4j and A*
![Page 18: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/18.jpg)
Multiple indexes - GISQuadTree (2D)HierarchyTime (1D)On-demand index
![Page 19: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/19.jpg)
Multiple indexes - GIS
![Page 20: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/20.jpg)
Multiple indexes - GIS
![Page 21: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/21.jpg)
Recommendation - Gremlingremlin.tinkerpop.comXPath based “Perl for Graphs”Property Graph Model
Neo4j, RDF-SAIL, Tinkergraph, MongoDB, FSLinkedData SAIL
![Page 22: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/22.jpg)
Recommendation - Gremlin
![Page 23: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/23.jpg)
Recommendation - Gremlin
![Page 24: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/24.jpg)
Activity streamsProcess automation
Life-filtering of event streamsWeb-of-Things data fl ows
Object oriented reportingJasper ReportsReportAnywhereScripting
Other use cases
![Page 25: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/25.jpg)
Werner VogelsCTO, Amazon
“For anything with multiple relationships, multiple connections N e o4 j ab s ol u te l y R OCK S!”
http://bit.ly/dys4nx
Manager of an enterprise product for the Fortune 5000
“Just 3 years ago, the data sets our product handled were very simple. But the past 9-12 months have seen an e x p l os i on of the number of relationships between things.”
A web where the default is social → an explosion of graph-y data
Why graph databases?
![Page 26: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/26.jpg)
How ego are you? (aka other impls?)Franz’ Al l e groGrap h (http://agraph.franz.com)
Proprietary, Lisp, RDF-oriented but real graphdb
Sones grap h DB (http://sones.com)
Proprietary, .NET, in beta
Twitter's Fl oc k DB (http://github.com/twitter/flockdb)
Twitter's (graph) database for large and shallow graphs
Google P re g e l (http://bit.ly/dP9IP)
We are oh-so-secret
Objectivity's I nfi n i te Grap h (http://infinitegraph.com)
New, closed OODB with Graph Layer on top
![Page 27: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/27.jpg)
Most widely deployed graph db in the worldRobust: 24/7 production since 2003Mature: lots of production deploymentsCommunity: ecosystem of tools, bindings, frameworks
Available NOW under AGPLv3 / commercial licenseAGPLv3: “if you’re open source, we’re open source”If you have proprietary software? Must buy a commercial licenseBut the fi rst one is free! For ALL use-cases.
Downloadhttp://neo4j.org
Feedbackhttp://lists.neo4j.org
Why Neo4j?
![Page 28: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/28.jpg)
Th e Ne o4 j te ami s h i r i ng !
Do you see the Matrix? Apply now.
![Page 29: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/29.jpg)
Questions?
Image credit: lost again! Sorry :(
![Page 30: Neo4j - 5 cool graph examples](https://reader033.vdocuments.us/reader033/viewer/2022050816/54c6ce464a79592f088b457c/html5/thumbnails/30.jpg)
http://neotechnology.com