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

Getting Graphic: Extract Maximum Value from the...

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.

Jennifer Reif

September 17, 2019
Tweet

More Decks by Jennifer Reif

Other Decks in Technology

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. Breaking it down… • Spring Boot application served up and

    accessible from localhost • List of comics based on search for Name
  4. 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
  5. 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
  6. 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
  7. The world is a graph - everything is connected •

    People, places, events • Technology, networks, devices, apps • Companies, markets, industries • Graphs. Are. Everywhere. :)
  8. 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
  9. 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
  10. 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!
  11. 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
  12. 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: [email protected], [email protected]