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

Getting Graphic: Extract Maximum Value from the Top to the Bottom of the Stack

10f2b035856eef2b59c02267e3ee9e63?s=47 Jennifer Reif
September 17, 2019

Getting Graphic: Extract Maximum Value from the Top to the Bottom of the Stack

Many of us have a great deal of experience working with traditional relational databases and with so-called NoSQL databases (document stores and key/value pairs) as well. Graph databases provide capabilities we may not have fully leveraged…​yet. Learn how to exploit the power of connected data quickly and powerfully with Spring Boot and Spring Data. Learn how to elevate the relationships among your data to the same level as your data and tap the full power of the stack.

10f2b035856eef2b59c02267e3ee9e63?s=128

Jennifer Reif

September 17, 2019
Tweet

Transcript

  1. Getting Graphic: Extract maximum value from the top to the

    bottom of the stack Mark Heckler Spring Developer & Advocate, Pivotal @mkheck Jennifer Reif Developer Relations Engineer, Neo4j @JMHReif
  2. Who is Mark? • Author • Speaker • Architect &

    Developer • Java Champion, J1 Rockstar
  3. Who is Jennifer? • Neo4j Developer Relations Engineer • Continuous

    learner • Conference speaker • Blogger
  4. What we’re building!

  5. Breaking it down… • Spring Boot application served up and

    accessible from localhost
  6. Breaking it down… • Spring Boot application served up and

    accessible from localhost • List of comics based on search for Name
  7. Breaking it down… • Spring Boot application served up and

    accessible from localhost • List of comics based on search for Name • Details of selected comic from list
  8. Breaking it down… • Spring Boot application served up and

    accessible from localhost • List of comics based on search for Name • Details of selected comic from list • Visualization of data in a graph
  9. What we need: • Accessible from a web browser •

    Pull real-time results from a data store for user search • Retrieve details and connections of an entity to display • Display a connected network of data
  10. What is a graph database?

  11. The world is a graph - everything is connected •

    People, places, events • Technology, networks, devices, apps • Companies, markets, industries • Graphs. Are. Everywhere. :)
  12. Graphs show how data is connected

  13. It’s all about relationships! • A graph database shows how

    entities/objects in our data relate to one another • Property Graph Data Model components: • Nodes • Relationships • Labels • Properties
  14. Game of Thrones Family Tree NASA space satellite data Lord

    of the Rings movies
  15. Project inspiration • Simplicity of Spring, graph data structure of

    Neo4j • Real-world data for Neo4j process • import, querying, analysis • Application-building with Spring Boot • Spring Data’s easy connection to Neo4j (and other dbs) • Create fun webpage for the application for visualization • Thymeleaf templates, d3/Neo4j integration
  16. None
  17. How to load the data • developer.marvel.com • Create an

    account and an API key • Read the docs • Determine the data model • Create Cypher statements • Import all the things!
  18. Data model & choices

  19. None
  20. https://github.com/spring-projects/spring-data-neo4j

  21. Why use Spring? • Full Spring Boot support (obviously!) •

    Spring Initializr • Interface-based repository support • Persistence lifecycle events • Annotation-based OGM for POJOs • Connect to Neo4j with Bolt, HTTP, or embedded
  22. Let’s see some CODE!!!

  23. Helpful Resources • Spring Data Neo4j: https://spring.io/projects/spring-data-neo4j • Neo4j: https://neo4j.com/developer/get-started/

    • Spring (projects, guides, blog): https://spring.io • Source code: https://github.com/HecklerReifCollab/sdn-marvelcomics • Contact: • Twitter/DMs: @mkheck, @JMHReif • Email: mheckler@pivotal.io, jennifer.reif@neo4j.com