Your SlideShare is downloading. ×
Intro to Neo4j with Ruby
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Intro to Neo4j with Ruby

12,653
views

Published on

A quick introduction to Graphs, Neo4j and neography.

A quick introduction to Graphs, Neo4j and neography.

Published in: Technology

0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,653
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
159
Comments
0
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • An undirected graph is one in which edges have no orientation. The edge (a, b) is identical to the edge (b, a).A directed graph or digraph is an ordered pair D = (V, A)A pseudo graph is a graph with loopsA multi graph allows for multiple edges between nodesA hyper graph allows an edge to join more than two nodes
  • A weighted graph has a number assigned to each edgeAlabeled graph has a label assigned to each node or edgeA property graph has keys and values for each node or edge
  • Atomic = all or nothing, consistent = stay consistent from one tx to another, isolation = no tx will mess with another tx, durability = once tx committed, it stays
  • Transcript

    • 1. Introducing Neo4j Your Next Database Max De Marzi
    • 2. About Me Built the Neography Gem (Ruby Wrapper to the Neo4j REST API) Playing with Neo4j since 10/2009• My Blog: http://maxdemarzi.com• Find me on Twitter: @maxdemarzi• Email me: maxdemarzi@gmail.com• GitHub: http://github.com/maxdemarzi
    • 3. Agenda• What is a Graph?• What is a Graph Database?• What can you do with a Graph Database?
    • 4. What is a Graph?• An abstract representation of a set of objects where some pairs are connected by links. Object (Vertex, Node) Link (Edge, Arc, Relationship)
    • 5. Different Kinds of Graphs• Undirected Graph• Directed Graph• Pseudo Graph• Multi Graph• Hyper Graph
    • 6. More Kinds of Graphs• Weighted Graph• Labeled Graph• Property Graph
    • 7. What is a Graph Database?• A database with an explicit graph structure• Each node knows its adjacent nodes• As the number of nodes increases, the cost of a local step (or hop) remains the same
    • 8. Good For• Highly connected data (social networks)• Recommendations (e-commerce)• Path Finding (how do I know you?)• A* (Least Cost path)• Data First Schema (bottom-up, but you still need to design)
    • 9. Not so good for• Set Operations: – Union – Intersection – Cross Joins• Ginormous Amounts of Data – Billions ok, Trillions not so much.
    • 10. What is Neo4j?• A Graph Database + Lucene Index• Property Graph• Full ACID (atomicity, consistency, isolation, durability)• High Availability (with Enterprise Edition)• 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties• Embedded Server• REST API
    • 11. Neo4j + Ruby
    • 12. Neo4j Data Browser
    • 13. Neo4j Console
    • 14. Friends Graph Illustrated
    • 15. Friends Graph
    • 16. Relationships.both is actually creating two relationships.One incoming and one outgoing friends relationship.Each Relationship in Neo4j only goes in one direction.
    • 17. Friends of Friends
    • 18. All Simple PathsSimple paths means no loops allowed
    • 19. Shortest Path
    • 20. Cypher : Neo4j Query LanguageASCII ART FTW: a--b, a-->b, a<--c
    • 21. Neoflix: Movie Recommenderhttp://neoflix.herokuapp.com/
    • 22. http://getvouched.com
    • 23. Neo4j and Heroku Challengehttp://neo4j-challenge.herokuapp.com/
    • 24. Questions? ?
    • 25. Thank you! http://maxdemarzi.com

    ×