SlideShare a Scribd company logo
1 of 10
Download to read offline
Marcus Paradies, SAP
February 8, 2017
Graph Pattern Matching in SAP HANA
Public
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public
SAP HANA
A big data platform
o Offers advanced features for graph, text, geospatial, and machine learning
DATABASE SERVICES
Web Server JavaScript
Graphic
Modeler
Data Virtualization ELT & Replication
Columnar
OLTP+OLAP
Multi-Core &
Parallelization
Advanced
Compression
Multi-tenancy Multi-Tier
Storage
Graph Predictive Search
Data
Quality
Series
Data
Business
Functions
Hadoop &
Spark Integration
Streaming
Analytics
Application Lifecycle
Management
High Availability &
Disaster Recovery
OpennessData
Modeling
Admin &
Security
Remote
Data Sync
Spatial
Text
Analytics
Fiori UX
ALM
</>
APPLICATION SERVICES INTEGRATION & QUALITY SERVICESPROCESSING SERVICES
S A P H A N A P L A T F O R M
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public
Graph Representation in SAP HANA
1
3
2
4
Example Graph
Type : belongsTo
Type : belongsTo
Type : rated
Rating
:
5.0
Type : rated
Rating : 4.0
Name : 'Horror'
Type : Category
Title : 'It'
Type : ProductTitle : 'Shining'
Type : Product
Name : 'John'
Type : User
ID TYPE NAME TITLE
1 User John ?
2 Product ? Shining
3 Product ? It
4 Category Horror ?
ID SOURCE TARGET TYPE RATING
1 2 4 belongsTo ?
2 3 4 belongsTo ?
3 1 2 rated 4.0
4 1 3 rated 5.0
Vertex Table
Edge Table
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 4Public
How to Consume Graph?
2. Create Graph Workspace1. Vertex and Edge Tables
CREATE GRAPH WORKSPACE "MYSCHEMA"."MYGRAPH"
EDGE TABLE "MYSCHEMA"."RELATIONSHIPS"
SOURCE COLUMN SOURCE
TARGET COLUMN TARGET
KEY COLUMN ID
VERTEX TABLE "MYSCHEMA"."NODES"
KEY COLUMN ID;
CREATE COLUMN TABLE "MYSCHEMA"."NODES" (
ID VARCHAR(100) PRIMARY KEY,
TYPE VARCHAR(100),
NAME VARCHAR(100),
TITLE VARCHAR(100)
);
CREATE COLUMN TABLE "MYSCHEMA"."EDGES" (
ID INTEGER PRIMARY KEY,
SOURCE VARCHAR(100) NOT NULL
REFERENCES "MYSCHEMA"."NODES" (ID)
TARGET VARCHAR(100) NOT NULL
REFERENCES "MYSCHEMA"."NODES" (ID)
TYPE VARCHAR(50),
RATING FLOAT
);
"MYSCHEMA". "MYGRAPH"
NODESEDGES
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public
Graph Querying Paradigms
Graph AnalysisGraph Pattern Matching
"Retrieve all suppliers of Company D" "Compute all communities in the graph"
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public
SAP HANA Graph Architecture
Relational Tables
openCypher GraphScriptInterface
Storage
Optimizer
Plan Generation
Execution Engine
Can use additional
secondary graph
index structures
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public
openCypher in SAP HANA Graph
Attribute
Constraints
Basic Graph
Pattern Matching
• Vertex topology
constraints
• Edge topology
constraints
• Relational
operators =, <=,
>=, <, <>, >
• Logical
operators
AND,OR,NOT
Solution
Modifiers
• Projection
• Ordering
• Limit
• Skip
Path
Expressions
• Directed/
undirected
• Edge
constraints
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public
openCypher Examples
MATCH (a)-[e1]->(b), (a)-[e2]->(b)
WHERE e1.type = 'creates' AND e2.type = 'likes'
RETURN a.name AS name, b.content AS content
ORDER BY a.name ASC
LIMIT 10
MATCH p = (b)-[*1..3]->(a), (b)-[e]-(c)
WHERE a.name = 'Franziska Schwarz'
AND ALL(edges IN RELATIONSHIPS(p) WHERE edges.type = 'follows')
AND e.type = 'creates'
RETURN c.content AS content
Graph-specific
operators
Relational
operators
For details see SAP HANA Graph Reference
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public
Some Observations
• Customers demand more data types
• e.g., timestamp, date, numerical types with higher precisionData Types
• Important for views and subqueries
Query
Composition
• Matching/Path finding semantics have large impact on performance
• Orthogonal feature sets
Language
Semantics
• Graph referencing by name/identifier
• Handling of multiple graph instances in single queryMultiple Graphs
Thank you
Find out more:
SAP HANA Graph Reference
SAP HANA Academy
SAP HANA, express edition
SAP HANA, express edition FAQ

More Related Content

What's hot

SAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL DevelopersSAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL Developerssaphanacookbook
 
Dmm203 – new approaches for data modelingwith sap hana
Dmm203 – new approaches for data modelingwith sap hanaDmm203 – new approaches for data modelingwith sap hana
Dmm203 – new approaches for data modelingwith sap hanaLuc Vanrobays
 
Sap hana online training from globustrainings.com
Sap hana online training from globustrainings.comSap hana online training from globustrainings.com
Sap hana online training from globustrainings.comGlobustrainings
 
SAP Integrated Business Planning
SAP Integrated Business PlanningSAP Integrated Business Planning
SAP Integrated Business PlanningKishore Chaganti
 
Advanced analytics with sap hana and r
Advanced analytics with sap hana and rAdvanced analytics with sap hana and r
Advanced analytics with sap hana and rSAP Technology
 
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...Luc Vanrobays
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Ocean9, Inc.
 
Build and run an sql data warehouse on sap hana
Build and run an sql data warehouse on sap hanaBuild and run an sql data warehouse on sap hana
Build and run an sql data warehouse on sap hanaLuc Vanrobays
 
Data ingestion and Acquisition on SAP Analytics Cloud
Data ingestion and Acquisition on SAP Analytics CloudData ingestion and Acquisition on SAP Analytics Cloud
Data ingestion and Acquisition on SAP Analytics CloudMadhumita Banerjee
 
SAP HANA SQL Data Warehousing (Sefan Linders)
SAP HANA SQL Data Warehousing (Sefan Linders)SAP HANA SQL Data Warehousing (Sefan Linders)
SAP HANA SQL Data Warehousing (Sefan Linders)Twan van den Broek
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSAP Technology
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessDataWorks Summit
 
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA Luc Vanrobays
 
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...DataWorks Summit/Hadoop Summit
 
HANA SPS07 Smart Data Access
HANA SPS07 Smart Data AccessHANA SPS07 Smart Data Access
HANA SPS07 Smart Data AccessSAP Technology
 
SAP HANA SPS08 Overview
SAP HANA SPS08 OverviewSAP HANA SPS08 Overview
SAP HANA SPS08 OverviewSAP Technology
 
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)Twan van den Broek
 
Xcelsius vs. Design Studio
Xcelsius vs. Design StudioXcelsius vs. Design Studio
Xcelsius vs. Design StudioIliya Ruvinsky
 
SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707Henrique Pinto
 
DMM161 HANA_MODELING_2015
DMM161 HANA_MODELING_2015DMM161 HANA_MODELING_2015
DMM161 HANA_MODELING_2015Luc Vanrobays
 

What's hot (20)

SAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL DevelopersSAP HANA Cookbook for MySQL Developers
SAP HANA Cookbook for MySQL Developers
 
Dmm203 – new approaches for data modelingwith sap hana
Dmm203 – new approaches for data modelingwith sap hanaDmm203 – new approaches for data modelingwith sap hana
Dmm203 – new approaches for data modelingwith sap hana
 
Sap hana online training from globustrainings.com
Sap hana online training from globustrainings.comSap hana online training from globustrainings.com
Sap hana online training from globustrainings.com
 
SAP Integrated Business Planning
SAP Integrated Business PlanningSAP Integrated Business Planning
SAP Integrated Business Planning
 
Advanced analytics with sap hana and r
Advanced analytics with sap hana and rAdvanced analytics with sap hana and r
Advanced analytics with sap hana and r
 
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...
Dmm300 – mixed scenarios for sap hana data warehousing and BW: overview and e...
 
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
Hadoop, Spark and Big Data Summit presentation with SAP HANA Vora and a path ...
 
Build and run an sql data warehouse on sap hana
Build and run an sql data warehouse on sap hanaBuild and run an sql data warehouse on sap hana
Build and run an sql data warehouse on sap hana
 
Data ingestion and Acquisition on SAP Analytics Cloud
Data ingestion and Acquisition on SAP Analytics CloudData ingestion and Acquisition on SAP Analytics Cloud
Data ingestion and Acquisition on SAP Analytics Cloud
 
SAP HANA SQL Data Warehousing (Sefan Linders)
SAP HANA SQL Data Warehousing (Sefan Linders)SAP HANA SQL Data Warehousing (Sefan Linders)
SAP HANA SQL Data Warehousing (Sefan Linders)
 
Spark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business OperationsSpark Usage in Enterprise Business Operations
Spark Usage in Enterprise Business Operations
 
Leveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine BusinessLeveraging SAP, Hadoop, and Big Data to Redefine Business
Leveraging SAP, Hadoop, and Big Data to Redefine Business
 
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA
Dmm302 - Sap Hana Data Warehousing: Models for Sap Bw and SQL DW on SAP HANA
 
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...
Building Information Platform - Integration of Hadoop with SAP HANA and HANA ...
 
HANA SPS07 Smart Data Access
HANA SPS07 Smart Data AccessHANA SPS07 Smart Data Access
HANA SPS07 Smart Data Access
 
SAP HANA SPS08 Overview
SAP HANA SPS08 OverviewSAP HANA SPS08 Overview
SAP HANA SPS08 Overview
 
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
Can you keep up with SAP Analytics Cloud? (Martijn van Foeken)
 
Xcelsius vs. Design Studio
Xcelsius vs. Design StudioXcelsius vs. Design Studio
Xcelsius vs. Design Studio
 
SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707SAP HANA Vora SITMTY 20160707
SAP HANA Vora SITMTY 20160707
 
DMM161 HANA_MODELING_2015
DMM161 HANA_MODELING_2015DMM161 HANA_MODELING_2015
DMM161 HANA_MODELING_2015
 

Similar to Graph Pattern Matching in SAP HANA

SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...
SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...
SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...Abdelhalim DADOUCHE
 
Development to Deployment with SAP HANA
Development to Deployment with SAP HANADevelopment to Deployment with SAP HANA
Development to Deployment with SAP HANACraig Cmehil
 
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAPGeneXus
 
関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)Koji Shinkubo
 
データベースMeetup Vol3
データベースMeetup Vol3データベースMeetup Vol3
データベースMeetup Vol3Koji Shinkubo
 
SAP & MapR Solution Brief 2015
SAP & MapR Solution Brief 2015SAP & MapR Solution Brief 2015
SAP & MapR Solution Brief 2015Vishwas Tengse
 
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform
 
Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Mauricio Cubillos Ocampo
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Jean Ihm
 
Developing and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA PlatformDeveloping and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA PlatformVitaliy Rudnytskiy
 
Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)Vitaliy Rudnytskiy
 
Custom Development - SAP HANA
Custom Development - SAP HANACustom Development - SAP HANA
Custom Development - SAP HANAMichal Korzen
 
DMM270 – Spatial Analytics with Sap Hana
DMM270 – Spatial Analytics with Sap HanaDMM270 – Spatial Analytics with Sap Hana
DMM270 – Spatial Analytics with Sap HanaLuc Vanrobays
 
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic SolutionsBe the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic SolutionsCA Technologies
 
SAP Lambda Architecture Point of View
SAP Lambda Architecture Point of ViewSAP Lambda Architecture Point of View
SAP Lambda Architecture Point of ViewSnehanshu Shah
 
SAP HANA Cloud Platform - Overview
SAP HANA Cloud Platform - OverviewSAP HANA Cloud Platform - Overview
SAP HANA Cloud Platform - OverviewMatthias Steiner
 

Similar to Graph Pattern Matching in SAP HANA (20)

SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...
SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...
SAP HANA, from development to deployment, cloud, on-premise or hybrid, a solu...
 
Development to Deployment with SAP HANA
Development to Deployment with SAP HANADevelopment to Deployment with SAP HANA
Development to Deployment with SAP HANA
 
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
97. SAP HANA como plataforma de desarrollo, combinando el mundo OLTP + OLAP
 
関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)関西DB勉強会 (SAP HANA, express edition)
関西DB勉強会 (SAP HANA, express edition)
 
データベースMeetup Vol3
データベースMeetup Vol3データベースMeetup Vol3
データベースMeetup Vol3
 
SAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform Analytics
SAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform AnalyticsSAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform Analytics
SAP HANA Cloud Platform Expert Session - SAP HANA Cloud Platform Analytics
 
SAP & MapR Solution Brief 2015
SAP & MapR Solution Brief 2015SAP & MapR Solution Brief 2015
SAP & MapR Solution Brief 2015
 
SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...
SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...
SUSE Technical Webinar: Build HANA Apps in the Framework of the SAP and SUSE ...
 
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013SAP HANA Cloud Platform Community BOF @ Devoxx 2013
SAP HANA Cloud Platform Community BOF @ Devoxx 2013
 
Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)Webinar SAP BusinessObjects Cloud (English)
Webinar SAP BusinessObjects Cloud (English)
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1)
 
Developing and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA PlatformDeveloping and Deploying Applications on the SAP HANA Platform
Developing and Deploying Applications on the SAP HANA Platform
 
Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)
 
Sap bw4 hana
Sap bw4 hanaSap bw4 hana
Sap bw4 hana
 
Custom Development - SAP HANA
Custom Development - SAP HANACustom Development - SAP HANA
Custom Development - SAP HANA
 
DMM270 – Spatial Analytics with Sap Hana
DMM270 – Spatial Analytics with Sap HanaDMM270 – Spatial Analytics with Sap Hana
DMM270 – Spatial Analytics with Sap Hana
 
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic SolutionsBe the Data Hero in Your Organization with SAP and CA Analytic Solutions
Be the Data Hero in Your Organization with SAP and CA Analytic Solutions
 
Dev207 berlin
Dev207 berlinDev207 berlin
Dev207 berlin
 
SAP Lambda Architecture Point of View
SAP Lambda Architecture Point of ViewSAP Lambda Architecture Point of View
SAP Lambda Architecture Point of View
 
SAP HANA Cloud Platform - Overview
SAP HANA Cloud Platform - OverviewSAP HANA Cloud Platform - Overview
SAP HANA Cloud Platform - Overview
 

More from openCypher

Learning Timed Automata with Cypher
Learning Timed Automata with CypherLearning Timed Automata with Cypher
Learning Timed Automata with CypheropenCypher
 
Incremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher QueriesIncremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher QueriesopenCypher
 
Formal semantics for Cypher queries and updates
Formal semantics for Cypher queries and updatesFormal semantics for Cypher queries and updates
Formal semantics for Cypher queries and updatesopenCypher
 
Cypher.PL: an executable specification of Cypher semantics
Cypher.PL: an executable specification of Cypher semanticsCypher.PL: an executable specification of Cypher semantics
Cypher.PL: an executable specification of Cypher semanticsopenCypher
 
Multiple Graphs: Updatable Views
Multiple Graphs: Updatable ViewsMultiple Graphs: Updatable Views
Multiple Graphs: Updatable ViewsopenCypher
 
Micro-Servicing Linked Data
Micro-Servicing Linked DataMicro-Servicing Linked Data
Micro-Servicing Linked DataopenCypher
 
Graph abstraction
Graph abstractionGraph abstraction
Graph abstractionopenCypher
 
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...openCypher
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for GremlinopenCypher
 
Comparing PGQL, G-Core and Cypher
Comparing PGQL, G-Core and CypherComparing PGQL, G-Core and Cypher
Comparing PGQL, G-Core and CypheropenCypher
 
Multiple graphs in openCypher
Multiple graphs in openCypherMultiple graphs in openCypher
Multiple graphs in openCypheropenCypher
 
Eighth openCypher Implementers Group Meeting: Status Update
Eighth openCypher Implementers Group Meeting: Status UpdateEighth openCypher Implementers Group Meeting: Status Update
Eighth openCypher Implementers Group Meeting: Status UpdateopenCypher
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for GremlinopenCypher
 
Supporting dates and times in Cypher
Supporting dates and times in CypherSupporting dates and times in Cypher
Supporting dates and times in CypheropenCypher
 
Seventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status UpdateSeventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status UpdateopenCypher
 
Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...openCypher
 
Property Graphs with Time
Property Graphs with TimeProperty Graphs with Time
Property Graphs with TimeopenCypher
 
Cypher.PL: Executable Specification of Cypher written in Prolog
Cypher.PL: Executable Specification of Cypher written in PrologCypher.PL: Executable Specification of Cypher written in Prolog
Cypher.PL: Executable Specification of Cypher written in PrologopenCypher
 
Use case: processing multiple graphs
Use case: processing multiple graphsUse case: processing multiple graphs
Use case: processing multiple graphsopenCypher
 
openCypher Technology Compatibility Kit (TCK)
openCypher Technology Compatibility Kit (TCK)openCypher Technology Compatibility Kit (TCK)
openCypher Technology Compatibility Kit (TCK)openCypher
 

More from openCypher (20)

Learning Timed Automata with Cypher
Learning Timed Automata with CypherLearning Timed Automata with Cypher
Learning Timed Automata with Cypher
 
Incremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher QueriesIncremental View Maintenance for openCypher Queries
Incremental View Maintenance for openCypher Queries
 
Formal semantics for Cypher queries and updates
Formal semantics for Cypher queries and updatesFormal semantics for Cypher queries and updates
Formal semantics for Cypher queries and updates
 
Cypher.PL: an executable specification of Cypher semantics
Cypher.PL: an executable specification of Cypher semanticsCypher.PL: an executable specification of Cypher semantics
Cypher.PL: an executable specification of Cypher semantics
 
Multiple Graphs: Updatable Views
Multiple Graphs: Updatable ViewsMultiple Graphs: Updatable Views
Multiple Graphs: Updatable Views
 
Micro-Servicing Linked Data
Micro-Servicing Linked DataMicro-Servicing Linked Data
Micro-Servicing Linked Data
 
Graph abstraction
Graph abstractionGraph abstraction
Graph abstraction
 
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...
From Cypher 9 to GQL: Conceptual overview of multiple named graphs and compos...
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for Gremlin
 
Comparing PGQL, G-Core and Cypher
Comparing PGQL, G-Core and CypherComparing PGQL, G-Core and Cypher
Comparing PGQL, G-Core and Cypher
 
Multiple graphs in openCypher
Multiple graphs in openCypherMultiple graphs in openCypher
Multiple graphs in openCypher
 
Eighth openCypher Implementers Group Meeting: Status Update
Eighth openCypher Implementers Group Meeting: Status UpdateEighth openCypher Implementers Group Meeting: Status Update
Eighth openCypher Implementers Group Meeting: Status Update
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for Gremlin
 
Supporting dates and times in Cypher
Supporting dates and times in CypherSupporting dates and times in Cypher
Supporting dates and times in Cypher
 
Seventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status UpdateSeventh openCypher Implementers Group Meeting: Status Update
Seventh openCypher Implementers Group Meeting: Status Update
 
Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...Academic research on graph processing: connecting recent findings to industri...
Academic research on graph processing: connecting recent findings to industri...
 
Property Graphs with Time
Property Graphs with TimeProperty Graphs with Time
Property Graphs with Time
 
Cypher.PL: Executable Specification of Cypher written in Prolog
Cypher.PL: Executable Specification of Cypher written in PrologCypher.PL: Executable Specification of Cypher written in Prolog
Cypher.PL: Executable Specification of Cypher written in Prolog
 
Use case: processing multiple graphs
Use case: processing multiple graphsUse case: processing multiple graphs
Use case: processing multiple graphs
 
openCypher Technology Compatibility Kit (TCK)
openCypher Technology Compatibility Kit (TCK)openCypher Technology Compatibility Kit (TCK)
openCypher Technology Compatibility Kit (TCK)
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Graph Pattern Matching in SAP HANA

  • 1. Marcus Paradies, SAP February 8, 2017 Graph Pattern Matching in SAP HANA Public
  • 2. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public SAP HANA A big data platform o Offers advanced features for graph, text, geospatial, and machine learning DATABASE SERVICES Web Server JavaScript Graphic Modeler Data Virtualization ELT & Replication Columnar OLTP+OLAP Multi-Core & Parallelization Advanced Compression Multi-tenancy Multi-Tier Storage Graph Predictive Search Data Quality Series Data Business Functions Hadoop & Spark Integration Streaming Analytics Application Lifecycle Management High Availability & Disaster Recovery OpennessData Modeling Admin & Security Remote Data Sync Spatial Text Analytics Fiori UX ALM </> APPLICATION SERVICES INTEGRATION & QUALITY SERVICESPROCESSING SERVICES S A P H A N A P L A T F O R M
  • 3. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public Graph Representation in SAP HANA 1 3 2 4 Example Graph Type : belongsTo Type : belongsTo Type : rated Rating : 5.0 Type : rated Rating : 4.0 Name : 'Horror' Type : Category Title : 'It' Type : ProductTitle : 'Shining' Type : Product Name : 'John' Type : User ID TYPE NAME TITLE 1 User John ? 2 Product ? Shining 3 Product ? It 4 Category Horror ? ID SOURCE TARGET TYPE RATING 1 2 4 belongsTo ? 2 3 4 belongsTo ? 3 1 2 rated 4.0 4 1 3 rated 5.0 Vertex Table Edge Table
  • 4. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 4Public How to Consume Graph? 2. Create Graph Workspace1. Vertex and Edge Tables CREATE GRAPH WORKSPACE "MYSCHEMA"."MYGRAPH" EDGE TABLE "MYSCHEMA"."RELATIONSHIPS" SOURCE COLUMN SOURCE TARGET COLUMN TARGET KEY COLUMN ID VERTEX TABLE "MYSCHEMA"."NODES" KEY COLUMN ID; CREATE COLUMN TABLE "MYSCHEMA"."NODES" ( ID VARCHAR(100) PRIMARY KEY, TYPE VARCHAR(100), NAME VARCHAR(100), TITLE VARCHAR(100) ); CREATE COLUMN TABLE "MYSCHEMA"."EDGES" ( ID INTEGER PRIMARY KEY, SOURCE VARCHAR(100) NOT NULL REFERENCES "MYSCHEMA"."NODES" (ID) TARGET VARCHAR(100) NOT NULL REFERENCES "MYSCHEMA"."NODES" (ID) TYPE VARCHAR(50), RATING FLOAT ); "MYSCHEMA". "MYGRAPH" NODESEDGES
  • 5. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 5Public Graph Querying Paradigms Graph AnalysisGraph Pattern Matching "Retrieve all suppliers of Company D" "Compute all communities in the graph"
  • 6. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public SAP HANA Graph Architecture Relational Tables openCypher GraphScriptInterface Storage Optimizer Plan Generation Execution Engine Can use additional secondary graph index structures
  • 7. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public openCypher in SAP HANA Graph Attribute Constraints Basic Graph Pattern Matching • Vertex topology constraints • Edge topology constraints • Relational operators =, <=, >=, <, <>, > • Logical operators AND,OR,NOT Solution Modifiers • Projection • Ordering • Limit • Skip Path Expressions • Directed/ undirected • Edge constraints
  • 8. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public openCypher Examples MATCH (a)-[e1]->(b), (a)-[e2]->(b) WHERE e1.type = 'creates' AND e2.type = 'likes' RETURN a.name AS name, b.content AS content ORDER BY a.name ASC LIMIT 10 MATCH p = (b)-[*1..3]->(a), (b)-[e]-(c) WHERE a.name = 'Franziska Schwarz' AND ALL(edges IN RELATIONSHIPS(p) WHERE edges.type = 'follows') AND e.type = 'creates' RETURN c.content AS content Graph-specific operators Relational operators For details see SAP HANA Graph Reference
  • 9. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public Some Observations • Customers demand more data types • e.g., timestamp, date, numerical types with higher precisionData Types • Important for views and subqueries Query Composition • Matching/Path finding semantics have large impact on performance • Orthogonal feature sets Language Semantics • Graph referencing by name/identifier • Handling of multiple graph instances in single queryMultiple Graphs
  • 10. Thank you Find out more: SAP HANA Graph Reference SAP HANA Academy SAP HANA, express edition SAP HANA, express edition FAQ