plugging-n-playing with data sources in your...

48
Plugging-n-Playing with Data Sources in your Browser Abhijeet Mohapatra, Sudhir Agarwal, and Michael Genesereth Stanford Logic Group

Upload: others

Post on 22-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Plugging-n-Playing with Data Sources in your Browser

Abhijeet Mohapatra, Sudhir Agarwal, and Michael Genesereth

Stanford Logic Group

Page 2: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Web-pages

Page 3: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 4: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 5: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 6: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 7: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 8: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 9: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 10: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 11: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 12: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 13: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 14: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Structured Data

Web-pages

Page 15: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Browser-based

http://dexter.stanford.edu

Page 16: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Browser-based

http://dexter.stanford.edu

Domain-Independent

Page 17: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Browser-based

http://dexter.stanford.edu

Structured Data ExplorerDomain-Independent

Page 18: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Browser-based

http://dexter.stanford.edu

Ad-hoc “on-the-fly” queries

Structured Data ExplorerDomain-Independent

Page 19: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Browser-based

http://dexter.stanford.edu

Ad-hoc “on-the-fly” queries

Queries across multiple sources

Structured Data ExplorerDomain-Independent

Page 20: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

http://dexter.stanford.edu

Data = TablesX Y1 a2 b

rY Za 3c 5

s

Page 21: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

http://dexter.stanford.edu

Other data sources:

Data = TablesX Y1 a2 b

rY Za 3c 5

s

Page 22: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

http://dexter.stanford.edu

Other data sources:

Data = TablesX Y1 a2 b

rY Za 3c 5

s

Queries = Datalog rulesq(X, Y) :- r(X, Y) & s(Y, Z)

Page 23: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

http://dexter.stanford.edu

Other data sources:

Other query languages: Datalog

Data = TablesX Y1 a2 b

rY Za 3c 5

s

Queries = Datalog rulesq(X, Y) :- r(X, Y) & s(Y, Z)

Page 24: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

Who is the youngest member of congress?

Page 25: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Who is the youngest member of congress?

Page 26: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Who is the youngest member of congress?

Page 27: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

https://www.govtrack.us/data/congress-legislators/

http://dexter.stanford.edu

Who is the youngest member of congress?

Page 28: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Who is the youngest member of congress?

Page 29: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Who is the youngest member of congress?

Page 30: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

Which senators have been charged with a DUI?

http://dexter.stanford.edu

Page 31: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

Which senators have been charged with a DUI?

http://dexter.stanford.edu

Page 32: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser
Page 33: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Which senators’ tweets contain #equalpay?

Page 34: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Example: Exploring U.S. Congress data

http://dexter.stanford.edu

Which senators’ tweets contain #equalpay?

Page 35: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Datalog + Negation + Aggregates + Built-ins

Dexter

Queries

Page 36: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

q(FName, LName) :- senators(FName, LName)

& dui.records(FName, LName)

Datalog + Negation + Aggregates + Built-ins

Dexter

Queries

Page 37: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

q(FName, LName) :- senators(FName, LName)

& dui.records(FName, LName)

Datalog + Negation + Aggregates + Built-ins

Dexter

Queries

Server

Client-sided evaluation

Page 38: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

q(FName, LName) :- senators(FName, LName)

& dui.records(FName, LName)

Datalog + Negation + Aggregates + Built-ins

Dexter

Queries

Server

Client-sided evaluation

senators(FName, LName)

dui.records(FName, LName)

Page 39: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter

Server

q(FName, LName) :- senators(FName, LName)

& dui.records(FName, LName)

Datalog + Negation + Aggregates + Built-ins

dui.records(FName, LName)

senators(FName, LName)

Queries

Client-sided evaluation

Page 40: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter

Server

q(FName, LName) :- senators(FName, LName)

& dui.records(FName, LName)

Datalog + Negation + Aggregates + Built-ins

dui.records(FName, LName)

senators(FName, LName)

Queries

Client-sided evaluation

Page 41: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

Page 42: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

Exploration of the city data

Page 43: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

Exploration of the city data

Page 44: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

What if there isn’t?

Exploration of the city data

Page 45: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

Exploration of the city data

Page 46: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Dexter and Semcities

Exploration of the city data

Page 47: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

Yelp ratings about restaurants

Smart Consumption of Data

Page 48: Plugging-n-Playing with Data Sources in your Browserweb.stanford.edu/~abhijeet/papers/abhijeetAAAI14Slides.pdf · 2014. 7. 28. · Plugging-n-Playing with Data Sources ! in your Browser

DexterBrowser-based Domain-independent Data Explorer

Expressive Queries

Ad-hoc “on-the-fly” queries

Queries across Data Sources

Queries that are not directly supported by data sources

Client-sided exploration of Data Sources

http://dexter.stanford.edu

Thank you

Plug-n-Play Sources