Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Neo4j: WTF Is This Hipster Graph Thingy?

Miha Rekar
November 27, 2014

Neo4j: WTF Is This Hipster Graph Thingy?

Miha Rekar

November 27, 2014
Tweet

More Decks by Miha Rekar

Other Decks in Programming

Transcript

  1. EXAMPLE FOR REALZ • How do I know you? •

    How do I get to Maribor? • Where should I have lunch?
  2. Core Industries & Use Cases: Web / ISV Finance &

    Insurance Telecomm- unications Network & Data Center Management MDM Social Geo Core Industries & Use Cases: Software Financial Services Telecommu nications Web Social, HR & Recruiting Health Care & Life Sciences Media & Publishing Energy, Services, Automotive, Gov’t, Logistics, Education, Gaming, Other Network & Data Center Management MDM / System of Record Social Geo Identity & Access Mgmt Content Management Recommend-ations BI, CRM, Impact Analysis, Fraud Detection, Resource Optimization, etc. Accenture Finance Energy Aerospace Neo4j Adoption Snapshot Select Commercial Customers (Community Users Not Included)
  3. NEO4J • NoSQL • open-source • Java/Scala • the most

    popular graph DB • full DB characteristics (ACID compliance, cluster support, runtime failover)
  4. CYPHER • SQL-like • ASCII-ish SELECT firstname FROM person WHERE

    person.nickname= 'The Dude' MATCH p:person WHERE p.nickname= 'The Dude' RETURN p.firstname
  5. CYPHER • SQL-like • ASCII-ish SELECT firstname FROM person WHERE

    person.nickname= 'The Dude' MATCH p:person WHERE p.nickname= 'The Dude' RETURN p.firstname FROM person JOIN team ON person.teamid = team.id WHERE person.nickname= 'The Dude' AND team.sport = 'Bowling' MATCH (p:person)-[:in]-(t:team) WHERE p.nickname= 'The Dude' AND t.sport = 'Bowling' RETURN p.firstname, t.name
  6. CYPHER • SQL-like • ASCII-ish SELECT firstname FROM person WHERE

    person.nickname= 'The Dude' MATCH p:person WHERE p.nickname= 'The Dude' RETURN p.firstname FROM person JOIN team ON person.teamid = team.id WHERE person.nickname= 'The Dude' AND team.sport = 'Bowling' MATCH (p:person)-[:in]-(t:team) WHERE p.nickname= 'The Dude' AND t.sport = 'Bowling' RETURN p.firstname, t.name MATCH (p:person)-[*]-(p2:person) WHERE p.nickname= 'The Dude' RETURN p.firstname, p2.firstname
  7. Q&A