Swivel: A Generalized Faceted Data Browser

Post on 14-Jan-2016

19 views 0 download

Tags:

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

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.

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

Example

Recent Examples

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

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

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

Faceted Data Model ~ Dimensional Model?

ENTITY4

ENTITY1

ENTITY5

ENTITY2

ENTITY3

ENTITY8

ENTITY6 ENTITY7

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

Faceted UI Extensions

FACET1

FACETN

.·˙

FOCUS ?

FACET1,1

FACET1,M

FACETM,1

FACETM,N

Swivel

• Technologies– jQuery AJAX library > Pylons > MySQL

• 16,000+ annotated architecture images as test data

Logical Independence

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

– Foreign Key constraints

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.

Demo