SlideShare a Scribd company logo
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!
Sparksee Graph Database
Polyglot graph databases
using OCL as pivot
March 2016. Raquel Pau!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!
Sparksee Graph Database!
•  The development process
•  The languages mismatch problem
•  OCL as pivot graph query language
Agenda!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
Position! Company!
Person!
Work!
Startup!
LargeCompany!
0..1 next!
0..1
previous!
name:String!
Conceptual
Schema!
Design! code!
0..1 !
*!
*!
OCL
context System:query(Person p):String
body:p.work->select(w| w.previous->isEmpty()).position.name
!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
Position!
Company!
Person!
Work!
Startup!
LargeCompany!
name:String!
PERSON_WORKS!
POSITION_WORKS!
PREVIOUS_WORK!
COMPANY_WORKS!
IS_A!
IS_A!
Normalization process due to the data model mismatch!
Conceptual
Schema!
Design! code!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
PGQL
SELECT pos.name
WHERE (p@1024)–[PERSON_WORKS]->w,
w <- [POSITON_WORKS] - pos,
NOT (w - [PREVIOUS_WORK] -> ())
Cypher
MATCH (p) – [:PERSON_WORKS] -> (w)<-[:POSITION_WORKS]-pos
WHERE NOT (w – [:PERVIOUS_WORK] -> ()) AND id(p) = 1024
RETURN pos.name
Conceptual
Schema!
Design! code!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
Conceptual schemas
— Classes
— N-ary relationships
— Properties
— Reification
— Taxonomies
Property graph model
— Nodes
— Binary Relationships
— Properties
Data Model Mismatches!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
DESIRED APPROACH! REAL APPROACH!
1.  Specification!
2.  Implementation!
3.  QA Tests!
4.  New changes!
5.  Specification!
6.  Implementation!
7.  ….!
1.  Specification!
2.  Implementation!
3.  QA Tests!
4.  New changes!
5.  Implementation!
6.  QA Tests!
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
Why not UML/OCL as a pivot language?
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
UML/OCL as a pivot language
1.  Code generation becomes unnecessary.
2.  A database could become polyglot due to its high expressivity.
3.  Executable specifications => Specifications become code.
4.  The same constructions are valid for constraints and update
operations.
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!*Sparsity Technologies — Powering Extreme
Data!
sparsity–
technologies.com!
º! Sparksee Graph Database
OCL as Graph Query Language: Desired extensions
•  Graph patterns: OCL has not an specific syntax to express
graph patterns, but allows to define variables and their values.
•  Supported types: Graph is needed to support graph operations
such as shortest path.
•  Syntactic sugar: needed to express sorting clauses and
projections.
*Sparsity Technologies — Powering Extreme Data! sparsity–
technologies.com
º!
Sparksee Graph Database!
Thanks!
Q&A

More Related Content

PPTX
Spark: The Good, the Bad, and the Ugly
Sarah Guido
 
PPTX
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Sarah Guido
 
PDF
Sparksee Technology overview
Sparsity Technologies
 
PDF
CliqueSquare processing
INRIA-OAK
 
PDF
The scarcity of crossing dependencies: a direct outcome of a specific constra...
Graph-TA
 
PDF
Identifiability in Dynamic Casual Networks
Graph-TA
 
PDF
Using Evolutionary Computing for Feature-driven Graph generation
Graph-TA
 
PDF
Synthetic Data Generation using exponential random Graph modeling
Graph-TA
 
Spark: The Good, the Bad, and the Ugly
Sarah Guido
 
Data Science at Scale: Using Apache Spark for Data Science at Bitly
Sarah Guido
 
Sparksee Technology overview
Sparsity Technologies
 
CliqueSquare processing
INRIA-OAK
 
The scarcity of crossing dependencies: a direct outcome of a specific constra...
Graph-TA
 
Identifiability in Dynamic Casual Networks
Graph-TA
 
Using Evolutionary Computing for Feature-driven Graph generation
Graph-TA
 
Synthetic Data Generation using exponential random Graph modeling
Graph-TA
 

Viewers also liked (7)

PDF
Computing on Event-sourced Graphs
Graph-TA
 
PDF
Holistic Benchmarking of Big Linked Data: HOBBIT
Graph-TA
 
PDF
Modelling the Clustering Coefficient of a Random graph
Graph-TA
 
PDF
Benchmarking Versioning for Big Linked Data
Graph-TA
 
PDF
Graphalytics: A big data benchmark for graph-processing platforms
Graph-TA
 
PDF
Reactive Databases for Big Data applications
Graph-TA
 
PDF
Use of Graphs for Cloud Service Selection in Multi-Cloud Environments
Graph-TA
 
Computing on Event-sourced Graphs
Graph-TA
 
Holistic Benchmarking of Big Linked Data: HOBBIT
Graph-TA
 
Modelling the Clustering Coefficient of a Random graph
Graph-TA
 
Benchmarking Versioning for Big Linked Data
Graph-TA
 
Graphalytics: A big data benchmark for graph-processing platforms
Graph-TA
 
Reactive Databases for Big Data applications
Graph-TA
 
Use of Graphs for Cloud Service Selection in Multi-Cloud Environments
Graph-TA
 
Ad

Similar to Polyglot Graph Databases using OCL as pivot (20)

PDF
Advanced Apache Spark Meetup Data Sources API Cassandra Spark Connector Spark...
Chris Fregly
 
PDF
Scotland Data Science Meetup Oct 13, 2015: Spark SQL, DataFrames, Catalyst, ...
Chris Fregly
 
PDF
Sparksee overview
Sparsity Technologies
 
PDF
Strata 2015 Data Preview: Spark, Data Visualization, YARN, and More
Paco Nathan
 
PDF
Cassandra Day SV 2014: Spark, Shark, and Apache Cassandra
DataStax Academy
 
PPTX
.net developer for Jupyter Notebook and Apache Spark and viceversa
Marco Parenzan
 
PDF
Apache Spark for Everyone - Women Who Code Workshop
Amanda Casari
 
PPTX
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Michael Rys
 
PDF
Our path to apache spark
ppetr82
 
PDF
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
Iulia Emanuela Iancuta
 
PDF
Spark after Dark by Chris Fregly of Databricks
Data Con LA
 
PDF
Spark After Dark - LA Apache Spark Users Group - Feb 2015
Chris Fregly
 
PDF
Context-Aware Access Control for RDF Graph Stores
Serena Villata
 
PDF
Data Science with Spark
Krishna Sankar
 
PPTX
Introduction to NetGuardians' Big Data Software Stack
Jérôme Kehrli
 
PDF
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
Big Data Spain
 
PPTX
2015 Data Science Summit @ dato Review
Hang Li
 
PDF
Spark Uber Development Kit
DataWorks Summit/Hadoop Summit
 
PDF
20160512 apache-spark-for-everyone
Amanda Casari
 
PDF
Spark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit
 
Advanced Apache Spark Meetup Data Sources API Cassandra Spark Connector Spark...
Chris Fregly
 
Scotland Data Science Meetup Oct 13, 2015: Spark SQL, DataFrames, Catalyst, ...
Chris Fregly
 
Sparksee overview
Sparsity Technologies
 
Strata 2015 Data Preview: Spark, Data Visualization, YARN, and More
Paco Nathan
 
Cassandra Day SV 2014: Spark, Shark, and Apache Cassandra
DataStax Academy
 
.net developer for Jupyter Notebook and Apache Spark and viceversa
Marco Parenzan
 
Apache Spark for Everyone - Women Who Code Workshop
Amanda Casari
 
Bringing the Power and Familiarity of .NET, C# and F# to Big Data Processing ...
Michael Rys
 
Our path to apache spark
ppetr82
 
In Memory Data Pipeline And Warehouse At Scale - BerlinBuzzwords 2015
Iulia Emanuela Iancuta
 
Spark after Dark by Chris Fregly of Databricks
Data Con LA
 
Spark After Dark - LA Apache Spark Users Group - Feb 2015
Chris Fregly
 
Context-Aware Access Control for RDF Graph Stores
Serena Villata
 
Data Science with Spark
Krishna Sankar
 
Introduction to NetGuardians' Big Data Software Stack
Jérôme Kehrli
 
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
Big Data Spain
 
2015 Data Science Summit @ dato Review
Hang Li
 
Spark Uber Development Kit
DataWorks Summit/Hadoop Summit
 
20160512 apache-spark-for-everyone
Amanda Casari
 
Spark Summit EU talk by Debasish Das and Pramod Narasimha
Spark Summit
 
Ad

More from Graph-TA (17)

PPTX
RDF Graph Data Management in Oracle Database and NoSQL Platforms
Graph-TA
 
PPTX
GRAPHITE — An Extensible Graph Traversal Framework for RDBMS
Graph-TA
 
PPTX
On the Discovery of Novel Drug-Target Interactions from Dense SubGraphs
Graph-TA
 
PDF
Graphalytics: A big data benchmark for graph processing platforms
Graph-TA
 
PDF
Autograph: an evolving lightweight graph tool
Graph-TA
 
PPTX
Understanding Graph Structure in Knowledge Bases
Graph-TA
 
PDF
Finding patterns of chronic disease and medication prescriptions from a large...
Graph-TA
 
PDF
Recent Updates on IBM System G — GraphBIG and Temporal Data
Graph-TA
 
PDF
Analysing the degree distribution of real graphs by means of several probabil...
Graph-TA
 
PPTX
SPIMBENCH: A Scalable, Schema-Aware Instance Matching Benchmark for the Seman...
Graph-TA
 
PDF
Generating synthetic online social network graph data and topologies
Graph-TA
 
PPTX
Deriving an Emergent Relational Schema from RDF Data
Graph-TA
 
PDF
Managing RDF data with graph databases
Graph-TA
 
PDF
Graph Based Word Spotting Approach for Large Document Collections
Graph-TA
 
PDF
Use of graphs for political analysis
Graph-TA
 
PPTX
Graphium Chrysalis: Exploiting Graph Database
Graph-TA
 
PDF
Langford sequences through a product of labeled digraphs
Graph-TA
 
RDF Graph Data Management in Oracle Database and NoSQL Platforms
Graph-TA
 
GRAPHITE — An Extensible Graph Traversal Framework for RDBMS
Graph-TA
 
On the Discovery of Novel Drug-Target Interactions from Dense SubGraphs
Graph-TA
 
Graphalytics: A big data benchmark for graph processing platforms
Graph-TA
 
Autograph: an evolving lightweight graph tool
Graph-TA
 
Understanding Graph Structure in Knowledge Bases
Graph-TA
 
Finding patterns of chronic disease and medication prescriptions from a large...
Graph-TA
 
Recent Updates on IBM System G — GraphBIG and Temporal Data
Graph-TA
 
Analysing the degree distribution of real graphs by means of several probabil...
Graph-TA
 
SPIMBENCH: A Scalable, Schema-Aware Instance Matching Benchmark for the Seman...
Graph-TA
 
Generating synthetic online social network graph data and topologies
Graph-TA
 
Deriving an Emergent Relational Schema from RDF Data
Graph-TA
 
Managing RDF data with graph databases
Graph-TA
 
Graph Based Word Spotting Approach for Large Document Collections
Graph-TA
 
Use of graphs for political analysis
Graph-TA
 
Graphium Chrysalis: Exploiting Graph Database
Graph-TA
 
Langford sequences through a product of labeled digraphs
Graph-TA
 

Recently uploaded (20)

PPTX
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
PDF
The Effect of Artifact Removal from EEG Signals on the Detection of Epileptic...
Partho Prosad
 
PDF
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
PDF
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PDF
LEAP-1B presedntation xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hatem173148
 
PDF
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
PDF
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
PDF
Software Testing Tools - names and explanation
shruti533256
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PPTX
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
PDF
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
PDF
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
PDF
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
PPTX
Information Retrieval and Extraction - Module 7
premSankar19
 
PDF
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
PPTX
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
PDF
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
PDF
JUAL EFIX C5 IMU GNSS GEODETIC PERFECT BASE OR ROVER
Budi Minds
 
Victory Precisions_Supplier Profile.pptx
victoryprecisions199
 
The Effect of Artifact Removal from EEG Signals on the Detection of Epileptic...
Partho Prosad
 
Top 10 read articles In Managing Information Technology.pdf
IJMIT JOURNAL
 
Traditional Exams vs Continuous Assessment in Boarding Schools.pdf
The Asian School
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
LEAP-1B presedntation xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hatem173148
 
settlement FOR FOUNDATION ENGINEERS.pdf
Endalkazene
 
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
Software Testing Tools - names and explanation
shruti533256
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
Civil Engineering Practices_BY Sh.JP Mishra 23.09.pptx
bineetmishra1990
 
Introduction to Ship Engine Room Systems.pdf
Mahmoud Moghtaderi
 
Advanced LangChain & RAG: Building a Financial AI Assistant with Real-Time Data
Soufiane Sejjari
 
2025 Laurence Sigler - Advancing Decision Support. Content Management Ecommer...
Francisco Javier Mora Serrano
 
Information Retrieval and Extraction - Module 7
premSankar19
 
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
MT Chapter 1.pptx- Magnetic particle testing
ABCAnyBodyCanRelax
 
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
JUAL EFIX C5 IMU GNSS GEODETIC PERFECT BASE OR ROVER
Budi Minds
 

Polyglot Graph Databases using OCL as pivot

  • 1. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º! Sparksee Graph Database Polyglot graph databases using OCL as pivot March 2016. Raquel Pau!
  • 2. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º! Sparksee Graph Database! •  The development process •  The languages mismatch problem •  OCL as pivot graph query language Agenda!
  • 3. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database Position! Company! Person! Work! Startup! LargeCompany! 0..1 next! 0..1 previous! name:String! Conceptual Schema! Design! code! 0..1 ! *! *! OCL context System:query(Person p):String body:p.work->select(w| w.previous->isEmpty()).position.name !
  • 4. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database Position! Company! Person! Work! Startup! LargeCompany! name:String! PERSON_WORKS! POSITION_WORKS! PREVIOUS_WORK! COMPANY_WORKS! IS_A! IS_A! Normalization process due to the data model mismatch! Conceptual Schema! Design! code!
  • 5. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database PGQL SELECT pos.name WHERE (p@1024)–[PERSON_WORKS]->w, w <- [POSITON_WORKS] - pos, NOT (w - [PREVIOUS_WORK] -> ()) Cypher MATCH (p) – [:PERSON_WORKS] -> (w)<-[:POSITION_WORKS]-pos WHERE NOT (w – [:PERVIOUS_WORK] -> ()) AND id(p) = 1024 RETURN pos.name Conceptual Schema! Design! code!
  • 6. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database Conceptual schemas — Classes — N-ary relationships — Properties — Reification — Taxonomies Property graph model — Nodes — Binary Relationships — Properties Data Model Mismatches!
  • 7. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database DESIRED APPROACH! REAL APPROACH! 1.  Specification! 2.  Implementation! 3.  QA Tests! 4.  New changes! 5.  Specification! 6.  Implementation! 7.  ….! 1.  Specification! 2.  Implementation! 3.  QA Tests! 4.  New changes! 5.  Implementation! 6.  QA Tests!
  • 8. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database Why not UML/OCL as a pivot language?
  • 9. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database UML/OCL as a pivot language 1.  Code generation becomes unnecessary. 2.  A database could become polyglot due to its high expressivity. 3.  Executable specifications => Specifications become code. 4.  The same constructions are valid for constraints and update operations.
  • 10. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º!*Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com! º! Sparksee Graph Database OCL as Graph Query Language: Desired extensions •  Graph patterns: OCL has not an specific syntax to express graph patterns, but allows to define variables and their values. •  Supported types: Graph is needed to support graph operations such as shortest path. •  Syntactic sugar: needed to express sorting clauses and projections.
  • 11. *Sparsity Technologies — Powering Extreme Data! sparsity– technologies.com º! Sparksee Graph Database! Thanks! Q&A