SlideShare a Scribd company logo
1 of 28
Download to read offline
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Graph Query Languages
Juan F. Sequeda, Ph.D
Co-Founder
Capsenta
1Smart	
  Data	
  – Graphorum Conference	
  – January	
  20,	
  2017
@juansequeda @	
  LDBCouncil
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Take	
  away	
  message
• Graph	
  Databases	
  need	
  a	
  Standardized	
  Query	
  
Language
• It’s	
  complicated
• “Those	
  who	
  fail	
  to	
  learn	
  from	
  history	
  are	
  
doomed	
  to	
  repeat	
  it”
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Linked	
  Data	
  Benchmark	
  Council	
  (LDBC)
• LDBC	
  is	
  a	
  non-­‐profit	
  organization	
  dedicated	
  to	
  
establishing	
  benchmarks,	
  benchmark	
  practices	
  
and	
  benchmark	
  results	
  for	
  graph	
  data	
  
management	
  software.
• LDBC	
  was	
  established	
  as	
  an	
  outcome	
  of	
  the	
  
LDBC	
  EU	
  project	
  funded	
  by	
  the	
  European	
  
Commission	
  within	
  the	
  7th	
  Framework	
  
Programme (Grant	
  Agreement	
  No.	
  317548).
http://ldbcouncil.org/
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
LDBC	
  Organization	
  (non-­‐profit)
“sponsors”
+	
  non-­‐profit	
  members	
  (FORTH,	
  STI2)	
  &	
  personal	
  members
+	
  Task	
  Forces,	
  volunteers	
  developing	
  benchmarks
+	
  TUC:	
  Technical	
  User	
  Community	
  (8	
  workshops,	
  ~40	
  graph	
  and	
  
RDF	
  user	
  case	
  studies,	
  18	
  vendor	
  presentations)	
  
9th	
  TUC	
   Meeting,	
  SAP	
  Headquarters	
  in	
  Walldorf Germany,	
  February	
  9-­‐10	
  2017
http://ldbcouncil.org/9th-­‐tuc-­‐meeting-­‐sap-­‐headquarters-­‐walldorf-­‐germany-­‐february-­‐9-­‐10-­‐2017
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
LDBC	
  Benchmarks
5
http://ldbcouncil.org/benchmarks
Graphalytics Semantic	
  Publishing Social	
  Network
VLDB	
  2016
SIGMOD	
  2015
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Graph	
  Query	
  Language	
  Task	
  Force
• Study	
  query	
  languages	
  
for	
  graph	
  data	
  
management	
  systems,	
  
specifically	
  systems	
  
storing	
  “Property	
  Graph”	
  
data
• Query	
  language	
  should	
  
cover	
  the	
  needs	
  of	
  
important	
  use	
  cases:	
  
social	
  network	
  
benchmark,	
  interactive	
  
and	
  BI	
  workloads
• Devise	
  a	
  list	
  of	
  desired	
  
features	
  and	
  
functionalities	
  
• Renzo	
  Angles,	
  Universidad	
  de	
  Talca
• Marcelo	
  Arenas,	
  PUC	
  Chile	
  -­‐ task	
  force	
  lead
• Pablo	
  Barceló,	
  Universidad	
  de	
  Chile
• Peter	
  Boncz,	
  Vrije Universiteit Amsterdam
• George	
  Fletcher,	
  Eindhoven	
  University	
  of	
  
Technology
• Claudio	
  Gutierrez,	
  Universidad	
  de	
  Chile
• Tobias	
  Lindaaker,	
  Neo	
  Technology
• Marcus	
  Paradies,	
  SAP
• Raquel	
  Pau,	
  UPC
• Arnau Prat,	
  UPC	
  /	
  Sparsity
• Juan	
  Sequeda,	
  Capsenta
• Oskar	
  van	
  Rest,	
  Oracle	
  Labs
• Hannes	
  Voigt,	
  TU	
  Dresden
• YinglongXia,	
  IBM
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Property	
  Graph	
  Data	
  Model
id:	
  123
name:	
  Juan	
  Sequeda
Person
id:	
  456
name:	
  Marcelo	
  Arenas
Person
knows
since:	
  2010
• Neo4j’s	
  
Cypher
• Oracle’s	
  
PGQL
• Tinkerpop’s
Gremlin
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Graph	
  Query	
  Languages	
  Today
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Standard	
  Syntax	
  and	
  Semantics
• Standard
– Vendor	
  lock-­‐in
– Prevents	
  true	
  performance	
  
competition	
  
à improvement	
  of	
  systems
• Syntax
– Hard	
  to	
  define	
  benchmarks
– Hard	
  to	
  compare	
  Graph	
  DBMS
– Applications	
  are	
  not	
  portable
• Semantics
– PGQL:	
  iso/homomorphism
– Cypher:	
  “edge”	
  isomorphism
– Gremlin:	
  homomorphism
– SPARQL:	
  homomorphism Best	
  Paper	
  WWW2012
Angles	
  and	
  Gutierrez.	
   The	
  Expressive	
   Power	
  of	
  SPARQL.	
  
ISWC2008
Best	
  Paper	
  ISWC2006.	
  10	
  Year	
  Award	
  2016	
  
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Closed	
  Language
SQL
Graph
Query
Language*
however	
  …
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Path	
  Support
• Conjunctive	
  Query	
  (CQ)
• Regular	
  Path	
  Queries	
  (RPQ):	
  regular	
  expression	
  
over	
  edge	
  labels
• Conjunctive	
  Regular	
  Path	
  Query	
  (CRPQ)
• Union	
  Conjunctive	
  Regular	
  Path	
  Query	
  (UCRPQ)
• Path	
  Matching	
  supported.	
  What	
  about	
  further	
  
processing	
  of	
  Paths?
• Require	
  for	
  an	
  (a,b)*	
  RPQ	
  that	
  the	
  sum	
  of	
  some	
  
property	
  on	
  all	
  b	
  edges	
  along	
  the	
  path	
  is	
  greater	
  
some	
  give	
  threshold
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Desired	
  Query	
  Functionalities
• Adjacency	
  Queries
• Graph	
  Pattern	
  Matching
• Navigational	
  Queries
• Aggregate	
  Queries
• Sub	
  queries
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Adjacency	
  queries
• Property	
  access
– Get	
  the	
  firstName and	
  lastName of	
  a	
  person	
  
having	
  email	
  "$email”
• Neighborhood	
  of	
  a	
  node
– Get	
  the	
  firstName and	
  lastName of	
  the	
  friends	
  of	
  
a	
  person	
  identified	
  by	
  email	
  "$email".
• K-­‐neighborhood	
  of	
  a	
  node
– Get	
  the	
  email,	
  firstName and	
  lastName of	
  friends	
  
of	
  the	
  friends	
  of	
  a	
  person	
  having	
  email	
  "$email"	
  
(excluding	
  the	
  start	
  person)	
  (i.e.	
  get	
  a	
  list	
  of	
  
recommended	
  friends)	
  (directed	
  2-­‐neighborhood)
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Graph	
  Pattern	
  Matching
• Join
– Get	
  the	
  creationDate and	
  content	
  of	
  the	
  messages	
  created	
  by	
  a	
  person	
  identified	
  by	
  email	
  
"$email1"	
  and	
  commented	
  by	
  another	
  person	
  identified	
  by	
  "$email2".
• Union
– Get	
  the	
  creationDate and	
  content	
  of	
  the	
  messages	
  either	
  created	
  or	
  liked	
  by	
  a	
  person	
  
identified	
  by	
  email	
  "$email".
• Intersection
– Get	
  the	
  email,	
  firstNameand	
  lastName of	
  the	
  common	
  friends	
  between	
  two	
  persons	
  
identified	
  by	
  emails	
  "$email1"	
  and	
  "$email2"	
  respectively.
• Difference
– Given	
  two	
  friends	
  identified	
  by	
  emails	
  "$email1"	
  and	
  "$email2"	
  respectively,	
  get	
  the	
  email,	
  
firstName and	
  lastName of	
  the	
  friends	
  of	
  the	
  second	
  person	
  which	
  are	
  not	
  friends	
  of	
  the	
  first	
  
person	
  (this	
  questions	
  is	
  relevant	
  for	
  friendship	
  recommendations).
• Optional
– Given	
  a	
  person	
  identified	
  by	
  email	
  "$email",	
  get	
  the	
  title	
  of	
  all	
  the	
  messages	
  created	
  by	
  such	
  
person,	
  and	
  the	
  content	
  of	
  the	
  first	
  comment	
  replying	
  each	
  message	
  (if	
  it	
  exists).
• Filter
– Get	
  the	
  properties	
  of	
  the	
  people	
  whose	
  firstNameincludes	
  the	
  string	
  "xxx"	
  (it	
  implies	
  use	
  of	
  
wildcards).
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Navigational	
  queries
• Reachability
– Is	
  there	
  a	
  friendship	
  connection	
  between	
  two	
  persons	
  identified	
  by	
  emails	
  
"$email1"	
  and	
  "$email2"	
  respectively?
• All	
  Path	
  Finding
– Get	
  the	
  friendship	
  paths	
  between	
  two	
  persons	
  identified	
  by	
  emails	
  "$email1"	
  
and	
  "$email2"	
  respectively.
• Shortest	
  Path	
  Finding
– The	
  shortest	
  friendship	
  path	
  between	
  two	
  persons	
  identified by	
  emails	
  
"$email1"	
  and	
  "$email2"	
  respectively".
• Regular	
  Path	
  Query
– Get	
  the	
  firstName of	
  friends	
  of	
  the	
  friends	
  of	
  the	
  friends	
  of	
  a	
  person	
  identified	
  
by	
  email	
  "$email".
• Conjunctive	
  Regular	
  Path	
  Queries
– Given	
  a	
  target	
  message	
  created	
  on	
  "$dateTime"	
  by	
  a	
  person	
  identified	
  by	
  
email	
  "$email",	
  for	
  each	
  comment	
  replying	
  the	
  target	
  message,	
  get	
  the	
  
comment's	
  content	
  and	
  the	
  email	
  of	
  the	
  comment´s	
  creator.
• Filtered	
  regular	
  path	
  query
– Given	
  a	
  person	
  identified	
  by	
  email	
  "$email",	
  get	
  the	
  title	
  of	
  all	
  the	
  messages	
  
liked	
  by	
  such	
  person	
  between	
  "$dateTime1"	
  and	
  "$dateTime2”.
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Where	
  are	
  we	
  now?
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Decision:	
  Property	
  Graph	
  Data	
  Model
In	
  the	
  following	
  definition,	
  we	
  assume	
  the	
  existence	
  of	
  the	
  following	
  sets:
• L is	
  an	
  infinite	
  set	
  of	
  (node	
  and	
  edge)	
  labels;
• P is	
  an infinite	
  set	
  of	
  property	
  names;
• V is	
  an	
  infinite	
  set	
  of	
  literals	
  (actual	
  values).
Moreover,	
  we	
  assume	
  that	
  SET(X)	
  is	
  the	
  set	
  of	
  all	
  finite	
  subsets	
  of	
  a	
  given	
  
set X.
Then	
  a	
  property	
  graph	
  is	
  a	
  tuple G =	
  (N,	
  E, ρ, λ, σ),	
  where:
• nodes: N is	
  a	
  finite	
  set	
  of	
  nodes;
• edges:	
   E is	
  a	
  finite	
  set	
  of	
  edges	
  such	
  that N and E have	
  no	
  elements	
  in	
  
common;
ρ : E → (N × N)	
  is	
  a	
  total	
  function;
• labels:	
  
λ :	
  (N	
  U E) →	
  SET(L) is	
  a	
  total	
  function;
• properties:	
  
σ :	
  (N U E) × P → V is	
  a	
  partial	
  function.
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Property	
  Graph	
  Data	
  Model
id:	
  123
name:	
  Juan	
  Sequeda
Person
id:	
  456
name:	
  Marcelo	
  Arenas
Person
knows
since:	
  2010
L is	
  an	
  infinite	
  set	
  of	
  (node	
  and	
  edge)	
  labels
P is	
  an infinite	
  set	
  of	
  property	
  names
V is	
  an	
  infinite	
  set	
  of	
  literals	
  (actual	
  values)
N is	
  a	
  finite	
  set	
  of	
  nodes
E is	
  a	
  finite	
  set	
  of	
  edges	
  such	
  that
N and E have	
  no	
  elements	
  in	
  common	
  
L =	
  {Person,	
  knows}
P =	
  {id,	
  name,	
  since}
V =	
  {“123”,	
  “456”,	
  “Juan	
  Sequeda”,	
  “Marcelo	
  Arenas”,	
  “2010”}
N =	
  {n1,	
  n2}
E =	
  {e1}
ρ (edge) : E → (N × N)	
  is	
  a	
  total	
  function
λ (labels):	
  (N	
  U E) →	
  SET(L) is	
  a	
  total	
  function
σ (properties):	
  (N U E) × P → V is	
  a	
  partial	
  function
ρ =	
  [ρ(e1)	
  =	
  (n1,n2) ]
λ =	
  [λ(n1)	
  =	
  “Person”,	
  λ(n2)	
  =	
  “Person”,	
  λ(e1)	
  =	
  “knows”	
  ]
σ =	
  [
σ(n1)	
  =	
  {(“id”,	
  “123”),	
  (“name”,	
  “Juan	
  Sequeda”)},
σ(n2)	
  =	
  {(“id”,	
  “456”),	
  (“name”,	
  “Marcelo	
  Arenas”)},
σ(e1)	
  =	
  {(“since”,	
  “2010”)}
]
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Unified	
  Data	
  Model	
  Options
• Extend	
  Relational	
  model	
  (where	
  cells	
  can	
  
contain	
  actual	
  values	
  such	
  as	
  strings,	
  integers,	
  
dates,…)	
  with	
  objects	
  of	
  type	
  either	
  NODE,	
  
EDGE,	
  PATH	
  or	
  GRAPH
– Embedding	
  Graphs	
  in	
  Relational	
  Database
– Similar	
  Postgres +	
  JSON	
  datatype
– What	
  happens	
  if	
  you	
  join	
  on	
  a	
  GRAPH	
  column?
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Unified	
  Data	
  Model	
  Options
• “Natural”	
  Graph	
  Data	
  model
20
1 2 3 4
5 6
id label E.id E.dest
1 purple 10 2
2 green 11 3
13 5
3 green 12 4
14 6
4 purple no	
  out edges
5 green 15 6
6 purple 16 4
10 11 12
13 14
15
16
Data	
  graph	
  G
SELECT x, y
FROM G (x:purple)-[e:*]->(y:purple)
Query	
  1:
id x y
90 1 4
91 1 6
x=1
y=4
90
x=1
y=6
91
id x y E.id E.dest
90 1 4 no	
  out edges
91 1 6 no	
  out edges
New	
  Nodes	
  
Because	
  of
Relation	
  Projection
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(1)	
  Paths	
  make	
  things	
  “weird”!
SELECT x, y, CHEAPEST PATH edgeId
FROM G (x:purple)-[e:*]->(y:purple)
Query	
  2a:
id x y
90 1 4
91 1 6
id x y E.id E.dest E.edgeId E.order
90 1 4 20 90 10 1
21 90 11 2
22 90 12 3
91 1 6 23 91 10 1
24 91 13 2
25 91 15 3
x=1
y=4
90
x=1
y=6
91
edgeId=10
order=1
edgeId=11
order=2
edgeId=12
order=3
edgeId=10
order=1
edgeId=13
order=2
edgeId=15
order=3
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
Paths	
  are	
  Self	
  Edges	
  with	
  an	
  Order
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(2)	
  Paths	
  make	
  things	
  “weird”!
22
SELECT x, y, p
FROM G (x:purple)-[CHEAPEST p:+]->(y:purple)
Query	
  2b:
id x y
90 1 4
91 1 6
x=1
y=4
90
x=1
y=6
91id x y p E.id E.dest
90 1 4 [10,11,12] no	
  out edges
91 1 6 [10,13,15] no	
  out edges
x=1
y=4
p=[10,11,12]
90
x=1
y=6
p=[10,13,15]
91
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
Paths	
  are	
  Datatypes
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(1)	
  Graph	
  Projection	
  (instead	
  of	
  Relation	
  Projection)
23
Query	
  3a:
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
SELECT (x), (y)
FROM G (x:orange)-[:+]->(y:orange)
id label E.id E.dest
1 purple no	
  out edges
4 purple no	
  out edges
6 purple no	
  out edges
1 4
6
id x y
90 1 4
91 1 6
x=1
y=4
90
x=1
y=6
91
id x y E.id E.dest
90 1 4 no	
  out edges
91 1 6 no	
  out edges
Remember:	
  this	
  is	
  the	
  Relational	
  Projection
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(2)	
  Graph	
  Projection	
  (instead	
  of	
  Relation	
  Projection)
24
id label E.id E.dest
1 purple 21 4
22 6
4 purple 23 6
6 purple no	
  out edges
Query	
  3b:
1 4
6
21
2322
SELECT (x)--(y)
FROM G (x:purple)-[:+]->(y:purple)
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(1)	
  Graph	
  Projection	
  with	
  Paths
25
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
SELECT (PATH p)
FROM G (x:orange)-[CHEAPEST p:*]->(y:orange)
WHERE y.id = 4
1 2 3 4
6
10 11 12
16id label E.id E.dest
1 purple 10 2
2 green 11 3
3 green 12 4
4 purple no	
  out edges
6 purple 16 6
Query	
  4a:
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
(2)	
  Graph	
  Projection	
  with	
  Paths
26
1 2 3 4
5 6
10 11 12
13 14
15
16
Data	
  graph	
  G
Query	
  4b:
21
23l=1
L=3
SELECT (x)-[:{l=LENGTH OF p}]-(y)
FROM G (x:orange)-[CHEAPEST p:*]->(y:orange)
WHERE y.id = 4
id label E.id E.dest E.l
1 purple 21 4 3
4 purple 23 6 1
6 purple no	
  out edges
1 4
6
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
Wrap	
  up
• We	
  want	
  to	
  hear	
  from	
  you!
• 9th	
  LDBC	
  Technical	
  User	
  Community	
  
Meeting,	
  SAP	
  Headquarters	
  in	
  Walldorf
Germany,	
  February	
  9-­‐10	
  2017
• http://ldbcouncil.org/9th-­‐tuc-­‐meeting-­‐sap-­‐
headquarters-­‐walldorf-­‐germany-­‐february-­‐9-­‐
10-­‐2017
27
Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com
THANK	
  YOU
Juan	
  Sequeda,	
  Ph.D
Co-­‐Founder	
  – Capsenta
juan@capsenta.com
@juansequeda
28
Sequeda	
  J.	
  Integrating	
  Relational	
  Databases	
  with	
  the	
  Semantic	
  Web.	
  IOS	
  Press.	
  2016
http://www.iospress.nl/book/integrating-­‐relational-­‐databases-­‐with-­‐the-­‐semantic-­‐web/

More Related Content

What's hot

Semantic Technologies for Big Data
Semantic Technologies for Big DataSemantic Technologies for Big Data
Semantic Technologies for Big DataMarin Dimitrov
 
Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?Cambridge Semantics
 
Scaling up business value with real-time operational graph analytics
Scaling up business value with real-time operational graph analyticsScaling up business value with real-time operational graph analytics
Scaling up business value with real-time operational graph analyticsConnected Data World
 
TehranDB Meet-up April 2018 Introduction to Graph Database
TehranDB Meet-up April 2018 Introduction to Graph DatabaseTehranDB Meet-up April 2018 Introduction to Graph Database
TehranDB Meet-up April 2018 Introduction to Graph DatabaseHamoon Mohammadian Pour
 
Modern Data Discovery and Integration in Insurance
Modern Data Discovery and Integration in InsuranceModern Data Discovery and Integration in Insurance
Modern Data Discovery and Integration in InsuranceCambridge Semantics
 
How to Reveal Hidden Relationships in Data and Risk Analytics
How to Reveal Hidden Relationships in Data and Risk AnalyticsHow to Reveal Hidden Relationships in Data and Risk Analytics
How to Reveal Hidden Relationships in Data and Risk AnalyticsOntotext
 
Risk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep LearningRisk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep LearningCambridge Semantics
 
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...Connected Data World
 
Using Hadoop as a platform for Master Data Management
Using Hadoop as a platform for Master Data ManagementUsing Hadoop as a platform for Master Data Management
Using Hadoop as a platform for Master Data ManagementDataWorks Summit
 
Going Beyond Rows and Columns with Graph Analytics
Going Beyond Rows and Columns with Graph AnalyticsGoing Beyond Rows and Columns with Graph Analytics
Going Beyond Rows and Columns with Graph AnalyticsCambridge Semantics
 
How Semantics Solves Big Data Challenges
How Semantics Solves Big Data ChallengesHow Semantics Solves Big Data Challenges
How Semantics Solves Big Data ChallengesDATAVERSITY
 
Knowledge graphs, meet Deep Learning
Knowledge graphs, meet Deep LearningKnowledge graphs, meet Deep Learning
Knowledge graphs, meet Deep LearningConnected Data World
 
Graph intelligence: the future of data-driven investigations
Graph intelligence: the future of data-driven investigationsGraph intelligence: the future of data-driven investigations
Graph intelligence: the future of data-driven investigationsConnected Data World
 
GraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandGraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandOntotext
 
Graphs in Action
Graphs in ActionGraphs in Action
Graphs in ActionNeo4j
 
Geschäftliches Potential für System-Integratoren und Berater - Graphdatenban...
Geschäftliches Potential für System-Integratoren und Berater -  Graphdatenban...Geschäftliches Potential für System-Integratoren und Berater -  Graphdatenban...
Geschäftliches Potential für System-Integratoren und Berater - Graphdatenban...Neo4j
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12mark madsen
 
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...Supporting GDPR Compliance through effectively governing Data Lineage and Dat...
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...Connected Data World
 
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorWebinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorMongoDB
 

What's hot (20)

Semantic Technologies for Big Data
Semantic Technologies for Big DataSemantic Technologies for Big Data
Semantic Technologies for Big Data
 
Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?Should a Graph Database Be in Your Next Data Warehouse Stack?
Should a Graph Database Be in Your Next Data Warehouse Stack?
 
InfiniteGraph
InfiniteGraphInfiniteGraph
InfiniteGraph
 
Scaling up business value with real-time operational graph analytics
Scaling up business value with real-time operational graph analyticsScaling up business value with real-time operational graph analytics
Scaling up business value with real-time operational graph analytics
 
TehranDB Meet-up April 2018 Introduction to Graph Database
TehranDB Meet-up April 2018 Introduction to Graph DatabaseTehranDB Meet-up April 2018 Introduction to Graph Database
TehranDB Meet-up April 2018 Introduction to Graph Database
 
Modern Data Discovery and Integration in Insurance
Modern Data Discovery and Integration in InsuranceModern Data Discovery and Integration in Insurance
Modern Data Discovery and Integration in Insurance
 
How to Reveal Hidden Relationships in Data and Risk Analytics
How to Reveal Hidden Relationships in Data and Risk AnalyticsHow to Reveal Hidden Relationships in Data and Risk Analytics
How to Reveal Hidden Relationships in Data and Risk Analytics
 
Risk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep LearningRisk Analytics Using Knowledge Graphs / FIBO with Deep Learning
Risk Analytics Using Knowledge Graphs / FIBO with Deep Learning
 
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
How Graphs Continue to Revolutionize The Prevention of Financial Crime & Frau...
 
Using Hadoop as a platform for Master Data Management
Using Hadoop as a platform for Master Data ManagementUsing Hadoop as a platform for Master Data Management
Using Hadoop as a platform for Master Data Management
 
Going Beyond Rows and Columns with Graph Analytics
Going Beyond Rows and Columns with Graph AnalyticsGoing Beyond Rows and Columns with Graph Analytics
Going Beyond Rows and Columns with Graph Analytics
 
How Semantics Solves Big Data Challenges
How Semantics Solves Big Data ChallengesHow Semantics Solves Big Data Challenges
How Semantics Solves Big Data Challenges
 
Knowledge graphs, meet Deep Learning
Knowledge graphs, meet Deep LearningKnowledge graphs, meet Deep Learning
Knowledge graphs, meet Deep Learning
 
Graph intelligence: the future of data-driven investigations
Graph intelligence: the future of data-driven investigationsGraph intelligence: the future of data-driven investigations
Graph intelligence: the future of data-driven investigations
 
GraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandGraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on Demand
 
Graphs in Action
Graphs in ActionGraphs in Action
Graphs in Action
 
Geschäftliches Potential für System-Integratoren und Berater - Graphdatenban...
Geschäftliches Potential für System-Integratoren und Berater -  Graphdatenban...Geschäftliches Potential für System-Integratoren und Berater -  Graphdatenban...
Geschäftliches Potential für System-Integratoren und Berater - Graphdatenban...
 
Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12Database revolution opening webcast 01 18-12
Database revolution opening webcast 01 18-12
 
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...Supporting GDPR Compliance through effectively governing Data Lineage and Dat...
Supporting GDPR Compliance through effectively governing Data Lineage and Dat...
 
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI ConnectorWebinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector
 

Similar to Graph Query Languages: update from LDBC

FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter Boncz
FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter BonczFOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter Boncz
FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter BonczIoan Toma
 
Follow the money with graphs
Follow the money with graphsFollow the money with graphs
Follow the money with graphsStanka Dalekova
 
Introducción a Neo4j
Introducción a Neo4jIntroducción a Neo4j
Introducción a Neo4jNeo4j
 
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014James Powell
 
Multi-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing ParadigmsMulti-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing ParadigmsJiaheng Lu
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Anuj Sahni
 
Scaling PyData Up and Out
Scaling PyData Up and OutScaling PyData Up and Out
Scaling PyData Up and OutTravis Oliphant
 
Graph databases and the #panamapapers
Graph databases and the #panamapapersGraph databases and the #panamapapers
Graph databases and the #panamapapersdarthvader42
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph GeneratorLDBC council
 
Predicting Communication Intention in Social Media
Predicting Communication Intention in Social MediaPredicting Communication Intention in Social Media
Predicting Communication Intention in Social MediaCharalampos Chelmis
 
How Graph Databases used in Police Department?
How Graph Databases used in Police Department?How Graph Databases used in Police Department?
How Graph Databases used in Police Department?Samet KILICTAS
 
Beyond Collaborative Filtering: Learning to Rank Research Articles
Beyond Collaborative Filtering: Learning to Rank Research ArticlesBeyond Collaborative Filtering: Learning to Rank Research Articles
Beyond Collaborative Filtering: Learning to Rank Research ArticlesMaya Hristakeva
 
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jTransforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jDatabricks
 
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jTransforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jFred Madrid
 
Optimizing Search User Interfaces and Interactions within Professional Social...
Optimizing Search User Interfaces and Interactions within Professional Social...Optimizing Search User Interfaces and Interactions within Professional Social...
Optimizing Search User Interfaces and Interactions within Professional Social...Nik Spirin
 
managing big data
managing big datamanaging big data
managing big dataSuveeksha
 
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017Noemi Derzsy
 
Data Science Keys to Open Up OpenNASA Datasets
Data Science Keys to Open Up OpenNASA DatasetsData Science Keys to Open Up OpenNASA Datasets
Data Science Keys to Open Up OpenNASA DatasetsPyData
 

Similar to Graph Query Languages: update from LDBC (20)

FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter Boncz
FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter BonczFOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter Boncz
FOSDEM2014 - Social Network Benchmark (SNB) Graph Generator - Peter Boncz
 
Follow the money with graphs
Follow the money with graphsFollow the money with graphs
Follow the money with graphs
 
Introducción a Neo4j
Introducción a Neo4jIntroducción a Neo4j
Introducción a Neo4j
 
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
EgoSystem: Presentation to LITA, American Library Association, Nov 8 2014
 
Multi-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing ParadigmsMulti-Model Data Query Languages and Processing Paradigms
Multi-Model Data Query Languages and Processing Paradigms
 
Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0Application development with Oracle NoSQL Database 3.0
Application development with Oracle NoSQL Database 3.0
 
Scaling PyData Up and Out
Scaling PyData Up and OutScaling PyData Up and Out
Scaling PyData Up and Out
 
Graph databases and the #panamapapers
Graph databases and the #panamapapersGraph databases and the #panamapapers
Graph databases and the #panamapapers
 
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014:  Social Network Benchmark (SNB) Graph GeneratorFOSDEM 2014:  Social Network Benchmark (SNB) Graph Generator
FOSDEM 2014: Social Network Benchmark (SNB) Graph Generator
 
Predicting Communication Intention in Social Media
Predicting Communication Intention in Social MediaPredicting Communication Intention in Social Media
Predicting Communication Intention in Social Media
 
Databases for Data Science
Databases for Data ScienceDatabases for Data Science
Databases for Data Science
 
How Graph Databases used in Police Department?
How Graph Databases used in Police Department?How Graph Databases used in Police Department?
How Graph Databases used in Police Department?
 
Beyond Collaborative Filtering: Learning to Rank Research Articles
Beyond Collaborative Filtering: Learning to Rank Research ArticlesBeyond Collaborative Filtering: Learning to Rank Research Articles
Beyond Collaborative Filtering: Learning to Rank Research Articles
 
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jTransforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
 
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4jTransforming AI with Graphs: Real World Examples using Spark and Neo4j
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
 
Optimizing Search User Interfaces and Interactions within Professional Social...
Optimizing Search User Interfaces and Interactions within Professional Social...Optimizing Search User Interfaces and Interactions within Professional Social...
Optimizing Search User Interfaces and Interactions within Professional Social...
 
managing big data
managing big datamanaging big data
managing big data
 
R tutorial
R tutorialR tutorial
R tutorial
 
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017
Data Science Keys to Open Up OpenNASA Datasets - PyData New York 2017
 
Data Science Keys to Open Up OpenNASA Datasets
Data Science Keys to Open Up OpenNASA DatasetsData Science Keys to Open Up OpenNASA Datasets
Data Science Keys to Open Up OpenNASA Datasets
 

More from Juan Sequeda

RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013Juan Sequeda
 
Linked Data tutorial at Semtech 2012
Linked Data tutorial at Semtech 2012Linked Data tutorial at Semtech 2012
Linked Data tutorial at Semtech 2012Juan Sequeda
 
WTF is the Semantic Web and Linked Data
WTF is the Semantic Web and Linked DataWTF is the Semantic Web and Linked Data
WTF is the Semantic Web and Linked DataJuan Sequeda
 
WTF is the Semantic Web
WTF is the Semantic WebWTF is the Semantic Web
WTF is the Semantic WebJuan Sequeda
 
Drupal 7 and Semantic Web Hands-on Tutorial
Drupal 7 and Semantic Web Hands-on TutorialDrupal 7 and Semantic Web Hands-on Tutorial
Drupal 7 and Semantic Web Hands-on TutorialJuan Sequeda
 
Free Money (a.k.a Fellowships)
Free Money (a.k.a Fellowships)Free Money (a.k.a Fellowships)
Free Money (a.k.a Fellowships)Juan Sequeda
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Juan Sequeda
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Juan Sequeda
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Juan Sequeda
 
Welcome to Linked Data 0/5 Semtech2011
Welcome to Linked Data 0/5 Semtech2011Welcome to Linked Data 0/5 Semtech2011
Welcome to Linked Data 0/5 Semtech2011Juan Sequeda
 
Creating Linked Data 2/5 Semtech2011
Creating Linked Data 2/5 Semtech2011Creating Linked Data 2/5 Semtech2011
Creating Linked Data 2/5 Semtech2011Juan Sequeda
 
Introduccion a la Web Semantica
Introduccion a la Web SemanticaIntroduccion a la Web Semantica
Introduccion a la Web SemanticaJuan Sequeda
 
What is the Semantic Web
What is the Semantic WebWhat is the Semantic Web
What is the Semantic WebJuan Sequeda
 
Consuming Linked Data SemTech2010
Consuming Linked Data SemTech2010Consuming Linked Data SemTech2010
Consuming Linked Data SemTech2010Juan Sequeda
 
Welcome to Consuming Linked Data tutorial WWW2010
Welcome to Consuming Linked Data tutorial WWW2010Welcome to Consuming Linked Data tutorial WWW2010
Welcome to Consuming Linked Data tutorial WWW2010Juan Sequeda
 
Introduction to Linked Data - WWW2010
Introduction to Linked Data - WWW2010 Introduction to Linked Data - WWW2010
Introduction to Linked Data - WWW2010 Juan Sequeda
 
Consuming Linked Data by Humans - WWW2010
Consuming Linked Data by Humans - WWW2010Consuming Linked Data by Humans - WWW2010
Consuming Linked Data by Humans - WWW2010Juan Sequeda
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Juan Sequeda
 
Linked Data Applications - WWW2010
Linked Data Applications - WWW2010Linked Data Applications - WWW2010
Linked Data Applications - WWW2010Juan Sequeda
 
Open Research Problems in Linked Data - WWW2010
Open Research Problems in Linked Data - WWW2010Open Research Problems in Linked Data - WWW2010
Open Research Problems in Linked Data - WWW2010Juan Sequeda
 

More from Juan Sequeda (20)

RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
RDB2RDF Tutorial (R2RML and Direct Mapping) at ISWC 2013
 
Linked Data tutorial at Semtech 2012
Linked Data tutorial at Semtech 2012Linked Data tutorial at Semtech 2012
Linked Data tutorial at Semtech 2012
 
WTF is the Semantic Web and Linked Data
WTF is the Semantic Web and Linked DataWTF is the Semantic Web and Linked Data
WTF is the Semantic Web and Linked Data
 
WTF is the Semantic Web
WTF is the Semantic WebWTF is the Semantic Web
WTF is the Semantic Web
 
Drupal 7 and Semantic Web Hands-on Tutorial
Drupal 7 and Semantic Web Hands-on TutorialDrupal 7 and Semantic Web Hands-on Tutorial
Drupal 7 and Semantic Web Hands-on Tutorial
 
Free Money (a.k.a Fellowships)
Free Money (a.k.a Fellowships)Free Money (a.k.a Fellowships)
Free Money (a.k.a Fellowships)
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
 
Welcome to Linked Data 0/5 Semtech2011
Welcome to Linked Data 0/5 Semtech2011Welcome to Linked Data 0/5 Semtech2011
Welcome to Linked Data 0/5 Semtech2011
 
Creating Linked Data 2/5 Semtech2011
Creating Linked Data 2/5 Semtech2011Creating Linked Data 2/5 Semtech2011
Creating Linked Data 2/5 Semtech2011
 
Introduccion a la Web Semantica
Introduccion a la Web SemanticaIntroduccion a la Web Semantica
Introduccion a la Web Semantica
 
What is the Semantic Web
What is the Semantic WebWhat is the Semantic Web
What is the Semantic Web
 
Consuming Linked Data SemTech2010
Consuming Linked Data SemTech2010Consuming Linked Data SemTech2010
Consuming Linked Data SemTech2010
 
Welcome to Consuming Linked Data tutorial WWW2010
Welcome to Consuming Linked Data tutorial WWW2010Welcome to Consuming Linked Data tutorial WWW2010
Welcome to Consuming Linked Data tutorial WWW2010
 
Introduction to Linked Data - WWW2010
Introduction to Linked Data - WWW2010 Introduction to Linked Data - WWW2010
Introduction to Linked Data - WWW2010
 
Consuming Linked Data by Humans - WWW2010
Consuming Linked Data by Humans - WWW2010Consuming Linked Data by Humans - WWW2010
Consuming Linked Data by Humans - WWW2010
 
Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010Consuming Linked Data by Machines - WWW2010
Consuming Linked Data by Machines - WWW2010
 
Linked Data Applications - WWW2010
Linked Data Applications - WWW2010Linked Data Applications - WWW2010
Linked Data Applications - WWW2010
 
Open Research Problems in Linked Data - WWW2010
Open Research Problems in Linked Data - WWW2010Open Research Problems in Linked Data - WWW2010
Open Research Problems in Linked Data - WWW2010
 

Recently uploaded

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Graph Query Languages: update from LDBC

  • 1. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Graph Query Languages Juan F. Sequeda, Ph.D Co-Founder Capsenta 1Smart  Data  – Graphorum Conference  – January  20,  2017 @juansequeda @  LDBCouncil
  • 2. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Take  away  message • Graph  Databases  need  a  Standardized  Query   Language • It’s  complicated • “Those  who  fail  to  learn  from  history  are   doomed  to  repeat  it”
  • 3. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Linked  Data  Benchmark  Council  (LDBC) • LDBC  is  a  non-­‐profit  organization  dedicated  to   establishing  benchmarks,  benchmark  practices   and  benchmark  results  for  graph  data   management  software. • LDBC  was  established  as  an  outcome  of  the   LDBC  EU  project  funded  by  the  European   Commission  within  the  7th  Framework   Programme (Grant  Agreement  No.  317548). http://ldbcouncil.org/
  • 4. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com LDBC  Organization  (non-­‐profit) “sponsors” +  non-­‐profit  members  (FORTH,  STI2)  &  personal  members +  Task  Forces,  volunteers  developing  benchmarks +  TUC:  Technical  User  Community  (8  workshops,  ~40  graph  and   RDF  user  case  studies,  18  vendor  presentations)   9th  TUC   Meeting,  SAP  Headquarters  in  Walldorf Germany,  February  9-­‐10  2017 http://ldbcouncil.org/9th-­‐tuc-­‐meeting-­‐sap-­‐headquarters-­‐walldorf-­‐germany-­‐february-­‐9-­‐10-­‐2017
  • 5. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com LDBC  Benchmarks 5 http://ldbcouncil.org/benchmarks Graphalytics Semantic  Publishing Social  Network VLDB  2016 SIGMOD  2015
  • 6. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Graph  Query  Language  Task  Force • Study  query  languages   for  graph  data   management  systems,   specifically  systems   storing  “Property  Graph”   data • Query  language  should   cover  the  needs  of   important  use  cases:   social  network   benchmark,  interactive   and  BI  workloads • Devise  a  list  of  desired   features  and   functionalities   • Renzo  Angles,  Universidad  de  Talca • Marcelo  Arenas,  PUC  Chile  -­‐ task  force  lead • Pablo  Barceló,  Universidad  de  Chile • Peter  Boncz,  Vrije Universiteit Amsterdam • George  Fletcher,  Eindhoven  University  of   Technology • Claudio  Gutierrez,  Universidad  de  Chile • Tobias  Lindaaker,  Neo  Technology • Marcus  Paradies,  SAP • Raquel  Pau,  UPC • Arnau Prat,  UPC  /  Sparsity • Juan  Sequeda,  Capsenta • Oskar  van  Rest,  Oracle  Labs • Hannes  Voigt,  TU  Dresden • YinglongXia,  IBM
  • 7. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Property  Graph  Data  Model id:  123 name:  Juan  Sequeda Person id:  456 name:  Marcelo  Arenas Person knows since:  2010 • Neo4j’s   Cypher • Oracle’s   PGQL • Tinkerpop’s Gremlin
  • 8. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Graph  Query  Languages  Today
  • 9. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Standard  Syntax  and  Semantics • Standard – Vendor  lock-­‐in – Prevents  true  performance   competition   à improvement  of  systems • Syntax – Hard  to  define  benchmarks – Hard  to  compare  Graph  DBMS – Applications  are  not  portable • Semantics – PGQL:  iso/homomorphism – Cypher:  “edge”  isomorphism – Gremlin:  homomorphism – SPARQL:  homomorphism Best  Paper  WWW2012 Angles  and  Gutierrez.   The  Expressive   Power  of  SPARQL.   ISWC2008 Best  Paper  ISWC2006.  10  Year  Award  2016  
  • 10. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Closed  Language SQL Graph Query Language* however  …
  • 11. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Path  Support • Conjunctive  Query  (CQ) • Regular  Path  Queries  (RPQ):  regular  expression   over  edge  labels • Conjunctive  Regular  Path  Query  (CRPQ) • Union  Conjunctive  Regular  Path  Query  (UCRPQ) • Path  Matching  supported.  What  about  further   processing  of  Paths? • Require  for  an  (a,b)*  RPQ  that  the  sum  of  some   property  on  all  b  edges  along  the  path  is  greater   some  give  threshold
  • 12. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Desired  Query  Functionalities • Adjacency  Queries • Graph  Pattern  Matching • Navigational  Queries • Aggregate  Queries • Sub  queries
  • 13. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Adjacency  queries • Property  access – Get  the  firstName and  lastName of  a  person   having  email  "$email” • Neighborhood  of  a  node – Get  the  firstName and  lastName of  the  friends  of   a  person  identified  by  email  "$email". • K-­‐neighborhood  of  a  node – Get  the  email,  firstName and  lastName of  friends   of  the  friends  of  a  person  having  email  "$email"   (excluding  the  start  person)  (i.e.  get  a  list  of   recommended  friends)  (directed  2-­‐neighborhood)
  • 14. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Graph  Pattern  Matching • Join – Get  the  creationDate and  content  of  the  messages  created  by  a  person  identified  by  email   "$email1"  and  commented  by  another  person  identified  by  "$email2". • Union – Get  the  creationDate and  content  of  the  messages  either  created  or  liked  by  a  person   identified  by  email  "$email". • Intersection – Get  the  email,  firstNameand  lastName of  the  common  friends  between  two  persons   identified  by  emails  "$email1"  and  "$email2"  respectively. • Difference – Given  two  friends  identified  by  emails  "$email1"  and  "$email2"  respectively,  get  the  email,   firstName and  lastName of  the  friends  of  the  second  person  which  are  not  friends  of  the  first   person  (this  questions  is  relevant  for  friendship  recommendations). • Optional – Given  a  person  identified  by  email  "$email",  get  the  title  of  all  the  messages  created  by  such   person,  and  the  content  of  the  first  comment  replying  each  message  (if  it  exists). • Filter – Get  the  properties  of  the  people  whose  firstNameincludes  the  string  "xxx"  (it  implies  use  of   wildcards).
  • 15. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Navigational  queries • Reachability – Is  there  a  friendship  connection  between  two  persons  identified  by  emails   "$email1"  and  "$email2"  respectively? • All  Path  Finding – Get  the  friendship  paths  between  two  persons  identified  by  emails  "$email1"   and  "$email2"  respectively. • Shortest  Path  Finding – The  shortest  friendship  path  between  two  persons  identified by  emails   "$email1"  and  "$email2"  respectively". • Regular  Path  Query – Get  the  firstName of  friends  of  the  friends  of  the  friends  of  a  person  identified   by  email  "$email". • Conjunctive  Regular  Path  Queries – Given  a  target  message  created  on  "$dateTime"  by  a  person  identified  by   email  "$email",  for  each  comment  replying  the  target  message,  get  the   comment's  content  and  the  email  of  the  comment´s  creator. • Filtered  regular  path  query – Given  a  person  identified  by  email  "$email",  get  the  title  of  all  the  messages   liked  by  such  person  between  "$dateTime1"  and  "$dateTime2”.
  • 16. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Where  are  we  now?
  • 17. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Decision:  Property  Graph  Data  Model In  the  following  definition,  we  assume  the  existence  of  the  following  sets: • L is  an  infinite  set  of  (node  and  edge)  labels; • P is  an infinite  set  of  property  names; • V is  an  infinite  set  of  literals  (actual  values). Moreover,  we  assume  that  SET(X)  is  the  set  of  all  finite  subsets  of  a  given   set X. Then  a  property  graph  is  a  tuple G =  (N,  E, ρ, λ, σ),  where: • nodes: N is  a  finite  set  of  nodes; • edges:   E is  a  finite  set  of  edges  such  that N and E have  no  elements  in   common; ρ : E → (N × N)  is  a  total  function; • labels:   λ :  (N  U E) →  SET(L) is  a  total  function; • properties:   σ :  (N U E) × P → V is  a  partial  function.
  • 18. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Property  Graph  Data  Model id:  123 name:  Juan  Sequeda Person id:  456 name:  Marcelo  Arenas Person knows since:  2010 L is  an  infinite  set  of  (node  and  edge)  labels P is  an infinite  set  of  property  names V is  an  infinite  set  of  literals  (actual  values) N is  a  finite  set  of  nodes E is  a  finite  set  of  edges  such  that N and E have  no  elements  in  common   L =  {Person,  knows} P =  {id,  name,  since} V =  {“123”,  “456”,  “Juan  Sequeda”,  “Marcelo  Arenas”,  “2010”} N =  {n1,  n2} E =  {e1} ρ (edge) : E → (N × N)  is  a  total  function λ (labels):  (N  U E) →  SET(L) is  a  total  function σ (properties):  (N U E) × P → V is  a  partial  function ρ =  [ρ(e1)  =  (n1,n2) ] λ =  [λ(n1)  =  “Person”,  λ(n2)  =  “Person”,  λ(e1)  =  “knows”  ] σ =  [ σ(n1)  =  {(“id”,  “123”),  (“name”,  “Juan  Sequeda”)}, σ(n2)  =  {(“id”,  “456”),  (“name”,  “Marcelo  Arenas”)}, σ(e1)  =  {(“since”,  “2010”)} ]
  • 19. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Unified  Data  Model  Options • Extend  Relational  model  (where  cells  can   contain  actual  values  such  as  strings,  integers,   dates,…)  with  objects  of  type  either  NODE,   EDGE,  PATH  or  GRAPH – Embedding  Graphs  in  Relational  Database – Similar  Postgres +  JSON  datatype – What  happens  if  you  join  on  a  GRAPH  column?
  • 20. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Unified  Data  Model  Options • “Natural”  Graph  Data  model 20 1 2 3 4 5 6 id label E.id E.dest 1 purple 10 2 2 green 11 3 13 5 3 green 12 4 14 6 4 purple no  out edges 5 green 15 6 6 purple 16 4 10 11 12 13 14 15 16 Data  graph  G SELECT x, y FROM G (x:purple)-[e:*]->(y:purple) Query  1: id x y 90 1 4 91 1 6 x=1 y=4 90 x=1 y=6 91 id x y E.id E.dest 90 1 4 no  out edges 91 1 6 no  out edges New  Nodes   Because  of Relation  Projection
  • 21. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (1)  Paths  make  things  “weird”! SELECT x, y, CHEAPEST PATH edgeId FROM G (x:purple)-[e:*]->(y:purple) Query  2a: id x y 90 1 4 91 1 6 id x y E.id E.dest E.edgeId E.order 90 1 4 20 90 10 1 21 90 11 2 22 90 12 3 91 1 6 23 91 10 1 24 91 13 2 25 91 15 3 x=1 y=4 90 x=1 y=6 91 edgeId=10 order=1 edgeId=11 order=2 edgeId=12 order=3 edgeId=10 order=1 edgeId=13 order=2 edgeId=15 order=3 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G Paths  are  Self  Edges  with  an  Order
  • 22. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (2)  Paths  make  things  “weird”! 22 SELECT x, y, p FROM G (x:purple)-[CHEAPEST p:+]->(y:purple) Query  2b: id x y 90 1 4 91 1 6 x=1 y=4 90 x=1 y=6 91id x y p E.id E.dest 90 1 4 [10,11,12] no  out edges 91 1 6 [10,13,15] no  out edges x=1 y=4 p=[10,11,12] 90 x=1 y=6 p=[10,13,15] 91 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G Paths  are  Datatypes
  • 23. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (1)  Graph  Projection  (instead  of  Relation  Projection) 23 Query  3a: 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G SELECT (x), (y) FROM G (x:orange)-[:+]->(y:orange) id label E.id E.dest 1 purple no  out edges 4 purple no  out edges 6 purple no  out edges 1 4 6 id x y 90 1 4 91 1 6 x=1 y=4 90 x=1 y=6 91 id x y E.id E.dest 90 1 4 no  out edges 91 1 6 no  out edges Remember:  this  is  the  Relational  Projection
  • 24. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (2)  Graph  Projection  (instead  of  Relation  Projection) 24 id label E.id E.dest 1 purple 21 4 22 6 4 purple 23 6 6 purple no  out edges Query  3b: 1 4 6 21 2322 SELECT (x)--(y) FROM G (x:purple)-[:+]->(y:purple) 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G
  • 25. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (1)  Graph  Projection  with  Paths 25 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G SELECT (PATH p) FROM G (x:orange)-[CHEAPEST p:*]->(y:orange) WHERE y.id = 4 1 2 3 4 6 10 11 12 16id label E.id E.dest 1 purple 10 2 2 green 11 3 3 green 12 4 4 purple no  out edges 6 purple 16 6 Query  4a:
  • 26. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com (2)  Graph  Projection  with  Paths 26 1 2 3 4 5 6 10 11 12 13 14 15 16 Data  graph  G Query  4b: 21 23l=1 L=3 SELECT (x)-[:{l=LENGTH OF p}]-(y) FROM G (x:orange)-[CHEAPEST p:*]->(y:orange) WHERE y.id = 4 id label E.id E.dest E.l 1 purple 21 4 3 4 purple 23 6 1 6 purple no  out edges 1 4 6
  • 27. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com Wrap  up • We  want  to  hear  from  you! • 9th  LDBC  Technical  User  Community   Meeting,  SAP  Headquarters  in  Walldorf Germany,  February  9-­‐10  2017 • http://ldbcouncil.org/9th-­‐tuc-­‐meeting-­‐sap-­‐ headquarters-­‐walldorf-­‐germany-­‐february-­‐9-­‐ 10-­‐2017 27
  • 28. Smart Data for Smarter Business | © 2016 Capsenta | capsenta.com THANK  YOU Juan  Sequeda,  Ph.D Co-­‐Founder  – Capsenta juan@capsenta.com @juansequeda 28 Sequeda  J.  Integrating  Relational  Databases  with  the  Semantic  Web.  IOS  Press.  2016 http://www.iospress.nl/book/integrating-­‐relational-­‐databases-­‐with-­‐the-­‐semantic-­‐web/