gblender: towards blending visual query formulation and query processing in graph databases
DESCRIPTION
I created the slides for presenting the following paper in the class: http://dl.acm.org/citation.cfm?id=1807182TRANSCRIPT
Changjiu Jin et al. at SIGMOD 2010
Presented by: Abolfazl Asudeh
CSE 6339 – Spring 2013
GBLENDER: Towards Blending Visual Query Formulation and Query Processing in Graph
Databases
04/12/20232
Outline Motivation Goals and Contributions Preliminaries Indices Query Processing
04/12/20233
Motivation Formulating a graph(query) “programming"
skill
04/12/20234
Motivation Graph matching Subgraph Isomorphism NP-
Complete
Find the Matches
04/12/20235
Outline Motivation Goals and Contributions Preliminaries Indices Query Processing
04/12/20236
Goals and Contributions 1. Produce a visual interface
to formulate a query by clicking-and-dragging items
04/12/20237
Goals and Contributions Improve System Response Time They blend Visual Query Construction and
Query Processing Use the latency of Query production to
process current part of query. Start query processing before the user hits the
RUN button They assume user doesn’t make mistake
during the query formulation (doesn’t UNDO)
04/12/20238
Challenges How to mix query construction and evaluation
with MINIMAL DISK ACCESS How to Index the data How to make the pre-fetch processing
transparent from the user
04/12/20239
Overview: Indexing action-aware frequent index (A2F)
Use Preprocessing action-aware infrequent index (A2I)
If the final query is infrequent, probe A2I
04/12/202310
Outline Motivation Goals and Contributions Preliminaries Indices Query Processing
04/12/202311
Graph DB: A set of Graphs (V,E)
PRELIMINARIES
Graph Fragment: a small sub-graph existing in graph databases or query graphs
04/12/202312
Example: Fragment samples in a chemical compound database
04/12/202313
PRELIMINARIES: Frequent Fragment A fragment 𝑔 is frequent if its support is not
less than ∣ ∣𝛼 𝒟 ∣ ∣𝒟 : the number of graphs in the data base
e.g. if =0.1 and ∣ ∣=10000𝛼 𝒟
04/12/202314
PRELIMINARIES: Infrequent Fragment A fragment 𝑔 is frequent if its support is less
than ∣ ∣𝛼 𝒟 e.g. if =0.1 and ∣ ∣=10000𝛼 𝒟
04/12/202315
Discriminative Infrequent Fragment If all sub-graphs of a fragment are frequent
but itself is infrequent
√
04/12/202316
Outline Motivation Goals and Contributions Preliminaries Indices Query Processing
04/12/202317
Indexing Because of the visual interface structure, the
query size is grown by one in each step. The indexing has to (given a list of graphs that
satisfy the fragment ′ in Step ) to support 𝑔 𝑖efficient strategy for identifyingthe graphs that match the fragment ′′ (generated at 𝑔Step + 1)𝑖
04/12/202318
A2F index Being able to fit the matches in the memory ,
Frequent indices are divide to Memory-Resident and Disk-Resident
Smaller frequent fragments are processed more frequently in various visual queries
Smaller fragments have more matches If |g|< 𝛽 (threshold) it is saved in memory (MF-
index) otherwise it is saved in the disk (DF-index)
04/12/202319
MF index structure - example
04/12/202320
MF index structure - example
04/12/202321
MF index structure - example
𝐷𝑒𝑙𝐼𝑑 ( 𝑓 𝑖 )=𝑆𝑢𝑝 ( 𝑓 𝑖 )− ¿ ∀ 𝑓 𝑗∨ 𝑓 𝑗 𝑖𝑠 h𝑐 𝑖𝑙𝑑𝑜𝑓 𝑓 𝑖𝑆𝑢𝑝 ( 𝑓 𝑗 )
|𝐷𝑒𝑙𝐼𝑑 ( 𝑓 9 )|=1200−1000=200
04/12/202322
MF index structure - example
04/12/202323
DF-Index
04/12/202324
DF-Index
04/12/202325
A2I index Just Index the discriminative infrequent
graphs For other infrequent graphs use sub-graph
isomorphism test over its discriminative infrequent
04/12/202326
Outline Motivation Goals and Contributions Preliminaries Indices Query Processing
04/12/202327
GBlender Algorithm
04/12/202328
example
04/12/202329
example
04/12/202330
example
04/12/202331
example
04/12/202332
Thank you