GBLENDER: Towards blending visual query formulation and query processing in graph databases

Preview:

DESCRIPTION

I created the slides for presenting the following paper in the class: http://dl.acm.org/citation.cfm?id=1807182

Citation preview

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

Recommended