SlideShare a Scribd company logo
Algebraic Property Graphs
Joshua Shinavier (Uber), Ryan Wisnesky (Conexus AI)
[img]
GQL Community Update
October 9th, 2019
A formal data model for enterprise Property Graphs
● Things we need
○ Formal schema & mapping language for property graphs
○ Framework for graph transformation and integration
○ Means to build virtual graphs out of non-graph datasets (and vice versa)
● Algebraic Property Graphs
○ Based on algebraic data types
○ Developed for data integration at Uber
○ Formalized at Conexus AI
○ Strong connections to type theory, database theory, and category theory:
■ A familiar approach to type inference
■ Easy to reason about: all operations and proofs mechanically verified in Coq
■ Generalizes to algebraic databases
Product and sum types, Identifiers and values
● APG:
● Thrift example:
Algebraic types in common data interchange languages
Graph, schema, and data
Natural Transformations of Graphs, Schemas, and Data
● Non-natural transformations are also useful and are described in our paper.
Taxonomy of graph elements
● Vertex: “no data”.
● Edge: ordered pair of elements.
● Property: ordered pair (element, value).
○ Vertex property: element is a vertex.
○ Edge property: element is an edge
○ Meta-property: element is another property
■ Vertex / edge metaproperty, etc.
● Alias: contains another element
○ Vertex or edge “tags”
○ Aliases for primitive data types
● Hyperelement: everything else
Useful operations on Graphs, schemas, and data
● Conjunctive and disjunctive queries (select/from/where/union)
○ In: APGs and a predicate. Out: APG
● Views
○ In: APG and APG schema mapping. Out: ‘virtual’ APG
● Convert APGs to algebraic databases, and vice versa
○ In: Schema mapping and APG / algebraic database. Out: algebraic database / APG.
Thanks
● joshsh@uber.com
● ryan@conexus.ai
https://arxiv.org/abs/1909.04881
(submitted to ICDT)

More Related Content

What's hot

DE Presentation v2
DE Presentation v2DE Presentation v2
DE Presentation v2
scstark
 
Analytics using r programming
Analytics using r programmingAnalytics using r programming
Analytics using r programming
Janu Jahnavi
 
Spark in 15 min
Spark in 15 minSpark in 15 min
Spark in 15 min
Christophe Marchal
 
BUILDING WHILE FLYING
BUILDING WHILE FLYINGBUILDING WHILE FLYING
BUILDING WHILE FLYING
Kamal Shannak
 
DE Presentation
DE PresentationDE Presentation
DE Presentation
scstark
 
Stream processing: The Matrix Revolutions
Stream processing: The Matrix RevolutionsStream processing: The Matrix Revolutions
Stream processing: The Matrix Revolutions
RomanaPernischov
 
First steps in Data Mining Kindergarten
First steps in Data Mining KindergartenFirst steps in Data Mining Kindergarten
First steps in Data Mining Kindergarten
Alexey Zinoviev
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
Globant
 
Resume 18 Jan
Resume 18 JanResume 18 Jan
Resume 18 Jan
Yicheng Li
 
Graph database in sv meetup
Graph database in sv meetupGraph database in sv meetup
Graph database in sv meetup
Joshua Bae
 
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
Matthias Arnold
 
Pycon tw 2013
Pycon tw 2013Pycon tw 2013
Pycon tw 2013
show you
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
Doug Needham
 
Bi g data_urban modeling_21082013
Bi g data_urban modeling_21082013Bi g data_urban modeling_21082013
Bi g data_urban modeling_21082013
Vahid Moosavi
 
GraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communitiesGraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communities
Paco Nathan
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
GraphRM
 
Download Python for R Users pdf for free
Download Python for R Users pdf for freeDownload Python for R Users pdf for free
Download Python for R Users pdf for free
Ajay Ohri
 
Python for ML
Python for MLPython for ML
Python for ML
Reza Sadeghi Jafari
 
From NEURON to NULON
From NEURON to NULONFrom NEURON to NULON
From NEURON to NULON
healis
 
Combining Textual and Graph-based Features for Entity Disambiguation
Combining Textual and Graph-based Features for Entity DisambiguationCombining Textual and Graph-based Features for Entity Disambiguation
Combining Textual and Graph-based Features for Entity Disambiguation
shakimov
 

What's hot (20)

DE Presentation v2
DE Presentation v2DE Presentation v2
DE Presentation v2
 
Analytics using r programming
Analytics using r programmingAnalytics using r programming
Analytics using r programming
 
Spark in 15 min
Spark in 15 minSpark in 15 min
Spark in 15 min
 
BUILDING WHILE FLYING
BUILDING WHILE FLYINGBUILDING WHILE FLYING
BUILDING WHILE FLYING
 
DE Presentation
DE PresentationDE Presentation
DE Presentation
 
Stream processing: The Matrix Revolutions
Stream processing: The Matrix RevolutionsStream processing: The Matrix Revolutions
Stream processing: The Matrix Revolutions
 
First steps in Data Mining Kindergarten
First steps in Data Mining KindergartenFirst steps in Data Mining Kindergarten
First steps in Data Mining Kindergarten
 
Sistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta LakeSistema de recomendación entiempo real usando Delta Lake
Sistema de recomendación entiempo real usando Delta Lake
 
Resume 18 Jan
Resume 18 JanResume 18 Jan
Resume 18 Jan
 
Graph database in sv meetup
Graph database in sv meetupGraph database in sv meetup
Graph database in sv meetup
 
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
A Corpus of Chinese Comic Books: Database, Metadata, and Visual Object Recogn...
 
Pycon tw 2013
Pycon tw 2013Pycon tw 2013
Pycon tw 2013
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
 
Bi g data_urban modeling_21082013
Bi g data_urban modeling_21082013Bi g data_urban modeling_21082013
Bi g data_urban modeling_21082013
 
GraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communitiesGraphX: Graph analytics for insights about developer communities
GraphX: Graph analytics for insights about developer communities
 
aRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con RaRangodb, un package per l'utilizzo di ArangoDB con R
aRangodb, un package per l'utilizzo di ArangoDB con R
 
Download Python for R Users pdf for free
Download Python for R Users pdf for freeDownload Python for R Users pdf for free
Download Python for R Users pdf for free
 
Python for ML
Python for MLPython for ML
Python for ML
 
From NEURON to NULON
From NEURON to NULONFrom NEURON to NULON
From NEURON to NULON
 
Combining Textual and Graph-based Features for Entity Disambiguation
Combining Textual and Graph-based Features for Entity DisambiguationCombining Textual and Graph-based Features for Entity Disambiguation
Combining Textual and Graph-based Features for Entity Disambiguation
 

Similar to Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)

Substrait Overview.pdf
Substrait Overview.pdfSubstrait Overview.pdf
Substrait Overview.pdf
Rinat Abdullin
 
Microsoft Power BI Online Training.pdf
Microsoft Power BI Online Training.pdfMicrosoft Power BI Online Training.pdf
Microsoft Power BI Online Training.pdf
SpiritsoftsTraining
 
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
Cambridge Semantics
 
L15.pptx
L15.pptxL15.pptx
L15.pptx
ImonBennett
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
Roopesh Kohad
 
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
Naomi Shiraishi
 
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
ArangoDB Database
 
bda ppt.pptx
bda ppt.pptxbda ppt.pptx
bda ppt.pptx
BHARATHB231147
 
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
ArangoDB Database
 
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
ArangoDB Database
 
Data structure
Data structureData structure
Data structure
eShikshak
 
Data structure
Data structureData structure
Data structure
eShikshak
 
Data science
Data scienceData science
Data science
Purna Chander
 
Machine Learning + Graph Databases for Better Recommendations
Machine Learning + Graph Databases for Better RecommendationsMachine Learning + Graph Databases for Better Recommendations
Machine Learning + Graph Databases for Better Recommendations
ChristopherWoodward16
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introduction
Asher Sterkin
 
BSSML16 L10. Summary Day 2 Sessions
BSSML16 L10. Summary Day 2 SessionsBSSML16 L10. Summary Day 2 Sessions
BSSML16 L10. Summary Day 2 Sessions
BigML, Inc
 
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
VMware Tanzu
 
Lecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptxLecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptx
zmulani8
 
Lecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptxLecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptx
zmulani8
 
Graph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
Graph Analysis over Relational Database. Roberto Franchini - Arcade AnalyticsGraph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
Graph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
Data Driven Innovation
 

Similar to Algebraic Property Graphs (GQL Community Update, oct. 9, 2019) (20)

Substrait Overview.pdf
Substrait Overview.pdfSubstrait Overview.pdf
Substrait Overview.pdf
 
Microsoft Power BI Online Training.pdf
Microsoft Power BI Online Training.pdfMicrosoft Power BI Online Training.pdf
Microsoft Power BI Online Training.pdf
 
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
 
L15.pptx
L15.pptxL15.pptx
L15.pptx
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
 
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
論文紹介:Graph Pattern Entity Ranking Model for Knowledge Graph Completion
 
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
 
bda ppt.pptx
bda ppt.pptxbda ppt.pptx
bda ppt.pptx
 
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
 
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
 
Data structure
Data structureData structure
Data structure
 
Data structure
Data structureData structure
Data structure
 
Data science
Data scienceData science
Data science
 
Machine Learning + Graph Databases for Better Recommendations
Machine Learning + Graph Databases for Better RecommendationsMachine Learning + Graph Databases for Better Recommendations
Machine Learning + Graph Databases for Better Recommendations
 
Domain driven design: a gentle introduction
Domain driven design:  a gentle introductionDomain driven design:  a gentle introduction
Domain driven design: a gentle introduction
 
BSSML16 L10. Summary Day 2 Sessions
BSSML16 L10. Summary Day 2 SessionsBSSML16 L10. Summary Day 2 Sessions
BSSML16 L10. Summary Day 2 Sessions
 
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
 
Lecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptxLecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptx
 
Lecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptxLecture1_Julia_introd.pptx
Lecture1_Julia_introd.pptx
 
Graph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
Graph Analysis over Relational Database. Roberto Franchini - Arcade AnalyticsGraph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
Graph Analysis over Relational Database. Roberto Franchini - Arcade Analytics
 

More from Joshua Shinavier

Anything-to-Graph
Anything-to-GraphAnything-to-Graph
Anything-to-Graph
Joshua Shinavier
 
Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing Hydra
Joshua Shinavier
 
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
Joshua Shinavier
 
In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)
Joshua Shinavier
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
Joshua Shinavier
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
Joshua Shinavier
 
Semantics and Sensors
Semantics and SensorsSemantics and Sensors
Semantics and Sensors
Joshua Shinavier
 
semantic markup using schema.org
semantic markup using schema.orgsemantic markup using schema.org
semantic markup using schema.org
Joshua Shinavier
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
Joshua Shinavier
 
Linked Process
Linked ProcessLinked Process
Linked Process
Joshua Shinavier
 
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter AnnotationsReal-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter Annotations
Joshua Shinavier
 
Real-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 charsReal-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 chars
Joshua Shinavier
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked Data
Joshua Shinavier
 

More from Joshua Shinavier (13)

Anything-to-Graph
Anything-to-GraphAnything-to-Graph
Anything-to-Graph
 
Transpilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing HydraTranspilers Gone Wild: Introducing Hydra
Transpilers Gone Wild: Introducing Hydra
 
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)In Search of the Universal Data Model (ISWC 2019 Minute Madness)
In Search of the Universal Data Model (ISWC 2019 Minute Madness)
 
In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)In Search of the Universal Data Model (Connected Data London 2019)
In Search of the Universal Data Model (Connected Data London 2019)
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
 
Semantics and Sensors
Semantics and SensorsSemantics and Sensors
Semantics and Sensors
 
semantic markup using schema.org
semantic markup using schema.orgsemantic markup using schema.org
semantic markup using schema.org
 
The Real-time Web in the Age of Agents
The Real-time Web in the Age of AgentsThe Real-time Web in the Age of Agents
The Real-time Web in the Age of Agents
 
Linked Process
Linked ProcessLinked Process
Linked Process
 
Real-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter AnnotationsReal-time Semantic Web with Twitter Annotations
Real-time Semantic Web with Twitter Annotations
 
Real-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 charsReal-time #SemanticWeb in 140 chars
Real-time #SemanticWeb in 140 chars
 
The state of the art in Linked Data
The state of the art in Linked DataThe state of the art in Linked Data
The state of the art in Linked Data
 

Recently uploaded

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
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
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
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
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Algebraic Property Graphs (GQL Community Update, oct. 9, 2019)

  • 1. Algebraic Property Graphs Joshua Shinavier (Uber), Ryan Wisnesky (Conexus AI) [img] GQL Community Update October 9th, 2019
  • 2. A formal data model for enterprise Property Graphs ● Things we need ○ Formal schema & mapping language for property graphs ○ Framework for graph transformation and integration ○ Means to build virtual graphs out of non-graph datasets (and vice versa) ● Algebraic Property Graphs ○ Based on algebraic data types ○ Developed for data integration at Uber ○ Formalized at Conexus AI ○ Strong connections to type theory, database theory, and category theory: ■ A familiar approach to type inference ■ Easy to reason about: all operations and proofs mechanically verified in Coq ■ Generalizes to algebraic databases
  • 3. Product and sum types, Identifiers and values ● APG: ● Thrift example:
  • 4. Algebraic types in common data interchange languages
  • 6. Natural Transformations of Graphs, Schemas, and Data ● Non-natural transformations are also useful and are described in our paper.
  • 7. Taxonomy of graph elements ● Vertex: “no data”. ● Edge: ordered pair of elements. ● Property: ordered pair (element, value). ○ Vertex property: element is a vertex. ○ Edge property: element is an edge ○ Meta-property: element is another property ■ Vertex / edge metaproperty, etc. ● Alias: contains another element ○ Vertex or edge “tags” ○ Aliases for primitive data types ● Hyperelement: everything else
  • 8. Useful operations on Graphs, schemas, and data ● Conjunctive and disjunctive queries (select/from/where/union) ○ In: APGs and a predicate. Out: APG ● Views ○ In: APG and APG schema mapping. Out: ‘virtual’ APG ● Convert APGs to algebraic databases, and vice versa ○ In: Schema mapping and APG / algebraic database. Out: algebraic database / APG.

Editor's Notes

  1. Continuing with the TinkerPop 4 theme, I am going tell you about APG, or algebraic property graphs. This has been a collaboration between Uber and Conexus AI; tt the end of this slide show, there is a link to our paper.
  2. APG fills a need for a formal schema language for Property Graphs, and a formal approach to mappings. At Uber, we use it for developing company-wide standard schemas, and transforming schemas between the various schema languages we use. I had a presentation on an early version of APG last January at the Global Graph Summit, where I motivated formalizing property graph schemas in terms of category theory. Ryan, from Conexus AI, brought the mathematical expertise to make that happen. As a result, APG has strong connections to type theory and database theory, it is something that theorem provers can work with, and so on.
  3. The basic motivation was this. At Uber, and from what I know, also at other major tech companies like Google, LinkedIn, and so on, the vast majority of data is either relational or conforms to some system of algebraic data types. Here is an example of a struct, or product type, and an enum, or simple sum type, in Thrift. APG data types are simply algebraic data types that also include labels, in the sense of a vertex or edge label. The instance of a data type is a data value; on the top are the grammars that define legal types and values in APG.
  4. Here are the major data interchange languages use at Uber. GraphQL not so much; we included it for comparison, but we are very heavy on Thrift, Avro, and Protobuf, all of which have similar, informal type systems.
  5. This diagram captures the essence of APG. An algebraic property graph -- capital G -- consists of a set of elements, such as vertices and edges, a set of element labels, a set of data values, and a set of data types. I mentioned types and values on the last slide; they are made up of primitive types and values, element labels and element references, and sums and products. Each of the arrows between the four sets is a function -- for example, the lambda function takes you from an element like an edge to the label of that edge. The sigma function takes you from a label to the schema of that label. For example, the type of an edge label is a product of two vertex labels -- the label of the out-vertex and the label of the in-vertex. What is really important is that this diagram commutes; the schema of a label of an element is always the same as the type of the value of an element, which is the APG way of expressing the conformance of a graph to a graph schema.
  6. Just briefly, one of the really important objectives for APG was a formal notion of mappings between graphs, and we have that. The formalism supports varying degrees of naturality or preservation of semantics. This diagram shows the most natural, that is the most strict kind, a natural transformation.
  7. In TinkerPop3, there is an API called Graph.Features which allows you to specify, what kind of elements are supported in a graph, among other things. In APG, there are simple but formal definitions for what we call a vertex, an edge, a property, and so on, and it is easy to go beyond the typical property graph element classes if you need to. Meta-properties, meta-edges, and so on are just different classes of labels in terms of their schemas. At the bottom, you see some examples. A vertex is an element whose value is trivial; it has no internal structure. The value of an edge is an ordered pair of vertices. The value of a property is an ordered pair of an element and a primitive value.
  8. Last slide. One of the advantages of RDF over property graphs, historically, is that you can perform well-defined operations over them. Merging graphs, filtering graphs, and so on. In APG, these kinds of operations are also well-defined for property graphs. (More details if we have extra time)