• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Lighting talk neo4j fosdem 2011
 

Lighting talk neo4j fosdem 2011

on

  • 5,670 views

15 minutes brief talk about neo4j and graphdb

15 minutes brief talk about neo4j and graphdb

Statistics

Views

Total Views
5,670
Views on SlideShare
3,251
Embed Views
2,419

Actions

Likes
1
Downloads
80
Comments
0

6 Embeds 2,419

http://www.graph-database.org 2090
http://sinproyecto.eclipsi.net 310
http://translate.googleusercontent.com 8
http://webcache.googleusercontent.com 6
http://feeds2.feedburner.com 4
http://www.google.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

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
  • EE
  • EE
  • EE
  • EE
  • EE
  • EE
  • EE
  • EE
  • EE

Lighting talk neo4j fosdem 2011 Lighting talk neo4j fosdem 2011 Presentation Transcript

  • Neo4j Graph DB Intro & Neo4j DB Fosdem 2011 #neo4j @neo4j [email_address] Jordi Valverde Eclipsi Networks
  • GraphDB evolution Information connectivity 1990 2000 2010 2020 Text documents Ontologies RDF Folksonomies Tagging User-generated content Wikis RSS Blogs Hypertext Neo4j
  • The property graph model
    • Core abstractions:
      • Nodes
      • Relationships between nodes
      • Properties on both
    • Traversal framework
      • High performance queries on connected data sets
    name = “Jordi” age = 29 type = KNOWS time = 4 years type = car vendor = “Honda” model = “Civic” 1 2 3
  • Querying Neo4j? (1) GraphDatabaseService graphDb = ... // Get factory // Create Jordi Node jordi = graphDb.createNode(); jordi.setProperty( "name" , "Jordi" ); jordi.setProperty( "age" , 29 ); // Create Car Node car = graphDb.createNode(); car.setProperty( "name" , "Car" ); car.setProperty( "vendor" , "Honda" ); car.setProperty( "model" , "Civic" ); // Create a relationship representing that relationate each element jordi.createRelationshipTo( car, RelTypes. KNOWS );
  • Social data (customer: brand-name social network) 1 3 13 KNOWS KNOWS 7 2 KNOWS KNOWS KNOWS 42 KNOWS name = “Mike” age = 29 disclosure = public name = “Charlie” last_name = “Runkle” name = “Dani” last_name = “California” age = 27 name = “Hank” last_name = “Moody” age = 42 age = 3 days name = “Karen” name = “Marcy Runkle”
  • Just a social graph?
  • Spatial data (customer: large telecom company) 1 3 13 ROAD ROOOAD 7 2 ROAD ROAD ROAD 42 ROAD name = “Omni Hotel” lat = 3492848 long = 283823423 length = 7 miles name = ... lat, long = ... name = “Swedland” lat = 23410349 long = 2342348852 name = “The Tavern” lat = 1295238237 long = 234823492 length = 3 miles name = ... name = ...
  • Social? Spatial? … Social AND spatial!
  • Social AND spatial data 1 3 13 LIKES SIBLING 7 2 ROAD ROAD ROAD 42 KNOWS name = “Omni Hotel” lat = 3492848 long = 283823423 weight = 10 name = “Pere” beer_qual = expert name = “Maria” age = 30 beer_qual = non-existant name = “The Tavern” lat = 1295238237 long = 234823492 length = 3 miles name = ... name = “Jordi”
  • Financial data (customer: international bank) 1 3 13 TRANSFER WITHDRAW 7 2 OWNS DEPOSIT TRANSFER 42 WITHDRAW name = “Mr Godfather” karma = veeeery-low cash = more-than-you amount = $1000 name = “Emil” cash = always-too-li'l title = “ATM @ Wall St” id = 230918484233 cash_left = 384204 name = “The Tavern” lat = 1295238237 long = 234823492 amount = $1000 name = ... name = ...
  • Computational Genomics? (customer: no idea!) 1 3 13 NEXT NEXT 7 2 NUCLEOTIDES FAMILY RELATED 42 START type = “Protein” ID=”SACE0A01650p” name = “T” name = “G” name = “A” name = GL3C2479 name = ...
  • Computational Genomics? (customer: no idea!) 1 3 13 NEXT NEXT 7 2 NUCLEOTIDES FAMILY RELATED 42 START type = “Protein” ID=”SACE0A01650p” name = “T” name = “G” name = “A” name = GL3C2479 name = ...
    • Traverser Framework
      • node.traverse(description)
    • Language object bindings (Ruby, Python, PHP,...)
      • node.genes.first.name
    • Gremlin (perl like)
      • ./outE[label='family']/inV/@name
    • Graph Matching
      • Example graphs,
      • Starting point by searching
    • RDF, SPARQL -> SNOMED
      • SELECT ?gene, ?family WHERE ...
    Querying Neo4j? (II)
    • neo4j-kernel
      • Core of neo4j
    • neo4j-index
      • Indexing component
    • neo4j-shell
      • A command line like shell
    • neo4j-remote-graphdb
      • JAVA API for interacting with the core and JAVA app
    • neo4j-backup
      • Component for backup
    • neo4j-graph-algo
      • More relevant graph algorithms
    Neo4j components
  • Why graph databases?
    • Data mining
      • You can make algorithms for searching patterns and add AI
    • High-critical environments
      • You can apply neo4j for high load databases and optimize the queries and reduce costs on hardware use
    • Engineering in biochemical components
      • You can make algorithms for helping the study of protein synthesys, for example
    • Discrete event simulation
      • You can apply a pattern and behavior and assign everything to a graph database
    • Social graph
      • Everything in user related “tastes” can be organized in a graph
    • Network architecture
  • Some examples...
  • Routing
  • Visualization - Gephi
  • Visualization - iGraph
    • Most widely deployed graph db in the world
      • ACID, persistent, embedded/server
      • Robust: 24/7 production since 2003
      • Mature: lots of production deployments
      • Scalable: High Availability, Master failover
      • Community: ecosystem of tools, bindings, frameworks
      • Product: OSGi, Spatial, RDF, languages
    • Available under AGPLv3 and as commercial product
      • But the first one is free! For ALL use-cases
    Why Neo4j?
    • OrientDB (1 GPL version, Java)
      • http://www.orientechnologies.com/orient-db.htm
    • Sones (GPL, Dual-licence .NET)
      • http://www.sones.com
    • HyperGraphDB (GPL, JAVA)
      • http://www.hypergraphdb.org
    • DEX (Privative License, JAVA)
      • http://www.sparsity-technologies.com/dex_releases.php
    • ...
    We're the best, but...
    • Download
      • http://neo4j.org
    • Feedback
      • http://lists.neo4j.org
      • http://twitter.com/neo4j
    • Code and more
      • https://github.com/neo4j
    • Help & more presentations
      • http://wiki.neo4j.org
      • http://slidesha.re/ftBtb2 Pablo Delgado (ruby on rails and neo4j) Conferencia RoR Madrid
      • http://slidesha.re/heSxmm Pere Urbon (fast peak on graphdb) Barcelona on rails meeting
    More Info?
  • Questions? Thank you...