The document is a presentation on Neo4j and graph databases, highlighting their significance in managing connected data and their application across various industries. It discusses key features of Neo4j, including real-time recommendations, fraud detection, and identity management, along with the advantages of using a property graph data model over traditional relational databases. The presentation also provides insights into the Cypher query language and capabilities of Neo4j for data modeling and querying.
Introduction to Neo4j and graph databases, including what a graph database is and the agenda of the webinar.
Graphs represent connected data, illustrated with examples like road traffic and hotel room availability.
Graphs are used across industries, including finance, healthcare, and retail, showing broad application potential.
Highlights various use cases of Neo4j, such as real-time recommendations, fraud detection, and identity management.
Explains different graphical applications in Neo4j, showcasing network operations and digital asset management.
Comparison of graph databases and relational databases, emphasizing strengths in dynamic systems and connectivity.
Detailed explanation of the property graph data model, including nodes, relationships, and properties.Attributes of graphs - intuitiveness, speed, agility versus relational database challenges.
Introduction to Cypher as a query language tailored for graphs with a brief tutorial on usage.
Key features of Neo4j including native graph processing, high data integrity, and scalability options.
Intro on model creation, data loading, and querying in Neo4j, along with architectural options.
Discusses the transition from relational databases to graphs with diagrammatic supports.
Demonstrates various queries in Neo4j and practical examples showcasing reporting relationships.
Steps for loading data using CSV files, highlighting performance aspects and the neo4j-import tool.
Provides links to resources for learning Neo4j, including documentation and community support.
Intro to Neo4jand Graph Databases Neo4j Webinar March 2016
2.
ABOUT ME • WilliamLyon • Developer Relations Engineer @neo4j • http://neo4j.com/developer will@neo4j.com @lyonwj
3.
Agenda • What isa graph [database]? • Use cases - why graphs? • Neo4j product overview • Labeled property graph data model • Cypher query language • RDBMS to graph • Resources • Questions?
Use of Graphshas created some of the most successful companies in the world C 34,3%B 38,4%A 3,3% D 3,8% 1,8% 1,8% 1,8% 1,8% 1,8% E 8,1% F 3,9%
13.
Finance Social networksRetailHR & Recruiting Manufacturing & Logistics Health Care Telco Today we see graph-projects in virtually every industry
15.
NEO4j USE CASES RealTime Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
16.
NEO4j USE CASES RealTime Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations GRAPH THINKING: Real Time Recommendations VIEWED VIEWED BOUGHT VIEWED BOUGHT BOUGHT BOUGHT BOUGHT
17.
“As the currentmarket leader in graph databases, and with enterprise features for scalability and availability, Neo4j is the right choice to meet our demands.” Marcos Wada Software Developer, Walmart NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
18.
NEO4j USE CASES RealTime Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations GRAPH THINKING: Master Data Management MANAGES MANAGES LEADS REGION M ANAG ES MANAGES REGION LEADS LEADS COLLABORATES
19.
Neo4j is theheart of Cisco HMP: used for governance and single source of truth and a one-stop shop for all of Cisco’s hierarchies. NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
20.
NEO4j USE CASES RealTime Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations GRAPH THINKING: Fraud Detection O PENED_ACCO UNT HAS IS_ISSUED HAS LIVES LIVES IS_ISSUED OPENED_ACCOUNT
21.
“Graph databases offernew methods of uncovering fraud rings and other sophisticated scams with a high-level of accuracy, and are capable of stopping advanced fraud scenarios in real-time.” Gorka Sadowski Cyber Security Expert NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
22.
GRAPH THINKING: Graph BasedSearch NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations PUBLISH INCLUDE INCLUDE CREATE CAPTURE IN IN SOURCE USES USES IN IN USES SOURCE SOURCE
23.
Uses Neo4j tomanage the digital assets inside of its next generation in-flight entertainment system. NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
Uses Neo4j fornetwork topology analysis for big telco service providers NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations
26.
GRAPH THINKING: Identity AndAccess Management NEO4j USE CASES Real Time Recommendations Master Data Management Fraud Detection Identity & Access Management Graph Based Search Network & IT-Operations TRUSTS TRUSTS ID ID AUTHENTICATES AUTHENTICATES O W NS OWNS CAN_READ
Graph DatabaseRelational Database A wayof representing data Good for: • Well-understood data structures that don’t change too frequently • Known problems involving discrete parts of the data, or minimal connectivity Good for: • Dynamic systems: where the data topology is difficult to predict • Dynamic requirements: the evolve with the business • Problems where the relationships in data contribute meaning & value
Property Graph ModelComponents Nodes • The objects in the graph • Can have name-value properties • Can be labeled Relationships • Relate nodes by type and direction • Can have name-value properties CAR DRIVES name: “Dan” born: May 29, 1970 twitter: “@dan” name: “Ann” born: Dec 5, 1975 since: Jan 10, 2011 brand: “Volvo” model: “V70” LOVES LOVES LIVES WITH OW NS PERSON PERSON
Relational Versus GraphModels Relational Model Graph Model KNOWS KNOWS KNOWS ANDREAS TOBIAS MICA DELIA Person FriendPerson-Friend ANDREAS DELIA TOBIAS MICA Index free adjacency
44.
Speed “We found Neo4jto be literally thousands of times faster than our prior MySQL solution, with queries that require 10-100 times less code. Today, Neo4j provides eBay with functionality that was previously impossible.” - Volker Pacher, Senior Developer “Minutes to milliseconds” performance Queries up to 1000x faster than RDBMS or other NoSQL
Cypher Typical Complex SQLJoin The Same Query using Cypher MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report) WHERE boss.name = “John Doe” RETURN sub.name AS Subordinate, count(report) AS Total Project Impact Less time writing queries • More time understanding the answers • Leaving time to ask the next question Less time debugging queries: • More time writing the next piece of code • Improved quality of overall code base Code that’s easier to read: • Faster ramp-up for new project members • Improved maintainability & troubleshooting
Neo4j Graph Database • Propertygraph data model • Nodes and relationships • Native graph processing • (open)Cypher query language neo4j.com
54.
Neo4j – KeyProduct Features Native Graph Storage Ensures data consistency and performance Native Graph Processing Millions of hops per second, in real time “Whiteboard Friendly” Data Modeling Model data as it naturally occurs High Data Integrity Fully ACID transactions Powerful, Expressive Query Language Requires 10x to 100x less code than SQL Scalability and High Availability Vertical and horizontal scaling optimized for graphs Built-in ETL Seamless import from other databases Integration Drivers and APIs for popular languages MATCH (A)
55.
How do youuse Neo4j? CREATE MODEL + LOAD DATA QUERY DATA
• Complex tomodel and store relationships • Performance degrades with increases in data • Queries get long and complex • Maintenance is painful SQL Pains
65.
• Easy tomodel and store relationships • Performance of relationship traversal remains constant with growth in data size • Queries are shortened and more readable • Adding additional properties and relationships can be done on the fly - no migrations Graph Gains
Who do peoplereport to? MATCH (e:Employee)<-[:REPORTS_TO]-(sub:Employee) RETURN e.employeeID AS managerID, e.firstName AS managerName, sub.employeeID AS employeeID, sub.firstName AS employeeName;
Product Cross-Selling MATCH (choc:Product {productName:'Chocolade'}) <-[:INCLUDES]-(:Order)<-[:SOLD]-(employee), (employee)-[:SOLD]->(o2)-[:INCLUDES]->(other:Product) RETURN employee.firstName, other.productName, COUNT(DISTINCT o2) as count ORDER BY count DESC LIMIT 5;