Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

50
Epistenet: Facilitating Programatic Access & Processing of Semantically Related Data Sauvik Das Carnegie Mellon University Jason Wiese University of Utah Jason Hong Carnegie Mellon University [email protected] [email protected] [email protected]

Transcript of Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Page 1: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Epistenet: Facilitating Programatic Access & Processing of Semantically Related Data

Sauvik DasCarnegie Mellon University

Jason WieseUniversity of Utah

Jason HongCarnegie Mellon University

[email protected] [email protected] [email protected]

Page 2: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Overview

Motivation

Key features

Motivating Example

Conclusion

Page 3: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Goal

Facilitate the programmatic access to and processing of semantically related mobile personal data.

Page 4: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Goal

Facilitate the programmatic access to and processing of semantically related mobile personal data.

Page 5: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

personal data other datacapturable data about the user

capturable data not about the user

call logslocationbrowser historyactivity

battery levelconnectivityprocessing load

Page 6: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Goal

Facilitate the programmatic access to and processing of semantically related mobile personal data.

Page 7: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Phone GPS People

Personal data is currently isolated in source-of-origin silos…

Page 8: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Epistenet, instead, semantically structures mobile personal data in knowledge graph…

Page 9: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Goal

Facilitate the programmatic access to and processing of semantically related personal data.

Page 10: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

and provides a unified query interface to access this data.

Page 11: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Timestamp > 7/7/15

Attribute Constraint Filter

Ontology => SensorReading

Ontology Constraint Filter

Reference Node

Relative Filters

Related Node

Developers can query for personal data through expressive filter mechanisms.

Page 12: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Usage

EpistenetObject eo = uqi.getMostRecent( new OntologyClassFilter(OntologyClass.Communication));

Get a random correspondence

EpistenetObject[] rel = uqi.get( new RelativeFilter(eo).createdWithinRange(5*60*1000L);

Get all other data within 5 minutes of correspondence

Page 13: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Overview

Motivation

Key features

Motivating Example

Conclusion

Page 14: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Motivation

Mobile personal data underlies many of the most interesting application concepts of the present and future.

Page 15: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Examples

Smart app launchersIntelligent assistants

Life loggers eHealth

Page 16: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Personal data access

Location, calendar, interests, contacts

Application usage, time of day, activity,

communications

Location, time, application usage

Heart rate, activity logs, food logs, self-reports

Page 17: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Problem

Today, mobile personal data application development difficult is difficult because…

Page 18: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Queries based on source of origin, not

meaning

Semantic relationships between data lost

Data Silos

Page 19: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Persistence dramatically different between log

and sensor data

Programming complexity: event-based programming

vs. database queries

Sensor / log disparity

Page 20: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Data silos Sensor / log disparity

Queries based on origin, not

meaning

Semantic relationships

lost

Persistence vastly different,

lose context

Programming complexity

Challenges

Page 21: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Data silos Sensor / log disparity

Queries based on origin, not

meaning

Semantic relationships

lost

Persistence vastly different,

lose context

Programming complexity

Challenges

Epistenet

Knowledge graph

Relative, semantic and descriptive

query filters

Historical sensor data around log

data events

Unified query interface

Page 22: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Data silos Sensor / log disparity

Queries based on origin, not

meaning

Semantic relationships

lost

Persistence vastly different,

lose context

Programming complexity

Challenges

Epistenet

Knowledge graph

Relative, semantic and descriptive

query filters

Historical sensor data around log

data events

Unified query interface

Page 23: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Overview

Motivation

Key features

Motivating Example

Conclusion

Page 24: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Key features

Knowledge graph

Unified Query Interface

Relative, semantic and descriptive filters

Histories of sensor and log information

Page 25: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Knowledge graph

Epistenet organizes personal data into a single knowledge graph.

Page 26: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Ontology

The Epistenet ontology organizes personal data semantically. Data providers can contribute personal data under any ontology class.

MessageCommunic

ation

Person

Sensor reading

Phonecall Location

Accelerometer

Page 27: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Knowledge graph objects

Epistenet objects are individual personal data points (e.g., a phone call, a location ping, a set of accelerometer readings).

Page 28: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Knowledge graph objects

Descriptive attributes

Meta attributes

Ontology classes

(e.g., caller, duration)

(persistence, timestamp, permissions)

Page 29: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Unified query interface

Page 30: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Epistenet provides a single interface to access all personal data in the knowledge graph.

Page 31: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

How can it be used?

uqi.get(filter) .getRandom(filter) .getN(filter, N) .getMostRecent(filter)

. . .

Page 32: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

How can it be used?

uqi.get(filter) .getRandom(filter) .getN(filter, N) .getMostRecent(filter)

. . .

Page 33: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Filters

Filters are sieves on the personal data graph that developers use to isolate personal data points they want.

Page 34: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Attribute-constraint filters

Sender is not unknownnew AttributeConstraintFilter().addNonEqualsConstraint(“sender”, “unknown”)

Constrain any meta or descriptive attributes of an object.

Page 35: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Ontology-constraint filters

OntologyClass is “Location”

Constrain ontology class.

new OntologyConstraintFilter(OntologyClass.Location)

Page 36: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Ontology-constraint filters

OntologyClass is “SensorReading” or any subclass

Constrain ontology class. Can also traverse ontology.

new OntologyConstraintFilter(OntologyClass.SensorReading, true)

Page 37: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Relative filters

Constructs queries relative to other personal data points. Thus, any personal data point is an index into the knowledge graph.

Reference Node Related Node

Page 38: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

+ - xunion (or) intersect (and) except (xor)

Filter compositions

Page 39: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Historical Sensor Data

Page 40: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Ontology-constraint filters

Epistenet also captures sensor histories around logged data points to bridge the persistence disparity. Also allows developers to get sensor data from before install-time.

Page 41: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Overview

Motivation

Key features

Motivating Example

Conclusion

Page 42: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Motivating Example: Autobiographical Authentication

Page 43: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data
Page 44: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

DescriptionThree steps:

Find a “fact” to ask a question about

Create an answer list

Provide contextual hints

Page 45: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Find a fact

EpistenetObject fact =uqi.getRandom(sms.intersectCompositWith(atTime));

Filter sms =new OntologyConstraintFilter(OntologyClass.SMSMessage);

Filter atTime =new MetaConstraintFilter().timestampWithinRange(lt, ht);

Page 46: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Create answer listFilter similar =new RelativeFilter(fact).sameOntologyClass().createdBefore();

EpistenetObject[] answers = uqi.get(similar);

Page 47: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Provide contextual hintsFilter hintFilter =new RelativeFilter(fact).differentOntologyClass().createdWithinRange(10*60*1000L);

EpistenetObject[] hints = uqi.get(hintFilter);

Page 48: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Overview

Motivation

Key features

Motivating Example

Conclusion

Page 49: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Epistenet organizes mobile personal data into a knowledge graph.

Epistenet affords easy access to subgraphs of the knowledge graph via the UQI.

Epistenet bridges the data persistence and query gaps between sensor and log data.

Conclusion

Page 50: Epistenet: Facilitating Programmatic Access & Processing of Semantically Related Data

Epistenet: Facilitating Programatic Access & Processing of Semantically Related Data

Sauvik DasCarnegie Mellon University

https://gitlab.com/scyrusk/epistenet

@scyrusk || [email protected]

http://sauvik.mew/ Jason Wiese and Jason Hong