SlideShare a Scribd company logo
Two for One -- Querying Property Graphs using SPARQL
via GREMLINATOR
Harsh Thakkar, Dharmen Punjani, Jens Lehmann, Sören Auer
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
●
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
●
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
● Graph formalism → intuitive way of modeling complex, highly connected data
● Resource Description Framework (RDF, W3C standard, 2004) data model and the
Property Graph (PG) data model are most popular graph data models.
● Various Graph Query Languages (GQLs) have been proposed to address:
○ Declarative style - Pattern Matching
○ Imperative style - Traversing
● SPARQL (W3C standard, 2008) for querying RDF databases, ?? (standard) for PG
databases
● Lack of standardization → Vendor lock-in → Interoperability gap → many issues!
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
● Gremlinator advantages:
○ Avoid a steep learning curve for users well versed in SPARQL for querying graph databases
○ Perform both OLTP and OLAP querying using SPARQL
○ Bridge the gap between the two Graph data models (RDF & PG), and
■ between the Semantic Web and Graph database communities
■ Best of both the worlds ⇒ get “Two for One”
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
●
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
RDF Data Model
● RDF is a triple based graph model (W3C’04), where :
○ Subject: URI, Blank node
○ Predicate: URIs -> property
○ Object: URI, Literal, Blank node
“2018”
ex:Eventex:Person
ex:Houston
“GRADES-NDA’18”
ex:year
ex:name
ex:place
ex:speaker
URI = Universal Resource identifier, analogous
to ISBN for books
Literals = data values
Blank nodes = Desc. of entities that don’t need
to be named.
IRIs*
ex:stim
e
“20”
@prefix ex: <http://example.org>
ex:Person ex:speaker ex:Event
ex:Person ex:name “Harsh”
ex:Person ex:place ex:Bonn
ex:Person ex:age “28”
ex:Event ex:name “GRADES-NDA’18”
ex:Event ex:Year “2018”
interpretation
representation
“Harsh” ex:name
ex:place
ex:Bonn
“28”
ex:age
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
RDF Graphs (RDFGs)
● Edge-labelled, directed, multi-graphs (w. Ent. URIs, Blank nodes, Literals)
● Going from information to Knowledge using OWL (DLs) and Ontologies (RDFS, RDFa,
etc)
● Bulky
○ Everything is a node-edge-node (edges do not have properties)
○ More relationships per node → More total number of triples!
■ Triple/dataset explosion
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Property Graph Data Model
● Edge-labelled, directed, attributed, multi-graph
● Vertices and edges both have properties
● Main components:
○ Vertices, edges (Src,Dsc), properties (key-value pairs), labels (strings)
● Super neat (compact), super cute
● Easier to add weighted, reified edges
● Query Languages - CYPHER, Gremlin, PGQL, etc
Name: GRADES-NDA’18
Year: 2018
Place: Houston
Name: Harsh
Age: 28
Place: Bonn
Time: 20
Person Event
speaker
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
●
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
http://www.datastax.com/wp-content/uploads/2015/09/many-to-many-mapping.png
http://www.datastax.com/wp-content/uploads/2015/09/gtm-dataflow.png
Gremlin’s Multi-Graph Query Language (GQL) support
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
…
Multi-DMS & platform support
https://tinkerpop.apache.org/images/oltp-and-olap.png And thus… ➤
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Gremlinator
Me
Coffee
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
●
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
• Gremlinator is a novel translation approach that maps SPARQL queries to Gremlin
pattern matching traversals [1, 2]
Talk@Graph Day 2017
[1] Thakkar, Harsh, Dharmen Punjani, et al. "Towards an Integrated Graph Algebra for Graph Pattern Matching with Gremlin." In proceedings of DEXA 2017, pp. 81-91. Springer, Cham, (2017).
[2] Thakkar, Harsh, Dharmen Punjani, et al. "A Stitch in Time Saves Nine--SPARQL querying of Property Graphs using Gremlin Traversals." under review at the Semantic Web Journal (submitted Feb,
2018).
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
➞
⇒
⇒
⇒
⇒
Name: GRADES-NDA’18
Year: 2018
Place: Houston
Name: Harsh
Age: 28
From: Bonn, DE
Time: 20
Person Event
* Rodriguez, Marko A., and Peter Neubauer.
"The graph traversal pattern." arXiv preprint
arXiv:1004.1001 (2010).
speaker
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
➞
Mapping corresponding Gremlin operators
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Ex: Tinker Modern-Crew Graph
“Select only those persons who are younger or equal
than 30 and created a soft. Collectively.”
SELECT ?a ?b ?c WHERE {
?a v:label "person" .
?a e:knows ?b .
?a e:created ?c .
?b e:created ?c .
?a v:age ?d .
FILTER (?d <= 30)
}
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Contd…
SELECT ?a ?b ?c WHERE {
?a v:label "person" .
?a e:knows ?b .
?a e:created ?c .
?b e:created ?c .
?a v:age ?d .
FILTER (?d <= 30)
}
[MatchStartStep@[a], HasStep([~label.eq(person)]), MatchEndStep]
[MatchStartStep@[a], VertexStep(OUT,[knows],vertex)@[b], MatchEndStep]
[MatchStartStep@[a], VertexStep(OUT,[created],vertex)@[c], MatchEndStep]
[MatchStartStep@[b], VertexStep(OUT,[created],vertex)@[c], MatchEndStep]
[MatchStartStep@[a], PropertiesStep([age],value)@[d], MatchEndStep]
[WhereTraversalStep([WhereStartStep(d), IsStep(leq(30))]), MatchEndStep]
s
BGPs
BGP (q) ➞ SST* ( )
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
[GraphStep(vertex,[]), MatchStep(AND,[
[MatchStartStep(a), HasStep([~label.eq(person)]), MatchEndStep],
[MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)],
[MatchStartStep(a), VertexStep(OUT,[created],vertex), MatchEndStep(c)],
[MatchStartStep(b), VertexStep(OUT,[created],vertex), MatchEndStep(c)],
[MatchStartStep(a), PropertiesStep([age],value), MatchEndStep(d)],
[MatchStartStep(d), WhereTraversalStep([WhereStartStep, IsStep(leq(30))]), MatchEndStep] ] ),
SelectStep([a, b, c])]
SELECT ?a ?b ?c WHERE {
?a v:label "person" .
?a e:knows ?b .
?a e:created ?c .
?b e:created ?c .
?a v:age ?d .
FILTER (?d <= 30)
}
Contd…
sSPARQL Query
CGP (Q) ➞ Traversal ( )
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
“Select only those persons who are younger or
equal than 30 and created a soft. Collectively.”
SELECT ?a ?b ?c WHERE {
?a v:label "person" .
?a e:knows ?b .
?a e:created ?c .
?b e:created ?c .
?a v:age ?d .
FILTER (?d <= 30)
}
{a=v[2], b=v[4], c=v[3]}
Contd…
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
https://sd.keepcalm-o-matic.co.uk/i-w600/keep-calm-it-is-demo-time.jpg
http://gremlinator.iai.uni-bonn.de:8080/Demo/
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Team
Other Resources
Dharmen PunjaniHarsh Thakkar Prof. Dr. Sören
Auer
Prof. Dr. Jens
Lehmann
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
Demo: http://195.201.31.31:8080/Demo/ (OR) http://gremlinator.iai.uni-bonn.de:8080/Demo/
Harsh Thakkar
University of Bonn
Twitter: @harsh9t
LinkedIn: thakkarharsh
E-mail: harsh9t@gmail.com
Questions? Comments?
Insults? Injuries?
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
● A first of its kind, SPARQL-to-Gremlin traversal compiler [1,2] based on the Apache
TinkerPop framework.
SPARQLLanguage
FILTER
GROUPBY
LIMIT+OFFSET
UNION OPTIONAL
COUNT
GROUP
BY
GREMLINATOR
It allows querying
Property Graphs via
SPARQL
Can query a wide
variety of Graph
DBs using SPARQL
[1] Thakkar, Harsh, Dharmen Punjani, et al. "Towards an Integrated Graph Algebra for Graph Pattern Matching with Gremlin." In proceedings of DEXA 2017, pp. 81-91. Springer, Cham, (2017).
[2] Thakkar, Harsh, Dharmen Punjani, et al. "A Stitch in Time Saves Nine--SPARQL querying of Property Graphs using Gremlin Traversals." under review at the Semantic Web Journal (submitted Feb, 2018).
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
●
●
●
●
○ WHERE
○
○ SELECT
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
GPM using Gremlin*
1. g.V().match(
__.as(‘x’).out(‘Created’).as(‘y’)).
select(‘x’).dedup()
2. g.V(2).match(__.as(‘x’).out(‘Created’).
as(‘y’)).dedup()
*In Gremlin GPM is executed by the match() step
GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
==>x:v[4]
==>x:v[2]
==>x:v[5]
Output
*In Gremlin GPM is executed by the match() step
==>x:v[3]
Output
x
x
x
y
y
GPM using Gremlin*
1. g.V().match(
__.as(‘x’).out(‘Created’).as(‘y’)).
select(‘x’).dedup()
2. g.V(2).match(__.as(‘x’).out(‘Created’).
as(‘y’)).dedup()

More Related Content

What's hot

Semantic Web
Semantic WebSemantic Web
Semantic Web
hardchiu
 
FedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked DataFedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked Data
aschwarte
 
Visualising the Australian open data and research data landscape
Visualising the Australian open data and research data landscapeVisualising the Australian open data and research data landscape
Visualising the Australian open data and research data landscape
Jonathan Yu
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Language
andimou
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
Rinke Hoekstra
 
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
News Leaders Association's NewsTrain
 
Friday talk 11.02.2011
Friday talk 11.02.2011Friday talk 11.02.2011
Friday talk 11.02.2011
Jürgen Umbrich
 
Anil timeline construction
Anil timeline constructionAnil timeline construction
Anil timeline construction
anilcs0405
 
The new RDA: resource description in libraries and beyond / Gordon Dunsire
The new RDA: resource description in libraries and beyond / Gordon DunsireThe new RDA: resource description in libraries and beyond / Gordon Dunsire
The new RDA: resource description in libraries and beyond / Gordon Dunsire
CILIP MDG
 

What's hot (9)

Semantic Web
Semantic WebSemantic Web
Semantic Web
 
FedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked DataFedX - Optimization Techniques for Federated Query Processing on Linked Data
FedX - Optimization Techniques for Federated Query Processing on Linked Data
 
Visualising the Australian open data and research data landscape
Visualising the Australian open data and research data landscapeVisualising the Australian open data and research data landscape
Visualising the Australian open data and research data landscape
 
Mapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping LanguageMapping Hierarchical Sources into RDF using the RML Mapping Language
Mapping Hierarchical Sources into RDF using the RML Mapping Language
 
Querying the Web of Data
Querying the Web of DataQuerying the Web of Data
Querying the Web of Data
 
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
Data-driven enterprise off your beat - Todd Wallack - New England NewsTrain -...
 
Friday talk 11.02.2011
Friday talk 11.02.2011Friday talk 11.02.2011
Friday talk 11.02.2011
 
Anil timeline construction
Anil timeline constructionAnil timeline construction
Anil timeline construction
 
The new RDA: resource description in libraries and beyond / Gordon Dunsire
The new RDA: resource description in libraries and beyond / Gordon DunsireThe new RDA: resource description in libraries and beyond / Gordon Dunsire
The new RDA: resource description in libraries and beyond / Gordon Dunsire
 

Similar to Grades nda 2018 - gremlinator demo talk - harsh thakkar

Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sfSparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
Harsh Thakkar
 
Semantics 2017 - Trying Not to Die Benchmarking using LITMUS
Semantics 2017 - Trying Not to Die Benchmarking using LITMUSSemantics 2017 - Trying Not to Die Benchmarking using LITMUS
Semantics 2017 - Trying Not to Die Benchmarking using LITMUS
Harsh Thakkar
 
Introduction to property graphs and gremlin
Introduction to property graphs and gremlinIntroduction to property graphs and gremlin
Introduction to property graphs and gremlin
Harsh Thakkar
 
Identifying semantics characteristics of user’s interactions datasets through...
Identifying semantics characteristics of user’s interactions datasets through...Identifying semantics characteristics of user’s interactions datasets through...
Identifying semantics characteristics of user’s interactions datasets through...
Fernando de Assis Rodrigues
 
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWLData Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
Tony Hammond
 
Adversarial and reinforcement learning-based approaches to information retrieval
Adversarial and reinforcement learning-based approaches to information retrievalAdversarial and reinforcement learning-based approaches to information retrieval
Adversarial and reinforcement learning-based approaches to information retrieval
Bhaskar Mitra
 
A Survey of Entity Ranking over RDF Graphs
A Survey of Entity Ranking over RDF GraphsA Survey of Entity Ranking over RDF Graphs
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
Yuxin Su
 
Qingpeng zhang 0713
Qingpeng zhang 0713Qingpeng zhang 0713
Qingpeng zhang 0713
Qingpeng "Q.P." Zhang
 
Linking Content Information with Bayesian Personalized Ranking via Multiple C...
Linking Content Information with Bayesian Personalized Ranking via Multiple C...Linking Content Information with Bayesian Personalized Ranking via Multiple C...
Linking Content Information with Bayesian Personalized Ranking via Multiple C...
Ladislav Peska
 
Open government data portals: from publishing to use and impact
Open government data portals: from publishing to use and impactOpen government data portals: from publishing to use and impact
Open government data portals: from publishing to use and impact
Elena Simperl
 
VenmoPlus
VenmoPlusVenmoPlus
Wimmics Overview 2021
Wimmics Overview 2021Wimmics Overview 2021
Wimmics Overview 2021
Fabien Gandon
 
Tu_Ni_Resume
Tu_Ni_ResumeTu_Ni_Resume
Tu_Ni_Resume
Tu Ni
 

Similar to Grades nda 2018 - gremlinator demo talk - harsh thakkar (14)

Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sfSparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
Sparql querying of-property-graphs-harsh thakkar-graph day 2017 sf
 
Semantics 2017 - Trying Not to Die Benchmarking using LITMUS
Semantics 2017 - Trying Not to Die Benchmarking using LITMUSSemantics 2017 - Trying Not to Die Benchmarking using LITMUS
Semantics 2017 - Trying Not to Die Benchmarking using LITMUS
 
Introduction to property graphs and gremlin
Introduction to property graphs and gremlinIntroduction to property graphs and gremlin
Introduction to property graphs and gremlin
 
Identifying semantics characteristics of user’s interactions datasets through...
Identifying semantics characteristics of user’s interactions datasets through...Identifying semantics characteristics of user’s interactions datasets through...
Identifying semantics characteristics of user’s interactions datasets through...
 
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWLData Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
Data Integration & Disintegration: Managing SN SciGraph with SHACL and OWL
 
Adversarial and reinforcement learning-based approaches to information retrieval
Adversarial and reinforcement learning-based approaches to information retrievalAdversarial and reinforcement learning-based approaches to information retrieval
Adversarial and reinforcement learning-based approaches to information retrieval
 
A Survey of Entity Ranking over RDF Graphs
A Survey of Entity Ranking over RDF GraphsA Survey of Entity Ranking over RDF Graphs
A Survey of Entity Ranking over RDF Graphs
 
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
[SIGIR17] Learning to Rank Using Localized Geometric Mean Metrics
 
Qingpeng zhang 0713
Qingpeng zhang 0713Qingpeng zhang 0713
Qingpeng zhang 0713
 
Linking Content Information with Bayesian Personalized Ranking via Multiple C...
Linking Content Information with Bayesian Personalized Ranking via Multiple C...Linking Content Information with Bayesian Personalized Ranking via Multiple C...
Linking Content Information with Bayesian Personalized Ranking via Multiple C...
 
Open government data portals: from publishing to use and impact
Open government data portals: from publishing to use and impactOpen government data portals: from publishing to use and impact
Open government data portals: from publishing to use and impact
 
VenmoPlus
VenmoPlusVenmoPlus
VenmoPlus
 
Wimmics Overview 2021
Wimmics Overview 2021Wimmics Overview 2021
Wimmics Overview 2021
 
Tu_Ni_Resume
Tu_Ni_ResumeTu_Ni_Resume
Tu_Ni_Resume
 

Recently uploaded

Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 

Recently uploaded (20)

Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 

Grades nda 2018 - gremlinator demo talk - harsh thakkar

  • 1. Two for One -- Querying Property Graphs using SPARQL via GREMLINATOR Harsh Thakkar, Dharmen Punjani, Jens Lehmann, Sören Auer
  • 2. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ●
  • 3. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ●
  • 4. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● Graph formalism → intuitive way of modeling complex, highly connected data ● Resource Description Framework (RDF, W3C standard, 2004) data model and the Property Graph (PG) data model are most popular graph data models. ● Various Graph Query Languages (GQLs) have been proposed to address: ○ Declarative style - Pattern Matching ○ Imperative style - Traversing ● SPARQL (W3C standard, 2008) for querying RDF databases, ?? (standard) for PG databases ● Lack of standardization → Vendor lock-in → Interoperability gap → many issues!
  • 5. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● Gremlinator advantages: ○ Avoid a steep learning curve for users well versed in SPARQL for querying graph databases ○ Perform both OLTP and OLAP querying using SPARQL ○ Bridge the gap between the two Graph data models (RDF & PG), and ■ between the Semantic Web and Graph database communities ■ Best of both the worlds ⇒ get “Two for One”
  • 6. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ●
  • 7. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn RDF Data Model ● RDF is a triple based graph model (W3C’04), where : ○ Subject: URI, Blank node ○ Predicate: URIs -> property ○ Object: URI, Literal, Blank node “2018” ex:Eventex:Person ex:Houston “GRADES-NDA’18” ex:year ex:name ex:place ex:speaker URI = Universal Resource identifier, analogous to ISBN for books Literals = data values Blank nodes = Desc. of entities that don’t need to be named. IRIs* ex:stim e “20” @prefix ex: <http://example.org> ex:Person ex:speaker ex:Event ex:Person ex:name “Harsh” ex:Person ex:place ex:Bonn ex:Person ex:age “28” ex:Event ex:name “GRADES-NDA’18” ex:Event ex:Year “2018” interpretation representation “Harsh” ex:name ex:place ex:Bonn “28” ex:age
  • 8. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn RDF Graphs (RDFGs) ● Edge-labelled, directed, multi-graphs (w. Ent. URIs, Blank nodes, Literals) ● Going from information to Knowledge using OWL (DLs) and Ontologies (RDFS, RDFa, etc) ● Bulky ○ Everything is a node-edge-node (edges do not have properties) ○ More relationships per node → More total number of triples! ■ Triple/dataset explosion
  • 9. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Property Graph Data Model ● Edge-labelled, directed, attributed, multi-graph ● Vertices and edges both have properties ● Main components: ○ Vertices, edges (Src,Dsc), properties (key-value pairs), labels (strings) ● Super neat (compact), super cute ● Easier to add weighted, reified edges ● Query Languages - CYPHER, Gremlin, PGQL, etc Name: GRADES-NDA’18 Year: 2018 Place: Houston Name: Harsh Age: 28 Place: Bonn Time: 20 Person Event speaker
  • 10. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ●
  • 11. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn http://www.datastax.com/wp-content/uploads/2015/09/many-to-many-mapping.png http://www.datastax.com/wp-content/uploads/2015/09/gtm-dataflow.png Gremlin’s Multi-Graph Query Language (GQL) support
  • 12. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn … Multi-DMS & platform support https://tinkerpop.apache.org/images/oltp-and-olap.png And thus… ➤
  • 13. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Gremlinator Me Coffee
  • 14. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ●
  • 15. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn • Gremlinator is a novel translation approach that maps SPARQL queries to Gremlin pattern matching traversals [1, 2] Talk@Graph Day 2017 [1] Thakkar, Harsh, Dharmen Punjani, et al. "Towards an Integrated Graph Algebra for Graph Pattern Matching with Gremlin." In proceedings of DEXA 2017, pp. 81-91. Springer, Cham, (2017). [2] Thakkar, Harsh, Dharmen Punjani, et al. "A Stitch in Time Saves Nine--SPARQL querying of Property Graphs using Gremlin Traversals." under review at the Semantic Web Journal (submitted Feb, 2018).
  • 16. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ➞ ⇒ ⇒ ⇒ ⇒ Name: GRADES-NDA’18 Year: 2018 Place: Houston Name: Harsh Age: 28 From: Bonn, DE Time: 20 Person Event * Rodriguez, Marko A., and Peter Neubauer. "The graph traversal pattern." arXiv preprint arXiv:1004.1001 (2010). speaker
  • 17. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ➞ Mapping corresponding Gremlin operators
  • 18. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Ex: Tinker Modern-Crew Graph “Select only those persons who are younger or equal than 30 and created a soft. Collectively.” SELECT ?a ?b ?c WHERE { ?a v:label "person" . ?a e:knows ?b . ?a e:created ?c . ?b e:created ?c . ?a v:age ?d . FILTER (?d <= 30) }
  • 19. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Contd… SELECT ?a ?b ?c WHERE { ?a v:label "person" . ?a e:knows ?b . ?a e:created ?c . ?b e:created ?c . ?a v:age ?d . FILTER (?d <= 30) } [MatchStartStep@[a], HasStep([~label.eq(person)]), MatchEndStep] [MatchStartStep@[a], VertexStep(OUT,[knows],vertex)@[b], MatchEndStep] [MatchStartStep@[a], VertexStep(OUT,[created],vertex)@[c], MatchEndStep] [MatchStartStep@[b], VertexStep(OUT,[created],vertex)@[c], MatchEndStep] [MatchStartStep@[a], PropertiesStep([age],value)@[d], MatchEndStep] [WhereTraversalStep([WhereStartStep(d), IsStep(leq(30))]), MatchEndStep] s BGPs BGP (q) ➞ SST* ( )
  • 20. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn [GraphStep(vertex,[]), MatchStep(AND,[ [MatchStartStep(a), HasStep([~label.eq(person)]), MatchEndStep], [MatchStartStep(a), VertexStep(OUT,[knows],vertex), MatchEndStep(b)], [MatchStartStep(a), VertexStep(OUT,[created],vertex), MatchEndStep(c)], [MatchStartStep(b), VertexStep(OUT,[created],vertex), MatchEndStep(c)], [MatchStartStep(a), PropertiesStep([age],value), MatchEndStep(d)], [MatchStartStep(d), WhereTraversalStep([WhereStartStep, IsStep(leq(30))]), MatchEndStep] ] ), SelectStep([a, b, c])] SELECT ?a ?b ?c WHERE { ?a v:label "person" . ?a e:knows ?b . ?a e:created ?c . ?b e:created ?c . ?a v:age ?d . FILTER (?d <= 30) } Contd… sSPARQL Query CGP (Q) ➞ Traversal ( )
  • 21. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn “Select only those persons who are younger or equal than 30 and created a soft. Collectively.” SELECT ?a ?b ?c WHERE { ?a v:label "person" . ?a e:knows ?b . ?a e:created ?c . ?b e:created ?c . ?a v:age ?d . FILTER (?d <= 30) } {a=v[2], b=v[4], c=v[3]} Contd…
  • 22. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn https://sd.keepcalm-o-matic.co.uk/i-w600/keep-calm-it-is-demo-time.jpg http://gremlinator.iai.uni-bonn.de:8080/Demo/
  • 23. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Team Other Resources Dharmen PunjaniHarsh Thakkar Prof. Dr. Sören Auer Prof. Dr. Jens Lehmann
  • 24. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn Demo: http://195.201.31.31:8080/Demo/ (OR) http://gremlinator.iai.uni-bonn.de:8080/Demo/ Harsh Thakkar University of Bonn Twitter: @harsh9t LinkedIn: thakkarharsh E-mail: harsh9t@gmail.com Questions? Comments? Insults? Injuries?
  • 25. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn
  • 26. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● A first of its kind, SPARQL-to-Gremlin traversal compiler [1,2] based on the Apache TinkerPop framework. SPARQLLanguage FILTER GROUPBY LIMIT+OFFSET UNION OPTIONAL COUNT GROUP BY GREMLINATOR It allows querying Property Graphs via SPARQL Can query a wide variety of Graph DBs using SPARQL [1] Thakkar, Harsh, Dharmen Punjani, et al. "Towards an Integrated Graph Algebra for Graph Pattern Matching with Gremlin." In proceedings of DEXA 2017, pp. 81-91. Springer, Cham, (2017). [2] Thakkar, Harsh, Dharmen Punjani, et al. "A Stitch in Time Saves Nine--SPARQL querying of Property Graphs using Gremlin Traversals." under review at the Semantic Web Journal (submitted Feb, 2018).
  • 27. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ● ● ● ● ○ WHERE ○ ○ SELECT
  • 28. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn GPM using Gremlin* 1. g.V().match( __.as(‘x’).out(‘Created’).as(‘y’)). select(‘x’).dedup() 2. g.V(2).match(__.as(‘x’).out(‘Created’). as(‘y’)).dedup() *In Gremlin GPM is executed by the match() step
  • 29. GRADES-NDA‘18 ⦿ Houston, TX, USA ⦿ June 10, 2018 Two for One - SPARQL Querying of PGs via Gremlinator ⦿ Harsh Thakkar ⦿ University of Bonn ==>x:v[4] ==>x:v[2] ==>x:v[5] Output *In Gremlin GPM is executed by the match() step ==>x:v[3] Output x x x y y GPM using Gremlin* 1. g.V().match( __.as(‘x’).out(‘Created’).as(‘y’)). select(‘x’).dedup() 2. g.V(2).match(__.as(‘x’).out(‘Created’). as(‘y’)).dedup()