Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RuleML2015: Rule-Based Exploration of Structured Data in the Browser

535 views

Published on

We present Dexter, a browser-based, domain-independent
structured-data explorer for users. Dexter enables users to explore data
from multiple local and Web-accessible heterogeneous data sources such
as files, Web pages, APIs and databases in the form of tables. Dexter’s
users can also compute tables from existing ones as well as validate
the tables (base or computed) through declarative rules. Dexter enables
users to perform ad hoc queries over their tables with higher expressivity
than that is supported by the underlying data sources. Dexter evaluates
a user’s query on the client side while evaluating sub-queries on remote
sources whenever possible. Dexter also allows users to visualize and share
tables, and export (e.g., in JSON, plain XML, and RuleML) tables along
with their computation rules. Dexter has been tested for a variety of data
sets from domains such as government and apparel manufacturing. Dexter
is available online at http://dexter.stanford.edu.

Published in: Technology
  • Be the first to comment

RuleML2015: Rule-Based Exploration of Structured Data in the Browser

  1. 1. Rule-based Exploration of
 Structured Data in the Browser Sudhir Agarwal, Abhijeet Mohapatra,
 Michael Genesereth and Harold Boley DEXTERhttp://dexter.stanford.edu
  2. 2. Ad hoc exploration of structured data is often cumbersome and time-consuming using state-of-art tools Lots of structured data available on the Web - Limited or no querying support 
 E.g. http://www.govtrack.us “Which senators are 40 years old?”
  3. 3. - Ad hoc compilation from multiple sources: “Which U.S. Department Heads attended Stanford University” - Combining private (local) data with publicly accessible data
  4. 4. DEXTER Browser-based Explorer for Structured Data runs exclusively on the client side supports ad hoc queries http://dexter.stanford.edu
  5. 5. DEXTER Data = Tables * Extraction and integration of web data by end-users [Agarwal ’13] * http://dexter.stanford.edu
  6. 6. Rules = Dexlog Extends standard Datalog with negation, aggregates, and built-ins Reference: http://dexter.stanford.edu/main/dexlog.html Sets and tuples as first-class citizens e.g. {}, {[“a”,“1”],[“b”,“2”]} DEXTER http://dexter.stanford.edu
  7. 7. Rules = Dexlog Reference: http://dexter.stanford.edu/main/dexlog.html Introduces a specialized operator called setof q(X,S) :- p(X) & setof(Y, r(X,Y), S) 
 for all X s.t. p(X) evaluates to true,
 SX = {Y | r(X,Y)} DEXTER http://dexter.stanford.edu
  8. 8. DEXTER Rules = Dexlog Reference: http://dexter.stanford.edu/main/dexlog.html Integrity constraints: 2nd arg of p functionally depends on 1st arg of p illegal :- p(X,Y) & p(X,Z) & distinct(Y,Z) http://dexter.stanford.edu
  9. 9. DEXTER Examples Hospitals registered with Medicare (hospitals.xml) http://dexter.stanford.edu
  10. 10. DEXTER Examples Hospitals registered with Medicare http://dexter.stanford.edu
  11. 11. Examples Hospitals registered with Medicare in California misc.hospitalsInCA(NAME) :- misc.hospitals(NAME,ADDR,CITY,"CA",ZIP,COUNTY,PHONE) DEXTER http://dexter.stanford.edu
  12. 12. DEXTER Examples What is the number of hospitals in each state? http://dexter.stanford.edu
  13. 13. EECS Faculty at MIT Examples https://www.eecs.mit.edu/people/faculty-advisors misc.mitFaculty(A,B,C,D,E,F) DEXTER http://dexter.stanford.edu
  14. 14. Examples Turing Award Winners https://en.wikipedia.org/wiki/Turing_Award misc.turing(YEAR,NAME) DEXTER http://dexter.stanford.edu
  15. 15. DEXTER Examples misc.mitTuring(NAME) :- misc.turing(YEAR,NAME) & misc.mitFaculty(NAME,B,C,D,E,F) Faculty at MIT who have won a Turing Award http://dexter.stanford.edu
  16. 16. Summary • Dexter is a browser-based, domain-independent, explorer for structured data (e.g. CSV, XML, JSON Databases, APIs) • Ad hoc exploration of structured data as tables through Dexlog rules • Client-side query evaluation • Support for exporting, visualizing and sharing tables • Implemented with Javascript — runs entirely inside user’s browser Project Page: http://dexter.stanford.edu
  17. 17. Backup Slides
  18. 18. DEXTER Client-Side Rule Evaluation • Hybrid-shipping strategy: Evaluate queries directly on sources whenever possible • Decompose queries 
 Input: q(X) :- source1.t1(X,Y) & source2.t2(Y,“a”)
 Output: q(X) :- q1(X, Y) & q2(Y)
 q1(X, Y) :- t1(X, Y) — evaluated at source1
 q2(Y) :- t2(Y,“a”) — evaluated at source2 • Remove irrelevant rules • Evaluate queries in parallel http://dexter.stanford.edu
  19. 19. DEXTER Additional Features ! Visualizing table’s data as charts ! Exporting into popular formats - CSV - JSON - XML - RuleML/XML ! Sharing tables via Dexter Server ! Filters http://dexter.stanford.edu

×