1. Hands on Neo4j 2.0
Dr. Jim Webber!
Chief Scientist, Neo Technology!
@jimwebber
2. roadmap
• where we are (mostly)
• imprisoned data
• a little history
• labeled property graph model
• connected data
• using a whiteboard
http://flickr.com/photos/23465812@N00/7898643042 by davecito, CC BY
7. Neo Technology, Inc Confidential http://flickr.com/photos/rueful/5917659410/ by Kiran Foster, CC BY
8. “There is a significant downside - the whole approach works really well
when data access is aligned with the aggregates, but what if you want to
look at the data in a different way? Order entry naturally stores orders as
aggregates, but analyzing product sales cuts across the aggregate
structure. The advantage of not using an aggregate structure in the
database is that it allows you to slice and dice your data different ways for
different audiences.
!
This is why aggregate-oriented stores talk so much about map-reduce.”
– Martin Fowler, http://martinfowler.com/bliki/AggregateOrientedDatabase.html
9. Neo Technology, Inc Confidentialhttp://flickr.com/photos/wwworks/5319295174 by woodleywonderworks, CC BY
23. Labeled Property Graph Model
• Nodes with optional labels and optional properties
• Named, directed Relationships with optional properties
(Relationships have exactly one start and one end node, which may be the same node)
33. SELECT r.name as reason, count(*) as
result_count
FROM Flight f
INNER JOIN Airport o
ON Airport.id = Flight.origin_airport_id,
INNER JOIN Airport d
ON Airport.id = Flight.destination_airport_id,
INNER JOIN Flight_Delay fd
ON Airport.id = Flight_Delay.flight_id
INNER JOIN Reason r
ON Flight_Delay.reason_id = Reason.id
WHERE o.name = "SFO" AND d.name = "JFK"
GROUP BY r.name
ORDER BY result_count DESC
Fail
48. What’s Neo4j good for?
• Recommendations
• Social networks
• Content Management
• MDM / System-of-Record
• Product Catalogue
• Financial Audit / Modeling
• Business intelligence
• Data centre management
• Supply chain/provenance
• Routing
• Web of things
• Time series/event data
• Web analytics, user journeys
• Scientific computing
• Spatial
• Geo/Seismic/Meteorological
• Bio/Pharma
• And much, much more…