SlideShare a Scribd company logo
Graph Gurus
Episode 14
Pattern Matching using GSQL Interpreted Mode
© 2019 TigerGraph. All Rights Reserved
Welcome
● Attendees are muted
● If you have any Zoom issues please contact the panelists via chat
● We will have 10 min for Q&A at the end so please send your questions
at any time using the Q&A tab in the Zoom menu
● The webinar will be recorded and sent via email
2
© 2019 TigerGraph. All Rights Reserved
Today's Gurus
3
Victor Lee
Director, Product Management
● BS in Electrical Engineering and Computer
Science from UC Berkeley
● MS in Electrical Engineering from Stanford
University
● PhD in Computer Science from Kent State
University focused on graph data mining
● 15+ years in tech industry
Mingxi Wu
VP, Engineering
● BS in Computer Science from Fudan University,
China
● MS in Computer Science from University of Florida
● PhD in Computer Science from University of
Florida
● 19+ years in data management industry &
research
© 2019 TigerGraph. All Rights Reserved
Agenda
4
● Pattern Matching Uses in Data Analytics
● GSQL Pattern Matching Syntax and Semantics
● Pattern Matching Using LDBC SNB Data (Demo)
● A Recommendation Application (Demo)
● Q&A
© 2019 TigerGraph. All Rights Reserved
Graph Use Cases
5
By Dan McCreary https://medium.com/@dmccreary/a-taxonomy-of-graph-use-cases-2ba34618cf78
© 2019 TigerGraph. All Rights Reserved
Graph Use Cases
6
Rule
Enforcement
Flexible
Modeling, Data
Integration
Insight from
Relationships
Reporting,
Auditing
Clustering,
Community,
Similarity,
Ranking
Finding
Connections,
Deep Link
Analysis
Anti-Fraud
Recommendation
Master Data
Management
Machine Learning,
Explainable AI
Entity
Resolution
Ad Hoc
Exploration,
Visual
Explainable
Results
Knowledge
Inference
Risk
Management
Data
Provenance
© 2019 TigerGraph. All Rights Reserved
Graph Use Cases
7
Rule
Enforcement
Flexible
Modeling, Data
Integration
Insight from
Relationships
Reporting,
Auditing
Clustering,
Community,
Similarity,
Ranking
Finding
Connections,
Deep Link
Analysis
Anti-Fraud
Recommendation
Master Data
Management
Machine Learning,
Explainable AI
Entity
Resolution
Ad Hoc
Exploration,
Visual
Explainable
Results
Knowledge
Inference
Risk
Management
Data
Provenance
Pattern
Matching/Search
© 2019 TigerGraph. All Rights Reserved
Graph Patterns
Any arrangement of connected nodes, used as a search input:
"Find all the occurrences like this"
Pattern Types
● Transactional Patterns
● Social Patterns
● Event Patterns
● Hybrid Patterns
Uses
● Recommendation
● Fraud/Crime
● Security/Risk/Rules
● Trends/Insight
© 2019 TigerGraph. All Rights Reserved 9
Detecting Phone-Based Fraud by Analyzing Network or Graph
Relationship Features at China Mobile
Download the solution brief at - https://info.tigergraph.com/MachineLearning
© 2019 TigerGraph. All Rights Reserved
Pattern Matching Overview
10
● What is a pattern?
○ Pattern is a traversal trace on the graph schema
○ Use regular expression to represent the repetitive steps
○ Pattern can be linear, or nonlinear (tree, circle etc.)
● Example
○ Imagine a schema consisting of a Person vertex type and a
Friendship edge type.
○ A pattern
■ Person-(Friendship)-Person-(Friendship)-Person
■ Person-(Friendship*2)-Person
© 2019 TigerGraph. All Rights Reserved
Pattern Matching Overview
11
● What is Pattern Matching?
○ Pattern matching is the process of finding subgraphs in a
data graph that conforms to a given query pattern.
○ Input
■ Query Pattern P
■ Data Graph G
○ Output
■ Collection of matched instances M = {subgraphs of G}
© 2019 TigerGraph. All Rights Reserved
Query Pattern P
Data Graph G
© 2019 TigerGraph. All Rights Reserved
Query Pattern P
Data Graph G
First Match
© 2019 TigerGraph. All Rights Reserved
Query Pattern P
Data Graph G
First Match
Second Match
© 2019 TigerGraph. All Rights Reserved
Query Pattern P
Data Graph G
First Match
Second Match
Third Match
© 2019 TigerGraph. All Rights Reserved
GSQL Pattern Matching Overview
16
● Simple 1-Hop Pattern
● Repeating a 1-Hop Pattern
● Multi-Hop Linear Pattern
© 2019 TigerGraph. All Rights Reserved
Simple 1-Hop Pattern
17
Classic GSQL Syntax:
FROM X:x -((E1 | E2 | E3):e1)-> Y:y
● Semantics: Traverse from Left to Right
GSQL Pattern Matching Syntax:
FROM X:x -((E1> | <E2 | E3):e1)- Y:y
● Semantics: Pattern is a whole;
each edge's direction is a detail about the pattern
© 2019 TigerGraph. All Rights Reserved
Simple 1-Hop Pattern - Variations
18
1. FROM X:x -(E1:e1)- Y:y
○ E1 is an undirected edge. x, y bind to the end points of E1. e1 is alias to E1.
2. FROM X:x -(E2>:e2)- Y:y
○ Right directed edge, x binds to the source of E2, y binds to the target of E2. e2 is alias of E2.
3. FROM X:x -(<E3:e3)- Y:y
○ Left directed edge, y binds to the source of E3, x binds to the target of E3. e3 is alias of E3.
4. FROM X:x -(_:e)- Y:y
○ Any undirected edge pattern. "_" means any undirected edge type. e is alias of "_".
5. FROM X:x -(_>:e)- Y:y
○ Any right directed edge. "_>" means any right directed edge type. e is alias of "_>".
© 2019 TigerGraph. All Rights Reserved
Simple 1-Hop Pattern - Variations
19
6. FROM X:x -(<_:e)- Y:y
○ Any left directed edge. "<_" means any left directed edge type. e is alias of "<_".
7. FROM X:x -((<_|_):e)- Y:y
○ Any left directed or any undirected. "|" means OR. e is alias of (<_|_).
8. FROM X:x -((E1|E2>|<E3):e) - Y:y
○ Disjunctive 1-hop edge. (x,y) are connected by E1 or E2 or E3. e is alias of (E1|E2>|<E3).
9. FROM X:x -()- Y:y
○ any edge (directed or undirected) match this 1-hop pattern
○ Same as this: (<_|_>|_)
© 2019 TigerGraph. All Rights Reserved
Simple 1-Hop Pattern (cont.)
20
© 2019 TigerGraph. All Rights Reserved 21
© 2019 TigerGraph. All Rights Reserved
Repeating a 1-Hop Pattern - Unbounded Variations
22
1. FROM X:x - (E1*) - Y:y
○ X connect to Y via 0 or more repetition of undirected E1. * is called the Kleene star.
2. FROM X:x - (E2>*) - Y:y
○ X connect to Y via 0 or more repetition of rightward E2
3. FROM X:x - (<E3*) - Y:y
○ X connect to Y via 0 or more repetition of leftward E3
4. FROM X:x - (_*) - Y:y
○ X connect to Y via 0 or more undirected edges of any type
© 2019 TigerGraph. All Rights Reserved
Repeating a 1-Hop Pattern - Unbounded Variations
23
5. FROM X:x - (_>*) - Y:y
○ X connect to Y via 0 or more right-directed edges of any type
6. FROM X:x - (<_*) - Y:y
○ X connect to Y via 0 or more left-directed edges of any type
7. FROM X:x - ((E1|E2>|<E3)*) - Y:y
○ Either E1, E2> or <E3 can be chosen at each repetition.
© 2019 TigerGraph. All Rights Reserved
Repeating a 1-Hop Pattern - Bounded Variations
24
1. FROM X:x - (E1*2..) - Y:y
○ Lower bounds only. There is a chain of at least 2 E1 edges.
2. FROM X:x - (E2>*..3) - Y:y
○ Upper bounds only. There is a chain of between 0 and 3 E2 edges.
3. FROM X:x - (<E3*3..5) - Y:y
○ Both Lower and Upper bounds. There is a chain of 3 to 5 E3 edges.
4. FROM X:x - ((E1|E2>|<E3)*3) - Y:y
○ Exact bound. There is a chain of exactly 3 edges, where each edge is either E1, E2>, or <E3.
© 2019 TigerGraph. All Rights Reserved
Repeating a Pattern - Remarks
25
1. Edge aliases cannot be used together with a Kleene star.
○ When an edge is repeated, it would not clear which instance of the edge
the alias refers to.
2. Shortest path semantics.
○ When an edge is repeated with the Kleene star, we consider shortest path
matches only.
○ Counting and existence check of matched shortest path pattern is
tractable.
© 2019 TigerGraph. All Rights Reserved 26
Example: Shortest Matching Path
In above figure, for the pattern, 1 - (E>*) - 4, the following paths can reach 4 from 1.
1. 1->2->3->4
2. 1->2->3->5->6->2->3->4 (1 loop)
3. Any path 1>2, looping through 2->3->5->6->2 two or more times, and exiting
2>3>4
Only the first one is the shortest, and considered a match for the pattern.
© 2019 TigerGraph. All Rights Reserved 27
Specifying How Many Repetitions (cont.)
© 2019 TigerGraph. All Rights Reserved 28
Specifying How Many Repetitions (cont.)
© 2019 TigerGraph. All Rights Reserved
Multiple-Hop Linear Pattern
29
● 2-hop pattern
○ FROM X:x - (E1:e1) - Y:y - (E2>:e2)-Z:z
1st hop 2nd hop
Similarly, a 3-hop pattern concatenates three 1-hop patterns in sequence,
every two connecting patterns share one endpoint. Below Y:y and Z:z are
the connecting endpoints.
● 3-hop pattern
○ FROM X:x - (E2>:e2) - Y:y - (<E3:e3)- Z:z - (E4:e4) - U:u
1st hop 2nd hop 3rd hop
© 2019 TigerGraph. All Rights Reserved
Multiple-Hop Linear Pattern
30
● SELECT Clause
○ select pattern’s endpoints only
○ FROM X:x-(E2>:e2)-Y:y-(<E3:e3)-Z:z-(E4:e4)-U:u;
● FROM Clause
○ FROM pattern can be shortened
■ FROM X:x-(E2>:e2)-Y:y-(<E3:e3)-Z:z-(E4:e4)-U:u ⇒
■ FROM X:x-(E2>.<E3.E4)-U:u; //note: no alias is allowed for E.E style
● WHERE Clause
○ Conjunction of local hop predicate only
○ Last hop local predicate can refer to the starting end point
○ Kleene star breaks local hop predicate
● ACCUM and POST-ACCUM Clause
○ ACCUM clause executed for each matched instance
○ ACCUM to endpoints only
© 2019 TigerGraph. All Rights Reserved
How To Use In Upcoming Release 2.4
31
● Session Parameter
○ set syntax_version="v2" //for pattern match
○ set syntax_version="v1" //default, classic syntax
● Invoke Interpret GSQL Engine
○ INTERPRET QUERY QueryName (p1, p2, ..) //run existing query
○ INTERPRET QUERY () FOR GRAPH graphName { } //adhoc query
● Query Level Syntax Setting
○ CREATE QUERY (p1, p2.,.) Name FOR GRAPH test SYNTAX("v2") { }
○ INTERPRET QUERY () FOR GRAPH test SYNTAX("v1") { }
© 2019 TigerGraph. All Rights Reserved
Demo Setup
32
© 2019 TigerGraph. All Rights Reserved
Demo Setup
33
E1 1,003,605
E2 2,052,169
E3 1,003,605
E4 229,166
E5 1,611,869
E6 90,492
E7 2,698,393
E8 713,258
E9 309,766
E10 16,080
E11 1,575
E12 6,380
E13 2,052,169
E14 1,003,605
E15 9,892
E16 1,343
E17 111
E18 70
Total :
3.18M vertices
17.25M edges
11 vertex types
25 edge types
Vertex Stats
Edge Stats
Total comment post
compan
y university city country continent forum person tag tagclass
# attributes 6 8 3 3 3 3 3 3 10 3 3
# vertices 3.18 M 2,052,169 1,003,605 1,575 6,380 1,343 111 6 90,492 9,892 16,080 71
E19 180,623
E20 1,438,418
E21 751,677
E22 1,040,749
E23 1,011,420
E24 7,949
E25 21,654
© 2019 TigerGraph. All Rights Reserved
Demo Setup
34
© 2019 TigerGraph. All Rights Reserved
Demo On Docker
35
© 2019 TigerGraph. All Rights Reserved
Summary
36
Version 2.4
Available End Jun
● Pattern Matching enables
● Demo: Pattern Match Using LDBC Social Network Benchmark Data
○ Interpreted Mode on laptop Docker -- run queries instantly as
soon as you write them
● Demo: Pattern Matching in a Recommender Application
○ Interpreted Mode again
Q&A
Please send your questions via the Q&A menu in Zoom
37
© 2019 TigerGraph. All Rights Reserved
Developer Edition Available
We now offer Docker versions and VirtualBox versions of the TigerGraph
Developer Edition, so you can now run on
● MacOS
● Windows 10
● Linux
Developer Edition Download https://www.tigergraph.com/developer/
38
© 2019 TigerGraph. All Rights Reserved
NEW! Graph Gurus Developer Office Hours
39
Catch up on previous episodes of Graph Gurus:
https://www.tigergraph.com/webinars-and-events/
Every Thursday at 11:00 am Pacific
Talk directly with our engineers every
week. During office hours, you get
answers to any questions pertaining to
graph modeling and GSQL
programming.
https://info.tigergraph.com/officehours
© 2019 TigerGraph. All Rights Reserved
Additional Resources
40
New Developer Portal
https://www.tigergraph.com/developers/
Download the Developer Edition or Enterprise Free Trial
https://www.tigergraph.com/download/
Guru Scripts
https://github.com/tigergraph/ecosys/tree/master/guru_scripts
Join our Developer Forum
https://groups.google.com/a/opengsql.org/forum/#!forum/gsql-users
@TigerGraphDB youtube.com/tigergraph facebook.com/TigerGraphDB linkedin.com/company/TigerGraph

More Related Content

What's hot

Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
Russell Jurney
 
Gremlin's Anatomy
Gremlin's AnatomyGremlin's Anatomy
Gremlin's Anatomy
Stephen Mallette
 
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
Amazon Web Services Korea
 
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018Amazon Web Services Korea
 
How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWS
Amazon Web Services
 
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
AWS Korea 금융산업팀
 
Network embedding
Network embeddingNetwork embedding
Network embedding
SOYEON KIM
 
Neptune webinar AWS
Neptune webinar AWS Neptune webinar AWS
Neptune webinar AWS
Amazon Web Services
 
Introduction of Knowledge Graphs
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge Graphs
Jeff Z. Pan
 
Introduction to spark
Introduction to sparkIntroduction to spark
Introduction to spark
Home
 
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon Web Services Korea
 
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
TigerGraph
 
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
Amazon Web Services
 
Introduction to Apache Hive
Introduction to Apache HiveIntroduction to Apache Hive
Introduction to Apache Hive
Avkash Chauhan
 
Big Data Architecture and Design Patterns
Big Data Architecture and Design PatternsBig Data Architecture and Design Patterns
Big Data Architecture and Design Patterns
John Yeung
 
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache Spark
Databricks
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
Amazon Web Services
 
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech TalksHow to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
Amazon Web Services
 
Introduction to AWS Glue
Introduction to AWS Glue Introduction to AWS Glue
Introduction to AWS Glue
Amazon Web Services
 
Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...
TigerGraph
 

What's hot (20)

Introduction to PySpark
Introduction to PySparkIntroduction to PySpark
Introduction to PySpark
 
Gremlin's Anatomy
Gremlin's AnatomyGremlin's Anatomy
Gremlin's Anatomy
 
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
대규모 온프레미스 하둡 마이그레이션을 위한 실행 전략과 최적화 방안 소개-유철민, AWS Data Architect / 박성열,AWS Pr...
 
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
AWS를 활용한 상품 추천 서비스 구축::김태현:: AWS Summit Seoul 2018
 
How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWS
 
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
 
Network embedding
Network embeddingNetwork embedding
Network embedding
 
Neptune webinar AWS
Neptune webinar AWS Neptune webinar AWS
Neptune webinar AWS
 
Introduction of Knowledge Graphs
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge Graphs
 
Introduction to spark
Introduction to sparkIntroduction to spark
Introduction to spark
 
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Lake Formation을 통한 손쉬운 데이터 레이크 구성 및 관리 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
 
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
Migrating to Amazon Neptune (DAT338) - AWS re:Invent 2018
 
Introduction to Apache Hive
Introduction to Apache HiveIntroduction to Apache Hive
Introduction to Apache Hive
 
Big Data Architecture and Design Patterns
Big Data Architecture and Design PatternsBig Data Architecture and Design Patterns
Big Data Architecture and Design Patterns
 
Building Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache SparkBuilding Robust ETL Pipelines with Apache Spark
Building Robust ETL Pipelines with Apache Spark
 
Amazon Aurora
Amazon AuroraAmazon Aurora
Amazon Aurora
 
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech TalksHow to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
How to Build a Data Lake in Amazon S3 & Amazon Glacier - AWS Online Tech Talks
 
Introduction to AWS Glue
Introduction to AWS Glue Introduction to AWS Glue
Introduction to AWS Glue
 
Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...
 

Similar to Graph Gurus Episode 14: Pattern Matching

An Efficient Model for Line Clipping Operation
An Efficient Model for Line Clipping OperationAn Efficient Model for Line Clipping Operation
An Efficient Model for Line Clipping Operation
Kasun Ranga Wijeweera
 
ae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.pptae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.ppt
Sushilkumar Jogdankar
 
Algorithm of some numerical /computational methods
Algorithm of some numerical /computational methodsAlgorithm of some numerical /computational methods
Algorithm of some numerical /computational methods
Chandan
 
Output Units and Cost Function in FNN
Output Units and Cost Function in FNNOutput Units and Cost Function in FNN
Output Units and Cost Function in FNN
Lin JiaMing
 
1 sollins algorithm
1 sollins algorithm1 sollins algorithm
1 sollins algorithm
Muhammad Salman
 
WachemoUniversity_Cryptography_and_Network_Security.pdf
WachemoUniversity_Cryptography_and_Network_Security.pdfWachemoUniversity_Cryptography_and_Network_Security.pdf
WachemoUniversity_Cryptography_and_Network_Security.pdf
LegesseSamuel
 
5. Signal flow graph, Mason’s gain formula.pptx
5. Signal flow graph, Mason’s gain formula.pptx5. Signal flow graph, Mason’s gain formula.pptx
5. Signal flow graph, Mason’s gain formula.pptx
AMSuryawanshi
 

Similar to Graph Gurus Episode 14: Pattern Matching (7)

An Efficient Model for Line Clipping Operation
An Efficient Model for Line Clipping OperationAn Efficient Model for Line Clipping Operation
An Efficient Model for Line Clipping Operation
 
ae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.pptae_722_unstructured_meshes.ppt
ae_722_unstructured_meshes.ppt
 
Algorithm of some numerical /computational methods
Algorithm of some numerical /computational methodsAlgorithm of some numerical /computational methods
Algorithm of some numerical /computational methods
 
Output Units and Cost Function in FNN
Output Units and Cost Function in FNNOutput Units and Cost Function in FNN
Output Units and Cost Function in FNN
 
1 sollins algorithm
1 sollins algorithm1 sollins algorithm
1 sollins algorithm
 
WachemoUniversity_Cryptography_and_Network_Security.pdf
WachemoUniversity_Cryptography_and_Network_Security.pdfWachemoUniversity_Cryptography_and_Network_Security.pdf
WachemoUniversity_Cryptography_and_Network_Security.pdf
 
5. Signal flow graph, Mason’s gain formula.pptx
5. Signal flow graph, Mason’s gain formula.pptx5. Signal flow graph, Mason’s gain formula.pptx
5. Signal flow graph, Mason’s gain formula.pptx
 

More from TigerGraph

MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATIONMAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
TigerGraph
 
Building an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signalsBuilding an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signals
TigerGraph
 
Care Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information SystemCare Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information System
TigerGraph
 
Correspondent Banking Networks
Correspondent Banking NetworksCorrespondent Banking Networks
Correspondent Banking Networks
TigerGraph
 
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
TigerGraph
 
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
TigerGraph
 
Fraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph LearningFraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph Learning
TigerGraph
 
Fraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On GraphsFraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On Graphs
TigerGraph
 
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraphFROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
TigerGraph
 
Customer Experience Management
Customer Experience ManagementCustomer Experience Management
Customer Experience Management
TigerGraph
 
Graph+AI for Fin. Services
Graph+AI for Fin. ServicesGraph+AI for Fin. Services
Graph+AI for Fin. Services
TigerGraph
 
Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.
TigerGraph
 
Plume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis LibraryPlume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis Library
TigerGraph
 
TigerGraph.js
TigerGraph.jsTigerGraph.js
TigerGraph.js
TigerGraph
 
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMSGRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
TigerGraph
 
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 ...
TigerGraph
 
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
TigerGraph
 
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUIMachine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
TigerGraph
 
Recommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine LearningRecommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine Learning
TigerGraph
 
Supply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AISupply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AI
TigerGraph
 

More from TigerGraph (20)

MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATIONMAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
 
Building an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signalsBuilding an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signals
 
Care Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information SystemCare Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information System
 
Correspondent Banking Networks
Correspondent Banking NetworksCorrespondent Banking Networks
Correspondent Banking Networks
 
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
 
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
 
Fraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph LearningFraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph Learning
 
Fraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On GraphsFraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On Graphs
 
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraphFROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
 
Customer Experience Management
Customer Experience ManagementCustomer Experience Management
Customer Experience Management
 
Graph+AI for Fin. Services
Graph+AI for Fin. ServicesGraph+AI for Fin. Services
Graph+AI for Fin. Services
 
Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.
 
Plume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis LibraryPlume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis Library
 
TigerGraph.js
TigerGraph.jsTigerGraph.js
TigerGraph.js
 
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMSGRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
 
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 ...
 
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
 
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUIMachine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
 
Recommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine LearningRecommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine Learning
 
Supply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AISupply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AI
 

Recently uploaded

Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 

Recently uploaded (20)

Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 

Graph Gurus Episode 14: Pattern Matching

  • 1. Graph Gurus Episode 14 Pattern Matching using GSQL Interpreted Mode
  • 2. © 2019 TigerGraph. All Rights Reserved Welcome ● Attendees are muted ● If you have any Zoom issues please contact the panelists via chat ● We will have 10 min for Q&A at the end so please send your questions at any time using the Q&A tab in the Zoom menu ● The webinar will be recorded and sent via email 2
  • 3. © 2019 TigerGraph. All Rights Reserved Today's Gurus 3 Victor Lee Director, Product Management ● BS in Electrical Engineering and Computer Science from UC Berkeley ● MS in Electrical Engineering from Stanford University ● PhD in Computer Science from Kent State University focused on graph data mining ● 15+ years in tech industry Mingxi Wu VP, Engineering ● BS in Computer Science from Fudan University, China ● MS in Computer Science from University of Florida ● PhD in Computer Science from University of Florida ● 19+ years in data management industry & research
  • 4. © 2019 TigerGraph. All Rights Reserved Agenda 4 ● Pattern Matching Uses in Data Analytics ● GSQL Pattern Matching Syntax and Semantics ● Pattern Matching Using LDBC SNB Data (Demo) ● A Recommendation Application (Demo) ● Q&A
  • 5. © 2019 TigerGraph. All Rights Reserved Graph Use Cases 5 By Dan McCreary https://medium.com/@dmccreary/a-taxonomy-of-graph-use-cases-2ba34618cf78
  • 6. © 2019 TigerGraph. All Rights Reserved Graph Use Cases 6 Rule Enforcement Flexible Modeling, Data Integration Insight from Relationships Reporting, Auditing Clustering, Community, Similarity, Ranking Finding Connections, Deep Link Analysis Anti-Fraud Recommendation Master Data Management Machine Learning, Explainable AI Entity Resolution Ad Hoc Exploration, Visual Explainable Results Knowledge Inference Risk Management Data Provenance
  • 7. © 2019 TigerGraph. All Rights Reserved Graph Use Cases 7 Rule Enforcement Flexible Modeling, Data Integration Insight from Relationships Reporting, Auditing Clustering, Community, Similarity, Ranking Finding Connections, Deep Link Analysis Anti-Fraud Recommendation Master Data Management Machine Learning, Explainable AI Entity Resolution Ad Hoc Exploration, Visual Explainable Results Knowledge Inference Risk Management Data Provenance Pattern Matching/Search
  • 8. © 2019 TigerGraph. All Rights Reserved Graph Patterns Any arrangement of connected nodes, used as a search input: "Find all the occurrences like this" Pattern Types ● Transactional Patterns ● Social Patterns ● Event Patterns ● Hybrid Patterns Uses ● Recommendation ● Fraud/Crime ● Security/Risk/Rules ● Trends/Insight
  • 9. © 2019 TigerGraph. All Rights Reserved 9 Detecting Phone-Based Fraud by Analyzing Network or Graph Relationship Features at China Mobile Download the solution brief at - https://info.tigergraph.com/MachineLearning
  • 10. © 2019 TigerGraph. All Rights Reserved Pattern Matching Overview 10 ● What is a pattern? ○ Pattern is a traversal trace on the graph schema ○ Use regular expression to represent the repetitive steps ○ Pattern can be linear, or nonlinear (tree, circle etc.) ● Example ○ Imagine a schema consisting of a Person vertex type and a Friendship edge type. ○ A pattern ■ Person-(Friendship)-Person-(Friendship)-Person ■ Person-(Friendship*2)-Person
  • 11. © 2019 TigerGraph. All Rights Reserved Pattern Matching Overview 11 ● What is Pattern Matching? ○ Pattern matching is the process of finding subgraphs in a data graph that conforms to a given query pattern. ○ Input ■ Query Pattern P ■ Data Graph G ○ Output ■ Collection of matched instances M = {subgraphs of G}
  • 12. © 2019 TigerGraph. All Rights Reserved Query Pattern P Data Graph G
  • 13. © 2019 TigerGraph. All Rights Reserved Query Pattern P Data Graph G First Match
  • 14. © 2019 TigerGraph. All Rights Reserved Query Pattern P Data Graph G First Match Second Match
  • 15. © 2019 TigerGraph. All Rights Reserved Query Pattern P Data Graph G First Match Second Match Third Match
  • 16. © 2019 TigerGraph. All Rights Reserved GSQL Pattern Matching Overview 16 ● Simple 1-Hop Pattern ● Repeating a 1-Hop Pattern ● Multi-Hop Linear Pattern
  • 17. © 2019 TigerGraph. All Rights Reserved Simple 1-Hop Pattern 17 Classic GSQL Syntax: FROM X:x -((E1 | E2 | E3):e1)-> Y:y ● Semantics: Traverse from Left to Right GSQL Pattern Matching Syntax: FROM X:x -((E1> | <E2 | E3):e1)- Y:y ● Semantics: Pattern is a whole; each edge's direction is a detail about the pattern
  • 18. © 2019 TigerGraph. All Rights Reserved Simple 1-Hop Pattern - Variations 18 1. FROM X:x -(E1:e1)- Y:y ○ E1 is an undirected edge. x, y bind to the end points of E1. e1 is alias to E1. 2. FROM X:x -(E2>:e2)- Y:y ○ Right directed edge, x binds to the source of E2, y binds to the target of E2. e2 is alias of E2. 3. FROM X:x -(<E3:e3)- Y:y ○ Left directed edge, y binds to the source of E3, x binds to the target of E3. e3 is alias of E3. 4. FROM X:x -(_:e)- Y:y ○ Any undirected edge pattern. "_" means any undirected edge type. e is alias of "_". 5. FROM X:x -(_>:e)- Y:y ○ Any right directed edge. "_>" means any right directed edge type. e is alias of "_>".
  • 19. © 2019 TigerGraph. All Rights Reserved Simple 1-Hop Pattern - Variations 19 6. FROM X:x -(<_:e)- Y:y ○ Any left directed edge. "<_" means any left directed edge type. e is alias of "<_". 7. FROM X:x -((<_|_):e)- Y:y ○ Any left directed or any undirected. "|" means OR. e is alias of (<_|_). 8. FROM X:x -((E1|E2>|<E3):e) - Y:y ○ Disjunctive 1-hop edge. (x,y) are connected by E1 or E2 or E3. e is alias of (E1|E2>|<E3). 9. FROM X:x -()- Y:y ○ any edge (directed or undirected) match this 1-hop pattern ○ Same as this: (<_|_>|_)
  • 20. © 2019 TigerGraph. All Rights Reserved Simple 1-Hop Pattern (cont.) 20
  • 21. © 2019 TigerGraph. All Rights Reserved 21
  • 22. © 2019 TigerGraph. All Rights Reserved Repeating a 1-Hop Pattern - Unbounded Variations 22 1. FROM X:x - (E1*) - Y:y ○ X connect to Y via 0 or more repetition of undirected E1. * is called the Kleene star. 2. FROM X:x - (E2>*) - Y:y ○ X connect to Y via 0 or more repetition of rightward E2 3. FROM X:x - (<E3*) - Y:y ○ X connect to Y via 0 or more repetition of leftward E3 4. FROM X:x - (_*) - Y:y ○ X connect to Y via 0 or more undirected edges of any type
  • 23. © 2019 TigerGraph. All Rights Reserved Repeating a 1-Hop Pattern - Unbounded Variations 23 5. FROM X:x - (_>*) - Y:y ○ X connect to Y via 0 or more right-directed edges of any type 6. FROM X:x - (<_*) - Y:y ○ X connect to Y via 0 or more left-directed edges of any type 7. FROM X:x - ((E1|E2>|<E3)*) - Y:y ○ Either E1, E2> or <E3 can be chosen at each repetition.
  • 24. © 2019 TigerGraph. All Rights Reserved Repeating a 1-Hop Pattern - Bounded Variations 24 1. FROM X:x - (E1*2..) - Y:y ○ Lower bounds only. There is a chain of at least 2 E1 edges. 2. FROM X:x - (E2>*..3) - Y:y ○ Upper bounds only. There is a chain of between 0 and 3 E2 edges. 3. FROM X:x - (<E3*3..5) - Y:y ○ Both Lower and Upper bounds. There is a chain of 3 to 5 E3 edges. 4. FROM X:x - ((E1|E2>|<E3)*3) - Y:y ○ Exact bound. There is a chain of exactly 3 edges, where each edge is either E1, E2>, or <E3.
  • 25. © 2019 TigerGraph. All Rights Reserved Repeating a Pattern - Remarks 25 1. Edge aliases cannot be used together with a Kleene star. ○ When an edge is repeated, it would not clear which instance of the edge the alias refers to. 2. Shortest path semantics. ○ When an edge is repeated with the Kleene star, we consider shortest path matches only. ○ Counting and existence check of matched shortest path pattern is tractable.
  • 26. © 2019 TigerGraph. All Rights Reserved 26 Example: Shortest Matching Path In above figure, for the pattern, 1 - (E>*) - 4, the following paths can reach 4 from 1. 1. 1->2->3->4 2. 1->2->3->5->6->2->3->4 (1 loop) 3. Any path 1>2, looping through 2->3->5->6->2 two or more times, and exiting 2>3>4 Only the first one is the shortest, and considered a match for the pattern.
  • 27. © 2019 TigerGraph. All Rights Reserved 27 Specifying How Many Repetitions (cont.)
  • 28. © 2019 TigerGraph. All Rights Reserved 28 Specifying How Many Repetitions (cont.)
  • 29. © 2019 TigerGraph. All Rights Reserved Multiple-Hop Linear Pattern 29 ● 2-hop pattern ○ FROM X:x - (E1:e1) - Y:y - (E2>:e2)-Z:z 1st hop 2nd hop Similarly, a 3-hop pattern concatenates three 1-hop patterns in sequence, every two connecting patterns share one endpoint. Below Y:y and Z:z are the connecting endpoints. ● 3-hop pattern ○ FROM X:x - (E2>:e2) - Y:y - (<E3:e3)- Z:z - (E4:e4) - U:u 1st hop 2nd hop 3rd hop
  • 30. © 2019 TigerGraph. All Rights Reserved Multiple-Hop Linear Pattern 30 ● SELECT Clause ○ select pattern’s endpoints only ○ FROM X:x-(E2>:e2)-Y:y-(<E3:e3)-Z:z-(E4:e4)-U:u; ● FROM Clause ○ FROM pattern can be shortened ■ FROM X:x-(E2>:e2)-Y:y-(<E3:e3)-Z:z-(E4:e4)-U:u ⇒ ■ FROM X:x-(E2>.<E3.E4)-U:u; //note: no alias is allowed for E.E style ● WHERE Clause ○ Conjunction of local hop predicate only ○ Last hop local predicate can refer to the starting end point ○ Kleene star breaks local hop predicate ● ACCUM and POST-ACCUM Clause ○ ACCUM clause executed for each matched instance ○ ACCUM to endpoints only
  • 31. © 2019 TigerGraph. All Rights Reserved How To Use In Upcoming Release 2.4 31 ● Session Parameter ○ set syntax_version="v2" //for pattern match ○ set syntax_version="v1" //default, classic syntax ● Invoke Interpret GSQL Engine ○ INTERPRET QUERY QueryName (p1, p2, ..) //run existing query ○ INTERPRET QUERY () FOR GRAPH graphName { } //adhoc query ● Query Level Syntax Setting ○ CREATE QUERY (p1, p2.,.) Name FOR GRAPH test SYNTAX("v2") { } ○ INTERPRET QUERY () FOR GRAPH test SYNTAX("v1") { }
  • 32. © 2019 TigerGraph. All Rights Reserved Demo Setup 32
  • 33. © 2019 TigerGraph. All Rights Reserved Demo Setup 33 E1 1,003,605 E2 2,052,169 E3 1,003,605 E4 229,166 E5 1,611,869 E6 90,492 E7 2,698,393 E8 713,258 E9 309,766 E10 16,080 E11 1,575 E12 6,380 E13 2,052,169 E14 1,003,605 E15 9,892 E16 1,343 E17 111 E18 70 Total : 3.18M vertices 17.25M edges 11 vertex types 25 edge types Vertex Stats Edge Stats Total comment post compan y university city country continent forum person tag tagclass # attributes 6 8 3 3 3 3 3 3 10 3 3 # vertices 3.18 M 2,052,169 1,003,605 1,575 6,380 1,343 111 6 90,492 9,892 16,080 71 E19 180,623 E20 1,438,418 E21 751,677 E22 1,040,749 E23 1,011,420 E24 7,949 E25 21,654
  • 34. © 2019 TigerGraph. All Rights Reserved Demo Setup 34
  • 35. © 2019 TigerGraph. All Rights Reserved Demo On Docker 35
  • 36. © 2019 TigerGraph. All Rights Reserved Summary 36 Version 2.4 Available End Jun ● Pattern Matching enables ● Demo: Pattern Match Using LDBC Social Network Benchmark Data ○ Interpreted Mode on laptop Docker -- run queries instantly as soon as you write them ● Demo: Pattern Matching in a Recommender Application ○ Interpreted Mode again
  • 37. Q&A Please send your questions via the Q&A menu in Zoom 37
  • 38. © 2019 TigerGraph. All Rights Reserved Developer Edition Available We now offer Docker versions and VirtualBox versions of the TigerGraph Developer Edition, so you can now run on ● MacOS ● Windows 10 ● Linux Developer Edition Download https://www.tigergraph.com/developer/ 38
  • 39. © 2019 TigerGraph. All Rights Reserved NEW! Graph Gurus Developer Office Hours 39 Catch up on previous episodes of Graph Gurus: https://www.tigergraph.com/webinars-and-events/ Every Thursday at 11:00 am Pacific Talk directly with our engineers every week. During office hours, you get answers to any questions pertaining to graph modeling and GSQL programming. https://info.tigergraph.com/officehours
  • 40. © 2019 TigerGraph. All Rights Reserved Additional Resources 40 New Developer Portal https://www.tigergraph.com/developers/ Download the Developer Edition or Enterprise Free Trial https://www.tigergraph.com/download/ Guru Scripts https://github.com/tigergraph/ecosys/tree/master/guru_scripts Join our Developer Forum https://groups.google.com/a/opengsql.org/forum/#!forum/gsql-users @TigerGraphDB youtube.com/tigergraph facebook.com/TigerGraphDB linkedin.com/company/TigerGraph