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


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

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 DEXTER
  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. “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
  5. 5. DEXTER Data = Tables * Extraction and integration of web data by end-users [Agarwal ’13] *
  6. 6. Rules = Dexlog Extends standard Datalog with negation, aggregates, and built-ins Reference: Sets and tuples as first-class citizens e.g. {}, {[“a”,“1”],[“b”,“2”]} DEXTER
  7. 7. Rules = Dexlog Reference: 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
  8. 8. DEXTER Rules = Dexlog Reference: Integrity constraints: 2nd arg of p functionally depends on 1st arg of p illegal :- p(X,Y) & p(X,Z) & distinct(Y,Z)
  9. 9. DEXTER Examples Hospitals registered with Medicare (hospitals.xml)
  10. 10. DEXTER Examples Hospitals registered with Medicare
  11. 11. Examples Hospitals registered with Medicare in California misc.hospitalsInCA(NAME) :- misc.hospitals(NAME,ADDR,CITY,"CA",ZIP,COUNTY,PHONE) DEXTER
  12. 12. DEXTER Examples What is the number of hospitals in each state?
  13. 13. EECS Faculty at MIT Examples misc.mitFaculty(A,B,C,D,E,F) DEXTER
  14. 14. Examples Turing Award Winners misc.turing(YEAR,NAME) DEXTER
  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
  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:
  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
  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