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

Graph Databases: Solving Business Problems with...

Graph Databases: Solving Business Problems with Connected Data

In this connected world, traditional data stores often make it difficult to find valuable relationships. By making them a key component of the model, contextualizing a set of data becomes incredibly simple. In this session, we will walk through what a graph database is and how it can transform your applications and data. We will explore what data looks like in a graph and how to use simple tools to interact with the database. A demo will bring this all to life and show how to really use it. Join us to learn how graph databases can improve the data world and help users easily gain valuable insights with connected data!

Jennifer Reif

May 25, 2021
Tweet

More Decks by Jennifer Reif

Other Decks in Technology

Transcript

  1. Who Am I? • Developer Relations Engineer for Neo4j •

    Continuous learner • Conference speaker • Tech blogger • Hobbies: cats, co ff ee, horses, traveling Email: [email protected] Twitter: @JMHReif
  2. A graph is… …a set of discrete objects, each of

    which has some set of relationships with the other objects Seven Bridges of Konigsberg problem. Leonard Euler, 1735
  3. A few graph use cases… Social network Fraud detection Network

    & IT operations Identity & access management Graph-based search
  4. Roses are red, Facebook is blue, No mutual friends, so

    who are you? Friends of friends….or co-actors of co-actors
  5. Identifying good graph scenarios Scenario 1: Does our problem involve

    understanding relationships between entities? •Recommendations •Fraud detection •Finding duplicates •Data lineage
  6. Identifying good graph scenarios Scenario 2: Does the problem involve

    a lot of self-referencing to the same type of entity? •Organisational hierarchies •Access management •Social influencers •Friends of friends
  7. Identifying good graph scenarios Scenario 3: Does the problem explore

    relationships of varying or unknown depth? •Supply chain visibility •Bill of Materials •Network management
  8. Identifying good graph scenarios Scenario 4: Does our problem involve

    discovering lots of di ff erent routes or paths? •Logistics and routing •Infrastructure management •Dependency tracing
  9. Graph components Node (vertex) • The main data element from

    which graphs are constructed Michael Jennifer Neo4j Graphs
  10. Graph components Node (vertex) • The main data element from

    which graphs are constructed Relationship (edge) • A link between two nodes. Has: • Direction • Type • A node without relationships is permitted. A relationship without nodes is not. :LIKES :IS_FRIENDS_WITH :WORKS_FOR Michael Jennifer Neo4j Graphs
  11. Graph components Node (vertex) Relationship (edge) Label • De fi

    ne node category (optional) :LIKES :IS_FRIENDS_WITH :WORKS_FOR Person Person Technology Company
  12. Graph components Node (vertex) Relationship (edge) Label • De fi

    ne node category (optional) • Can have more than one :LIKES :IS_FRIENDS_WITH :WORKS_FOR Person Person Employee Technology Hobby Company
  13. Graph components Node (vertex) Relationship (edge) Label • De fi

    ne node category (optional) • Can have more than one Properties • Enrich a node or relationship • No need for nulls! :LIKES :IS_FRIENDS_WITH :WORKS_FOR Person name: Michael Person name: Jennifer Technology type: Graphs since: 2018 Company name: Neo4j
  14. Easy to design and model direct representation of the model

    Easy to design and model direct representation of the model
  15. Whiteboard friendliness paymentId: 657987915649862247 Payment User username: jennifer123 name: Venmo

    for x Application username: mark456 User SENDS PAID_TO PAID_USING
  16. Cypher A pattern-matching query language made for graphs • Declarative

    • Expressive • Pattern-matching A B LIKES MATCH ( A ) - [ : LIKES] - > ( B )
  17. Cypher A pattern-matching query language made for graphs • Declarative

    • Expressive • Pattern-matching With ASCII Art ¯\_(ツ)_/¯ A B LIKES MATCH ( A ) - [ : LIKES] - > ( B )
  18. Cypher: Powerful and Expressive Jennifer Neo4j WORKS_FOR CREATE (:Person {

    name: ‘Jennifer’}) -[:WORKS_FOR]-> (:Company { name: ‘Neo4j’}) LABEL PROPERTY NODE NODE LABEL PROPERTY
  19. Cypher: Powerful and Expressive Jennifer Neo4j WORKS_FOR MATCH (:Person {

    name: ‘Jennifer’} ) -[:WORKS_FOR]-> ( whom ) 
 RETURN whom
  20. More data access Drivers, libraries, and more • Language drivers

    • Java, Python, GraphQL, Go, .Net, JavaScript, … • Extension libraries • APOC, Neosemantics (RDF), Kettle • Partner tools • Connectors, other data source export tools • Visualization • Bloom, Browser, many JS libraries, many partner tools
  21. Import / Export graph data So many choices! • Drivers

    + queries • Java, Python, GraphQL, etc • Extension libraries • APOC, Neosemantics, etc • Tools • Kettle, Browser, Bloom, etc • Flat fi les / dump fi les • Neo4j Desktop/Aura dump, CSV, JSON, etc
  22. Gaining insights with graph data • Feed data to other

    systems • Spark, ML pipelines, applications, other data sources • Network structure with Graph Data Science • Algorithms for routes, similarity, centrality, community, and more! • Applications on top of graph • Data entry, system of record, transactional system • Understanding structures and data • Visibility to connections and context in data!
  23. Free developer conference: • dev.neo4j.com/nodes Free online training and certification:

    • dev.neo4j.com/learn How to, best practices, hands on and community stories: • dev.neo4j.com/videos Come say hello :) • dev.neo4j.com/chat • dev.neo4j.com/forum Continue your journey
  24. Jennifer Reif Developer Relations Engineer Join the conversation at community.neo4j.com

    Email: [email protected] LinkedIn: https://www.linkedin.com/in/jmhreif/ Twitter: @JMHReif Github repository: https://github.com/JMHReif/graph-demo-datasets/tree/main/venmo-payments