SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Jason Plurad • pluradj@us.ibm.com • @pluradj
Software Developer • IBM Open Technology
Project Management Committee • Apache TinkerPop
November 18, 2017 • Open Camps NYC • #OpenCamps2017
Graph Computing
with Apache TinkerPop
Open Source Graphs – Preach!
2 @pluradj #OpenCamps2017
Social Graphs, Right?
3 @pluradj #OpenCamps2017
Property Graph
4 @pluradj #OpenCamps2017
Apache TinkerPop
§ Open source, vendor-agnostic,
graph computing framework
§ Gremlin graph traversal language
5
Apache TinkerPop™
Maintainer Apache
Software
Foundation
License Apache
Latest Release 3.3.0
August 2017
https://tinkerpop.apache.org
@pluradj #OpenCamps2017
Graph System Integration
6 @pluradj #OpenCamps2017
Graph Provider Landscape
7 @pluradj #OpenCamps2017
Open Source (OLAP)
• Apache Giraph
• Apache Spark
Vendor
• DataStax DSE Graph
• Azure Cosmos DB
• Neo4j
• OrientDB
• Stardog
Open Source
• Apache S2Graph
• HGraphDB
• JanusGraph
• TinkerGraph
• UniPop
Open Source Contributions
Gremlin Traversal Language
9
Recursively show all employees and their supervisors
Daniel Kuppitz @dkuppitz
http://sql2gremlin.com/
@pluradj #OpenCamps2017
Jean-Baptiste Musso @jbmusso
https://github.com/jbmusso/gremlin-javascript
Gremlin Bindings
@pluradj #OpenCamps2017
Gremlin Language Drivers
§ Elevate Gremlin to a top-level citizen in the programming language of choice
§ GLV can work with any modern language
– Function composition
– Function nesting
§ Java and Groovy (native)
§ Python is the first non-JVM GLV
§ Others are coming soon (JavaScript, C#, Go)
§ SPARQL-Gremlin and SQL-Gremlin
http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants
@pluradj #OpenCamps2017
Gremlin Language Variants (GLV)
12
Graph Databases, Gremlin and TinkerPop – A Tutorial
Kelvin Lawrence @gfxman
https://github.com/krlawrence/graph
@pluradj #OpenCamps2017
13
Graph Model: Air Routes
@pluradj #OpenCamps2017
airport
continentcountry
route
code
desc
code
desc
code
city
desc
elev
lat
lon
dist
14
Gremlin: Add a Vertex
@pluradj #OpenCamps2017
Vertex rdu = g.addV('airport').
property('code', 'RDU').
property('city', 'Raleigh').
property('desc', 'Raleigh-Durham International').
property('elev', 435).
property('lat', 35.877601).
property('lon', -78.787498).
next()
15
Gremlin: Add an Edge
@pluradj #OpenCamps2017
Edge rdujfk = g.V().
has('airport', 'code', 'RDU').
addE('route').to(
g.V().has('airport', 'code', 'JFK' ) ).
property('dist', 427).
next()
16
Where can I fly non-stop from Raleigh?
@pluradj #OpenCamps2017
> g.V().has('airport', 'code', 'RDU').
out('route').
values('code').
fold().
toList()
==> [IAH, JFK, LAX, LGA, MCO, MIA, MSP, HOU,
CLE, DFW, FLL, IAD, MSY, YYZ, PHX, BDL, SEA,
CMH, SFO, TTN, TPA, SFB, SLC, PGD, LAS, PIE,
DEN, EWR, ATL, AUS, BNA, BOS, BWI, MDW, DCA,
ORD, STL, DAL, PHL, CDG, DTW, LHR, CLT, PIT,
MEM, CUN, IND, CVG]
17
What international flights depart from Raleigh?
@pluradj #OpenCamps2017
> g.V().has('airport', 'code', 'RDU').
out('route').
has('country', neq('US')).
values('city').
toList()
==> Toronto
==> Paris
==> London
==> Cancun
18
What is the shortest path to Melbourne?
@pluradj #OpenCamps2017
> g.V(rdu).
repeat( out('route').simplePath() ).
until( has('code', 'MEL') ).
limit(5).
path().by('code').
toList()
==> [RDU, LAX, MEL]
==> [RDU, IAH, NRT, MEL]
==> [RDU, IAH, DXB, MEL]
==> [RDU, IAH, AKL, MEL]
==> [RDU, IAH, PEK, MEL]
19
Graph Code Patterns
IBM Cognitive OpenTech & Performance
https://github.com/IBM/janusgraph-utils
§ A 360° view of how Apache TinkerPop and JanusGraph solves a specific problem
– Includes contextual overviews, architecture diagrams, process flows, demos, blog posts,
and source code
§ Twitter-like application in JanusGraph
– Data generator
– Schema loader
– CSV importer
– Graph model and Gremlin queries
§ Contributions welcome!
20
Graphic Design
Ketrina Yim @KetrinaYim
http://ketrinadrawsalot.tumblr.com/
@pluradj #OpenCamps2017
Thank you!

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

JanusGraph, Jupyter Meetup NYC
JanusGraph, Jupyter Meetup NYCJanusGraph, Jupyter Meetup NYC
JanusGraph, Jupyter Meetup NYC
 
Janus graph lookingbackwardreachingforward
Janus graph lookingbackwardreachingforwardJanus graph lookingbackwardreachingforward
Janus graph lookingbackwardreachingforward
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
 
Data Science in the Cloud
Data Science in the CloudData Science in the Cloud
Data Science in the Cloud
 
Cloud architectures for data science
Cloud architectures for data scienceCloud architectures for data science
Cloud architectures for data science
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Zentral QueryCon 2018
Zentral QueryCon 2018Zentral QueryCon 2018
Zentral QueryCon 2018
 
Introduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformIntroduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data Platform
 
The IoT and big data
The IoT and big dataThe IoT and big data
The IoT and big data
 
FUTURESTACK13: Software analytics with Project Rubicon from Alex Kroman Engin...
FUTURESTACK13: Software analytics with Project Rubicon from Alex Kroman Engin...FUTURESTACK13: Software analytics with Project Rubicon from Alex Kroman Engin...
FUTURESTACK13: Software analytics with Project Rubicon from Alex Kroman Engin...
 
Big data groningen
Big data groningenBig data groningen
Big data groningen
 
Python and H2O with Cliff Click at PyData Dallas 2015
Python and H2O with Cliff Click at PyData Dallas 2015Python and H2O with Cliff Click at PyData Dallas 2015
Python and H2O with Cliff Click at PyData Dallas 2015
 
Big data groningen
Big data groningenBig data groningen
Big data groningen
 
Intro To Graph Databases - Oxana Goriuc
Intro To Graph Databases - Oxana GoriucIntro To Graph Databases - Oxana Goriuc
Intro To Graph Databases - Oxana Goriuc
 
Heterogeneous Data Mining with Spark
Heterogeneous Data Mining with SparkHeterogeneous Data Mining with Spark
Heterogeneous Data Mining with Spark
 
Py datanyc2015
Py datanyc2015Py datanyc2015
Py datanyc2015
 
Publishing metadata provenance
Publishing metadata provenancePublishing metadata provenance
Publishing metadata provenance
 
Presto summit israel 2019-04
Presto summit   israel 2019-04Presto summit   israel 2019-04
Presto summit israel 2019-04
 
An indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
An indepth look at Google BigQuery Architecture by Felipe Hoffa of GoogleAn indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
An indepth look at Google BigQuery Architecture by Felipe Hoffa of Google
 
Big Data - part 5/7 of "7 modern trends that every IT Pro should know about"
Big Data - part 5/7 of "7 modern trends that every IT Pro should know about"Big Data - part 5/7 of "7 modern trends that every IT Pro should know about"
Big Data - part 5/7 of "7 modern trends that every IT Pro should know about"
 

Semelhante a Graph Computing with Apache TinkerPop

Semelhante a Graph Computing with Apache TinkerPop (20)

A tech writer, a map, and an app
A tech writer, a map, and an appA tech writer, a map, and an app
A tech writer, a map, and an app
 
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
 
PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
 
State of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open SourceState of the Art Web Mapping with Open Source
State of the Art Web Mapping with Open Source
 
Deep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdfDeep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdf
 
GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0GraphQL Meetup Bangkok 3.0
GraphQL Meetup Bangkok 3.0
 
SparkR - Play Spark Using R (20160909 HadoopCon)
SparkR - Play Spark Using R (20160909 HadoopCon)SparkR - Play Spark Using R (20160909 HadoopCon)
SparkR - Play Spark Using R (20160909 HadoopCon)
 
SETCON'18 - Ilya labacheuski - GraphQL adventures
SETCON'18 - Ilya labacheuski - GraphQL adventuresSETCON'18 - Ilya labacheuski - GraphQL adventures
SETCON'18 - Ilya labacheuski - GraphQL adventures
 
Monitoring Spark Applications
Monitoring Spark ApplicationsMonitoring Spark Applications
Monitoring Spark Applications
 
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
 
Automobile Route Matching with Dynamic Time Warping Using PySpark with Cather...
Automobile Route Matching with Dynamic Time Warping Using PySpark with Cather...Automobile Route Matching with Dynamic Time Warping Using PySpark with Cather...
Automobile Route Matching with Dynamic Time Warping Using PySpark with Cather...
 
Apache Spark Machine Learning Decision Trees
Apache Spark Machine Learning Decision TreesApache Spark Machine Learning Decision Trees
Apache Spark Machine Learning Decision Trees
 
Microsoft R Server for Data Sciencea
Microsoft R Server for Data ScienceaMicrosoft R Server for Data Sciencea
Microsoft R Server for Data Sciencea
 
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
 
Free Code Friday - Machine Learning with Apache Spark
Free Code Friday - Machine Learning with Apache SparkFree Code Friday - Machine Learning with Apache Spark
Free Code Friday - Machine Learning with Apache Spark
 
Graph computation
Graph computationGraph computation
Graph computation
 
RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)RR & Docker @ MuensteR Meetup (Sep 2017)
RR & Docker @ MuensteR Meetup (Sep 2017)
 
Document Conversion & Retrieve and Rank 一問一答
Document Conversion & Retrieve and Rank 一問一答Document Conversion & Retrieve and Rank 一問一答
Document Conversion & Retrieve and Rank 一問一答
 
Three Functional Programming Technologies for Big Data
Three Functional Programming Technologies for Big DataThree Functional Programming Technologies for Big Data
Three Functional Programming Technologies for Big Data
 
JAX-RS and CDI Bike the (Reactive) Bridge
JAX-RS and CDI Bike the (Reactive) BridgeJAX-RS and CDI Bike the (Reactive) Bridge
JAX-RS and CDI Bike the (Reactive) Bridge
 

Mais de Jason Plurad

Mais de Jason Plurad (6)

Community-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraphCommunity-Driven Graphs with JanusGraph
Community-Driven Graphs with JanusGraph
 
Graph Processing with Apache TinkerPop and Gremlin
Graph Processing with Apache TinkerPop and GremlinGraph Processing with Apache TinkerPop and Gremlin
Graph Processing with Apache TinkerPop and Gremlin
 
IBM Open by Design: Graph Technology
IBM Open by Design: Graph TechnologyIBM Open by Design: Graph Technology
IBM Open by Design: Graph Technology
 
Enabling Multimodel Graphs with Apache TinkerPop
Enabling Multimodel Graphs with Apache TinkerPopEnabling Multimodel Graphs with Apache TinkerPop
Enabling Multimodel Graphs with Apache TinkerPop
 
Graph Processing with Titan and Scylla
Graph Processing with Titan and ScyllaGraph Processing with Titan and Scylla
Graph Processing with Titan and Scylla
 
Graph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopGraph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPop
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Último (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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-...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Graph Computing with Apache TinkerPop

  • 1. Jason Plurad • pluradj@us.ibm.com • @pluradj Software Developer • IBM Open Technology Project Management Committee • Apache TinkerPop November 18, 2017 • Open Camps NYC • #OpenCamps2017 Graph Computing with Apache TinkerPop
  • 2. Open Source Graphs – Preach! 2 @pluradj #OpenCamps2017
  • 3. Social Graphs, Right? 3 @pluradj #OpenCamps2017
  • 4. Property Graph 4 @pluradj #OpenCamps2017
  • 5. Apache TinkerPop § Open source, vendor-agnostic, graph computing framework § Gremlin graph traversal language 5 Apache TinkerPop™ Maintainer Apache Software Foundation License Apache Latest Release 3.3.0 August 2017 https://tinkerpop.apache.org @pluradj #OpenCamps2017
  • 6. Graph System Integration 6 @pluradj #OpenCamps2017
  • 7. Graph Provider Landscape 7 @pluradj #OpenCamps2017 Open Source (OLAP) • Apache Giraph • Apache Spark Vendor • DataStax DSE Graph • Azure Cosmos DB • Neo4j • OrientDB • Stardog Open Source • Apache S2Graph • HGraphDB • JanusGraph • TinkerGraph • UniPop
  • 9. Gremlin Traversal Language 9 Recursively show all employees and their supervisors Daniel Kuppitz @dkuppitz http://sql2gremlin.com/ @pluradj #OpenCamps2017
  • 10. Jean-Baptiste Musso @jbmusso https://github.com/jbmusso/gremlin-javascript Gremlin Bindings @pluradj #OpenCamps2017 Gremlin Language Drivers
  • 11. § Elevate Gremlin to a top-level citizen in the programming language of choice § GLV can work with any modern language – Function composition – Function nesting § Java and Groovy (native) § Python is the first non-JVM GLV § Others are coming soon (JavaScript, C#, Go) § SPARQL-Gremlin and SQL-Gremlin http://tinkerpop.apache.org/docs/current/tutorials/gremlin-language-variants @pluradj #OpenCamps2017 Gremlin Language Variants (GLV)
  • 12. 12 Graph Databases, Gremlin and TinkerPop – A Tutorial Kelvin Lawrence @gfxman https://github.com/krlawrence/graph @pluradj #OpenCamps2017
  • 13. 13 Graph Model: Air Routes @pluradj #OpenCamps2017 airport continentcountry route code desc code desc code city desc elev lat lon dist
  • 14. 14 Gremlin: Add a Vertex @pluradj #OpenCamps2017 Vertex rdu = g.addV('airport'). property('code', 'RDU'). property('city', 'Raleigh'). property('desc', 'Raleigh-Durham International'). property('elev', 435). property('lat', 35.877601). property('lon', -78.787498). next()
  • 15. 15 Gremlin: Add an Edge @pluradj #OpenCamps2017 Edge rdujfk = g.V(). has('airport', 'code', 'RDU'). addE('route').to( g.V().has('airport', 'code', 'JFK' ) ). property('dist', 427). next()
  • 16. 16 Where can I fly non-stop from Raleigh? @pluradj #OpenCamps2017 > g.V().has('airport', 'code', 'RDU'). out('route'). values('code'). fold(). toList() ==> [IAH, JFK, LAX, LGA, MCO, MIA, MSP, HOU, CLE, DFW, FLL, IAD, MSY, YYZ, PHX, BDL, SEA, CMH, SFO, TTN, TPA, SFB, SLC, PGD, LAS, PIE, DEN, EWR, ATL, AUS, BNA, BOS, BWI, MDW, DCA, ORD, STL, DAL, PHL, CDG, DTW, LHR, CLT, PIT, MEM, CUN, IND, CVG]
  • 17. 17 What international flights depart from Raleigh? @pluradj #OpenCamps2017 > g.V().has('airport', 'code', 'RDU'). out('route'). has('country', neq('US')). values('city'). toList() ==> Toronto ==> Paris ==> London ==> Cancun
  • 18. 18 What is the shortest path to Melbourne? @pluradj #OpenCamps2017 > g.V(rdu). repeat( out('route').simplePath() ). until( has('code', 'MEL') ). limit(5). path().by('code'). toList() ==> [RDU, LAX, MEL] ==> [RDU, IAH, NRT, MEL] ==> [RDU, IAH, DXB, MEL] ==> [RDU, IAH, AKL, MEL] ==> [RDU, IAH, PEK, MEL]
  • 19. 19 Graph Code Patterns IBM Cognitive OpenTech & Performance https://github.com/IBM/janusgraph-utils § A 360° view of how Apache TinkerPop and JanusGraph solves a specific problem – Includes contextual overviews, architecture diagrams, process flows, demos, blog posts, and source code § Twitter-like application in JanusGraph – Data generator – Schema loader – CSV importer – Graph model and Gremlin queries § Contributions welcome!
  • 20. 20 Graphic Design Ketrina Yim @KetrinaYim http://ketrinadrawsalot.tumblr.com/ @pluradj #OpenCamps2017