Swivel: A Generalized Faceted Data Browser

15
Swivel: A Generalized Faceted Data Browser Edward Clarkson CS 6400 Project, Fall 2008

description

Swivel: A Generalized Faceted Data Browser. Edward Clarkson CS 6400 Project, Fall 2008. Introduction: Faceted Metadata. A Library Science concept for organizing information Dates from 1950s… but difficult without computers! Hierarchies (Dewey Decimal, etc.) are useful, but restrictive. - PowerPoint PPT Presentation

Transcript of Swivel: A Generalized Faceted Data Browser

Page 1: Swivel: A Generalized Faceted Data Browser

Swivel: A Generalized Faceted Data Browser

Edward Clarkson

CS 6400 Project, Fall 2008

Page 2: Swivel: A Generalized Faceted Data Browser

Introduction: Faceted Metadata

• A Library Science concept for organizing information– Dates from 1950s… but difficult without computers!

• Hierarchies (Dewey Decimal, etc.) are useful, but restrictive.

• Faceted Classification/Metadata: classify a set of items into multiple sets of independent, potentially hierarchical categories

Page 3: Swivel: A Generalized Faceted Data Browser

Example

Page 4: Swivel: A Generalized Faceted Data Browser

Recent Examples

Page 5: Swivel: A Generalized Faceted Data Browser

Faceted Data Model

ENTITY

id

Name

Attr1

Attrn

1 parent

N child

N

M

ENTITY

FACET1

FACET2

FACETC

N

MNN

MM

N

M

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Page 6: Swivel: A Generalized Faceted Data Browser

Connection to Data Warehousing

• Data Warehouses (DWs) aggregate OLTP system data to for decision support, analysis, etc.

• Dimensional Modeling common in DW design.– Central fact table

connected to many dimensional tables

– Star and Snowflake Schemas

– Denormalized!

Sources: http://upload.wikimedia.org/wikipedia/en/f/fe/Star-schema-example.png http://upload.wikimedia.org/wikipedia/en/7/73/Snowflake-schema-example.png

Page 7: Swivel: A Generalized Faceted Data Browser

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Page 8: Swivel: A Generalized Faceted Data Browser

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Page 9: Swivel: A Generalized Faceted Data Browser

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Page 10: Swivel: A Generalized Faceted Data Browser

Basic Faceted Browser UI Design

Focus Area

Facet Area

.·˙

FACET1

FACETN

.·˙

FOCUS

• Goal: Out-of-box applicability to ANY DB following our generic data model

Page 11: Swivel: A Generalized Faceted Data Browser

Faceted UI Extensions

FACET1

FACETN

.·˙

FOCUS ?

FACET1,1

FACET1,M

FACETM,1

FACETM,N

Page 12: Swivel: A Generalized Faceted Data Browser

Swivel

• Technologies– jQuery AJAX library > Pylons > MySQL

• 16,000+ annotated architecture images as test data

Page 13: Swivel: A Generalized Faceted Data Browser

Logical Independence

• Need some mechanism for application to discover and use DB arrangement– ORM component: a bit cumbersome

– Foreign Key constraints

Page 14: Swivel: A Generalized Faceted Data Browser

Minimizing Query Load

• Controller queries for all necessary data, passes it to templates

• Per-HTTP-request demands:– 2 queries for item list

• 1 LIMIT query for items (n-way JOIN based on selections)• 1 GROUP BY aggregation of n-way JOIN for item count

– 1 query per facet• 1 GROUP BY aggregation of n-way JOIN for facet values

and counts.

Page 15: Swivel: A Generalized Faceted Data Browser

Demo