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

Intro to Neo4j with Ruby

on

  • 12,893 views

A quick introduction to Graphs, Neo4j and neography.

A quick introduction to Graphs, Neo4j and neography.

Statistics

Views

Total Views
12,893
Views on SlideShare
5,321
Embed Views
7,572

Actions

Likes
9
Downloads
150
Comments
0

11 Embeds 7,572

http://maxdemarzi.com 7483
http://coderwall.com 58
http://www.twylah.com 16
http://webcache.googleusercontent.com 3
http://www.hi-ruby.com 3
http://a0.twimg.com 2
https://twitter.com 2
http://translate.googleusercontent.com 2
http://www.hanrss.com 1
http://maxdemarzidotcom.wordpress.com 1
http://hiruby.sinaapp.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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

Intro to Neo4j with Ruby Intro to Neo4j with Ruby Presentation Transcript

  • Introducing Neo4j Your Next Database Max De Marzi
  • 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
  • Agenda• What is a Graph?• What is a Graph Database?• What can you do with a Graph Database?
  • 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)
  • Different Kinds of Graphs• Undirected Graph• Directed Graph• Pseudo Graph• Multi Graph• Hyper Graph
  • More Kinds of Graphs• Weighted Graph• Labeled Graph• Property Graph
  • 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
  • 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)
  • Not so good for• Set Operations: – Union – Intersection – Cross Joins• Ginormous Amounts of Data – Billions ok, Trillions not so much.
  • 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
  • Neo4j + Ruby
  • Neo4j Data Browser
  • Neo4j Console
  • Friends Graph Illustrated
  • Friends Graph
  • Relationships.both is actually creating two relationships.One incoming and one outgoing friends relationship.Each Relationship in Neo4j only goes in one direction.
  • Friends of Friends
  • All Simple PathsSimple paths means no loops allowed
  • Shortest Path
  • Cypher : Neo4j Query LanguageASCII ART FTW: a--b, a-->b, a<--c
  • Neoflix: Movie Recommenderhttp://neoflix.herokuapp.com/
  • http://getvouched.com
  • Neo4j and Heroku Challengehttp://neo4j-challenge.herokuapp.com/
  • Questions? ?
  • Thank you! http://maxdemarzi.com