This talk gives an introduction to the graph database Neo4j and provides infos on:
- when and why to use graph dbs
- Neo4j itself
- how to model, store, and query data
a new way can improve existing and create new use case Brings many advantages over competitors There is plenty of data in todays world created every second
or store data and relationships without complexity ◼ Performance degrades with number and levels of relationships and DB size ◼ Query complexity grows with need for JOINs ◼ Adding new types of data and relationships requires schema redesign
for object-relational-mapping ◼ Same understanding of the data model for IT and business ◼ No need for complex Join-Tables and alike https://de.slideshare.net/neo4j/the-graph-database-universe-neo4j-overview
using name-value properties ◼ Can have labels attached Relationships ◼ Relates nodes by type (Label) and direction ◼ Stores data using name-value properties Stephan :Person:Author Neo4j – Part 1 :WROTE :Article firstName: Stephan lastName: Pirnbaum birthday: 26.11.1993 title: Neo4j – Part 4 state: Published publishedOn: 5/11/2019
Author Article Author-Article STEPHAN Neo4j – Part 1 Neo4j – Part 3 Neo4j – Part 2 Neo4j – Part 2 Neo4j – Part 3 https://logisima.developpez.com/tutoriel/nosql/neo4j/introduction-neo4j/
tagged as „Neo4j“ ◼ In SQL… SELECT DISTINCT p.firstName, p.lastName FROM Person p LEFT JOIN Article a ON p.personId = a.personId LEFT JOIN ArticleTag aT ON a.articleId = aT.articleId LEFT JOIN Tag t ON aT.tagId = t.tagId WHERE t.name = "Neo4j“
tagged as „Neo4j“ ◼ In Cypher ☺ MATCH (p:Author)-[:WROTE]->(a:Article), (a)-[:TAGGED_BY]->(t:Tag{name: “Neo4j“}) RETURN DISTINCT p.firstName, p.lastName