SlideShare a Scribd company logo
1 of 29
Download to read offline
GraphAware Framework 
advanced Neo4j use cases 
! 
! 
Michal Bachman 
@graph_aware 
SAN FRANCISCO | 10.22.2014 
powered by 
GraphAwareTM
Advanced Use Cases 
GraphAware Framework (implementing advanced functionality) 
GraphAware Framework Modules (built by us, used by you) 
GraphAwareTM 
About this Talk
GraphAwareTM 
Advanced Use Cases 
Custom APIs 
Transaction-Driven Behaviour 
Asynchronous Computation
GraphAwareTM 
Advanced Use Cases 
Custom APIs 
Transaction-Driven Behaviour 
Asynchronous Computation
GraphAwareTM 
Custom APIs - What? 
a.k.a. “unmanaged extensions” 
“Stored procedures” on steroids 
Implemented and tested (!) in Java 
Deployed with Neo4j (same lifecycle)
GraphAwareTM 
Custom APIs - Why? 
Access to native Neo4j API (Java) 
Performance 
Locking 
Too complex for Cypher 
Functions missing in Cypher 
Custom input/output format 
Limit to read-only 
Code to Data 
…
GraphAware Framework makes it extremely easy 
to build, test, and deploy custom Neo4j APIs. 
GraphAwareTM 
Custom APIs (How?)
Custom APIs - How? (GraphAware) 
GraphAwareTM 
pure Spring MVC 
test with GraphUnit 
drop to plugins 
restart Neo
GraphAwareTM 
Custom APIs - Example 
representing time in Neo4j 
storing and querying time series data 
GraphAware TimeTree
Email 
Month 
from: "..@.." 
to: "..@.." 
text: "…" 
Year 
Day 
value: 24 
SENT_ON 
Month 
value: 4 
Day 
value: 23 
Day 
value: 22 
CHILD 
NEXT NEXT 
value: 5 
FIRST NEXT 
LAST 
CHILD 
CHILD 
value: 2014 
FIRST 
LAST 
CHILD 
CHILD 
TimeTreeRoot 
CHILD 
FIRST 
LAST
GraphAwareTM 
TimeTree Demo
GraphAwareTM 
Advanced Use Cases 
Custom APIs 
Transaction-Driven Behaviour 
Asynchronous Computation
Transaction-Driven Behaviour - What? 
GraphAwareTM 
Neo4j is fully ACID 
“Triggers” on steroids 
Implemented and tested (!) in Java
Transaction-Driven Behaviour - Why? 
GraphAwareTM 
Integrations with other systems 
In-graph indexing 
Additional modifications 
Schema enforcement
Transaction-Driven Behaviour (How?) 
GraphAware Framework makes it extremely easy 
to build, test, and deploy custom Transaction- 
Driven functionality. 
GraphAwareTM
Transaction-Driven Behaviour - Examples 
GraphAwareTM 
Tracking changes in your graph (demo) 
Assigning a UUID to each node (demo) 
Defining and enforcing constraints (wip) 
Auditing 
…
Transaction-Driven Behaviour - Demo 
GraphAwareTM
GraphAwareTM 
Advanced Use Cases 
Custom APIs 
Transaction-Driven Behaviour 
Asynchronous Computation
Asynchronous Computation - What? 
GraphAwareTM 
Neo4j is primarily OLTP 
Requests drive transactions 
How about background computation?
Asynchronous Computation - Why? 
GraphAwareTM 
Interesting graph algorithms 
Expensive in real-time 
Can be approximate 
Can be approximated 
There are quiet periods / dedicated slaves
Asynchronous Computation (How?) 
GraphAware Framework makes it possible to 
build, test, and deploy functionality executed in 
the background during quiet periods. 
GraphAwareTM
Asynchronous Computation - Examples 
GraphAwareTM 
Page Rank 
Recommendations 
Similarities 
Centralities 
Statistics 
…
GraphAwareTM 
Asynchronous Computation - Demo
GraphAware Framework makes it easy to build, 
test, and deploy generic as well as domain-specific 
functionality for Neo4j. 
GraphAwareTM 
GraphAware Framework
GraphAwareTM 
GraphAware Framework 
TimeTree 
Algorithms 
ChangeFeed 
UUID 
NodeRank
GraphAwareTM 
GraphAware Framework 
GraphUnit & RestTest 
RelCount 
WarmUp 
Schema (wip) 
Recommendation Engine (wip)
GraphAwareTM 
GraphAware Framework 
Open Source (GPL) 
Active 
Production Ready 
Github (http://github.com/graphaware) 
Our Web (http://graphaware.com) 
Maven Central
GraphAwareTM 
GraphAware Framework 
Try it 
Give us feedback 
Contribute 
Build Own Modules 
Get in touch for consultancy / support 
info@graphaware.com / @graph_aware
Thank You! 
www.graphaware.com 
@graph_aware 
@bachmanm 
GraphAwareTM

More Related Content

What's hot

What's hot (11)

JIRA Performance After 300,000 Issues
JIRA Performance After 300,000 IssuesJIRA Performance After 300,000 Issues
JIRA Performance After 300,000 Issues
 
LT: Enterprise integration with camel
LT: Enterprise integration with camelLT: Enterprise integration with camel
LT: Enterprise integration with camel
 
Serverless Machine Learning Workshop
Serverless Machine Learning WorkshopServerless Machine Learning Workshop
Serverless Machine Learning Workshop
 
Cloud powered search
Cloud powered searchCloud powered search
Cloud powered search
 
Windows Workflow Foundation Introduction
Windows Workflow Foundation IntroductionWindows Workflow Foundation Introduction
Windows Workflow Foundation Introduction
 
NewWave - Workflow engine
NewWave - Workflow engineNewWave - Workflow engine
NewWave - Workflow engine
 
Non-Microsoft Technologies Which Microsoft is Embracing
Non-Microsoft Technologies Which Microsoft is EmbracingNon-Microsoft Technologies Which Microsoft is Embracing
Non-Microsoft Technologies Which Microsoft is Embracing
 
How to Join the "1M JIRA Issues" Club
How to Join the "1M JIRA Issues" ClubHow to Join the "1M JIRA Issues" Club
How to Join the "1M JIRA Issues" Club
 
What's new in Scilab 5.5.0
What's new in Scilab 5.5.0What's new in Scilab 5.5.0
What's new in Scilab 5.5.0
 
The Dark arts of building your own framework (Andrey Glashenko)
The Dark arts of building your own framework (Andrey Glashenko)The Dark arts of building your own framework (Andrey Glashenko)
The Dark arts of building your own framework (Andrey Glashenko)
 
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)How to Develop Highly Customizable Off-the-Shelf Software  (Aleksey Stukalov)
How to Develop Highly Customizable Off-the-Shelf Software (Aleksey Stukalov)
 

Viewers also liked (7)

Neo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College LondonNeo4j Introduction at Imperial College London
Neo4j Introduction at Imperial College London
 
WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)WebExpo Prague 2012 - Introduction to Neo4j (Czech)
WebExpo Prague 2012 - Introduction to Neo4j (Czech)
 
Intro to Neo4j (CZ)
Intro to Neo4j (CZ)Intro to Neo4j (CZ)
Intro to Neo4j (CZ)
 
Neo4j - Tales from the Trenches
Neo4j - Tales from the TrenchesNeo4j - Tales from the Trenches
Neo4j - Tales from the Trenches
 
Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)
 
Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)
 
(Big) Data Science
(Big) Data Science(Big) Data Science
(Big) Data Science
 

Similar to GraphAware Framework Intro

Get going with CakePHP Framework at gnuNify 2010
Get going with CakePHP Framework at gnuNify 2010Get going with CakePHP Framework at gnuNify 2010
Get going with CakePHP Framework at gnuNify 2010
Abbas Ali
 

Similar to GraphAware Framework Intro (20)

GraphAware Framework Intro
GraphAware Framework IntroGraphAware Framework Intro
GraphAware Framework Intro
 
Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware Framework
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
 
Airavata_Architecture_xsede16
Airavata_Architecture_xsede16Airavata_Architecture_xsede16
Airavata_Architecture_xsede16
 
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
 
Let's Jira do the work
Let's Jira do the workLet's Jira do the work
Let's Jira do the work
 
Why and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in AzureWhy and How to Monitor Application Performance in Azure
Why and How to Monitor Application Performance in Azure
 
Why and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in AzureWhy and How to Monitor App Performance in Azure
Why and How to Monitor App Performance in Azure
 
OSMC 2022 | The Power of Metrics, Logs & Traces with Open Source by Emil-Andr...
OSMC 2022 | The Power of Metrics, Logs & Traces with Open Source by Emil-Andr...OSMC 2022 | The Power of Metrics, Logs & Traces with Open Source by Emil-Andr...
OSMC 2022 | The Power of Metrics, Logs & Traces with Open Source by Emil-Andr...
 
Get going with CakePHP Framework at gnuNify 2010
Get going with CakePHP Framework at gnuNify 2010Get going with CakePHP Framework at gnuNify 2010
Get going with CakePHP Framework at gnuNify 2010
 
Your API on Steroids
Your API on Steroids Your API on Steroids
Your API on Steroids
 
Security DevOps: Wie Sie in agilen Projekten trotzdem sicher bleiben // JAX 2015
Security DevOps: Wie Sie in agilen Projekten trotzdem sicher bleiben // JAX 2015Security DevOps: Wie Sie in agilen Projekten trotzdem sicher bleiben // JAX 2015
Security DevOps: Wie Sie in agilen Projekten trotzdem sicher bleiben // JAX 2015
 
Sap tutorial[1](1)
Sap tutorial[1](1)Sap tutorial[1](1)
Sap tutorial[1](1)
 
Sap tutorial
Sap tutorialSap tutorial
Sap tutorial
 
Onion Architecture with S#arp
Onion Architecture with S#arpOnion Architecture with S#arp
Onion Architecture with S#arp
 
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
How easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performanceHow easy (or hard) it is to monitor your graph ql service performance
How easy (or hard) it is to monitor your graph ql service performance
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
 
2015 Java update and roadmap, JUG sevilla
2015  Java update and roadmap, JUG sevilla2015  Java update and roadmap, JUG sevilla
2015 Java update and roadmap, JUG sevilla
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 

GraphAware Framework Intro