22
Enriching trajectory and trajectory pattern semantics with background knowledge Chiara Renso, Roberto Trasarti KDDLab, ISTI, CNR, Italy Stefano Spaccapietra, Christine Parent, Jose Macedo , Zhixian Yan EPFL, Lausanne, Switzerland Miriam Baglioni Pisa University, Italy Monica Wachowicz Technical University of Madrid, Spain

Athena

Embed Size (px)

Citation preview

Page 1: Athena

Enriching trajectory and trajectory pattern semantics with background

knowledge

Chiara Renso, Roberto Trasarti

KDDLab, ISTI, CNR, Italy

Stefano Spaccapietra, Christine Parent, Jose Macedo, Zhixian Yan

EPFL, Lausanne, Switzerland

Miriam BaglioniPisa University, Italy

Monica WachowiczTechnical University of Madrid, Spain

Page 2: Athena

Athena: Trajectories and city places

Athenathe greek goddess of wisdom

HotelHotel

UniversityUniversity

MonumentsMonuments

Show kinds of points of interest and landmarks

Page 3: Athena

Tourist Trajectories

And more … select kinds of trajectories according to the application domain

TouristTrajectory ≡ Trajectory hasStop. isLocatedIn.TouristPlace ⊓ ∃ ∃hasStop. isLocatedIn.AccomodationPlace⊓∃ ∃

SELECT trajectoryFROM ‘?trajectory rdf:type :TouristTrajectory’;

Page 4: Athena

GeoPKDD Tasks

Page 5: Athena

The idea (1/2)

• Exploit Ontologies as a formal knowledge representation language and reasoning engine to add a semantic layer on top of trajectories and data mining patterns

• Advantages: – allows a better interpretation of trajectories and patterns based on

an encoded domain knowledge– User can query on well known concepts a part from data details

• Problems: – At the moment no explicit support for spatial and spatio temporal

reasoning in ontology formalisms and engines– Poor support in available tools for reasoning on large datasets

Page 6: Athena

The idea (2/2)

• Exploit semantic trajectories (e.g. stop and moves)– They have a simpler and compact representation respect to raw trajectories– They already encode semantic information

• Use an ontology formalism:– OWL as a representation language and an efficient

reasoning engine for large datasets (instances): Oracle 11g

• Devise a process that allows to conciliate trajectory and trajectory patterns with an ontology;

Page 7: Athena

Our Contribution so far …

• Ontology modules for organize knowledge about geography, domain and trajectory;

• Process for conciliating data with ontologies;• A prototype based on Oracle11g Semantic

Technologies: ATHENA.

Page 8: Athena

Organizing the Knowledge …

Page 9: Athena

The trajectory ontology

Geography Ontology (GO)

Traffic Domain Ontology (ADO) Geometric Trajectory Ontology (GTO)

StreetG

Time

Instant

SimpleTime

Geo

Line

SimpleGeo

B.E.S

Move

Point

Interval

Person Trajectory

Surface

hasGeometryhasGeometry

hasGeometry

hasTimeislocatedIn

hasTrajectory

from

is-a is-ais-a

is-a is-a

is-a

Crossingbetween

followsRoadWor

k

islocatedIn

StreetT

sameAs

hasMove

StopBegin

End

to

hasStop

hasEndhasBegin

is-a

isLocatedIn

is-ais-a

is-a

PointOfInterest

Museum Hotel

is-ais-a

hasHomehasWork

locatedIn

LongTermRoadWork

GasStation

CarhasCar

LongTimeInterval

is-a

is-a

is-a

Page 10: Athena

GeometricTrajectoryGeometricTrajectory

GeographicKnowledgeGeographicKnowledge

Domain Knowledge

Domain Knowledge

All Data are inside DB !!

HERMESHERMES

Mobility PatternMobility PatternMobility DataMobility DataRaw DataRaw Data

Page 11: Athena

Analyst

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

TRAJECTORY ONTOLOGY

TRAJECTORY ONTOLOGY

Semantic Enrichment Process

11

SemanticTrajectoriesstops, moves,etc

TrajectoriesPatternsTAS,

DomainInformation

DomainGeographyGeometric

ImportABOX

mapping

ImportTBOX

Create Ontology

QuerySQL+Semantics

1

53

2

4

Page 12: Athena

Taxonomies and Axioms

Time

CityPlace

Monument Bridge

Church Museum

TouristTrajectory ≡ Trajectory ⊓hasStop. isLocatedIn.TouristPlace ∃ ∃

hasStop. isLocatedIn.AccomodationPlace⊓∃ ∃

Morning

Geometric Trajectory Ontology (GTO)

Time

Instant

SimpleTime

Geo

Line

SimpleGeo

B.E.S

Move

Point

Interval

Trajectory

Surface

hasGeometry

hasGeometry

hasTimefrom

is-a is-ais-a

is-a is-a

is-afollows

hasMove

StopBegin

End

to

hasStop

hasEndhasBegin

is-a

isLocatedIn

is-ais-a

is-a

LongTimeInterval

is-a

Afternoon Evening

Page 13: Athena

Analyst

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

TRAJECTORY ONTOLOGY

TRAJECTORY ONTOLOGY

Semantic Enrichment Process

13

SemanticTrajectoriesstops, moves,etc

TrajectoriesPatternsTAS,

DomainInformation

DomainGeographyGeometric

ImportABOX

mapping

ImportTBOX

Create Ontology

QuerySQL+Semantics

1

53

2

4

Page 14: Athena

Mapping Ontology to DB

• Using a MAP file where each concept in Ontology is mapped to a query in the DB (GAV approach)

• Use this mapping to import domain data into ontology

• \\ Space elements\\• SPACE_Monument = Select rownum as id, border as area from cells where

name like '%G1‘• \\Time elements\\• TIME_Morning = Select * from Intervals where type = 'Morning‘• \\Trajectories\\• Moving_objects = Select * from Milano_dataset

Page 15: Athena

Semantic Trajectory

15

TravelingOT

HasTrajectory

Trajectory

hasComponents

BEStop

0:N list

1:1

2:N list

1:1

SpatialOT1

IsIn0:1

0:N

Bird

namebirth year location

Does

Migration

yearNorth/South

StopsIn

Country

0:N list

1:1

2:N list

0:N

Move ƒ(T)

To0:1 1:1

1:10:1

Its personalization -->

From

SpatialOT2

IsIn

0:1

0:N

The hooks

Page 16: Athena

Analyst

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

TRAJECTORY ONTOLOGY

TRAJECTORY ONTOLOGY

Semantic Enrichment Process

16

SemanticTrajectoriesstops, moves,etc

TrajectoriesPatternsTAS,

DomainInformation

DomainGeographyGeometric

ImportABOX

mapping

ImportTBOX

Create Ontology

QuerySQL+Semantics

1

53

2

4

Page 17: Athena

From Tables to Triples

Populate the ontology with semantic trajectories and trajectory patterns.

Consider the trajectory 1 stops at place_1 and place_2 in the morning, we represent these tuples as:

[.. definition of the place and the time ..](Trajectory_1, rdf:type, trajectory)(Trajectory_1, rdf:has_id, 1)(Trajectory_1, rdf:has_stop, stop_1)(Trajectory_1, rdf:has_stop, stop_2)(stop_1, rdf:type,stop)(stop_1, rdf:has_id,1)(stop_1, rdf:is_at, place_1)(stop_1, rdf:has_time, morning)(stop_2, rdf:type,stop)(stop_2, rdf:has_id,2)(stop_2, rdf:is_at, place_2)(stop_2, rdf:has_time, morning)

Page 18: Athena

Reasoning Services

Run reasoning services to infer new knowledge:EXECUTE sem_apis.create_entailment(

'owltst2_idx',

sem_models('geopkdd_owl_ontology'),

sem_rulebases('OWLPRIME','USER_RULEBASE'),

SEM_APIS.REACH_CLOSURE, null, 'USER_RULES=T');

TouristTrajectory ≡ Trajectory hasStop. isLocatedIn.TouristPlace ⊓ ∃ ∃hasStop. isLocatedIn.AccomodationPlace⊓∃ ∃

Page 19: Athena

Analyst

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

ATHENA ORACLE + (SPATIO-TEMPORAL & DATA MINING & SEMANTIC

FEATURES)

TRAJECTORY ONTOLOGY

TRAJECTORY ONTOLOGY

Semantic Enrichment Process

19

SemanticTrajectoriesstops, moves,etc

TrajectoriesPatternsTAS,

DomainInformation

DomainGeographyGeometric

ImportABOX

mapping

ImportTBOX

Create Ontology

QuerySQL+Semantics

1

53

2

4

Page 20: Athena

Querying only the ontology

Which are the Tourist Trajectories?

SELECT m

FROM table(SEM_MATCH('(?m rdf:type :TouristTrajectories)',

SEM_Models('geopkdd_owl_ontology'),null,

SEM_ALIASES(SEM_ALIAS ('','http://www.owl-ontologies.com/GeoPKDDOnto.owl#')),null));

Page 21: Athena

Querying the ontology + original data

• Give me tourist trajectories and the name of his user?

SELECT t.object, t.user_name

from GEOPKDD.MILANO_SMALL t,

(SELECT get_id(m) as id

FROM table(SEM_MATCH('(?m ?s :TouristTrajectory)',

SEM_Models('MODELGEOPKDD'),

SEM_rulebases('owlprime'),

SEM_ALIASES(

SEM_ALIAS('','http://www.com/GeoPKDDOnto.owl#')),null))) r

WHERE t.id = r.id

Page 22: Athena

Ongoing work

• We are currently extending this work in two main directions:– Integrating data mining in the scenario: understand

people behaviour analyzing large amount of data. – Experimenting the system in a larger dataset coming

from GPS on cars and moving in Milan and Rio de Janeiro data set.

• Automatize the process as much as possible (mapping, triples insertion)

• Study solutions to cope with the limitations of OWLprime

• Integration with CommonGIS visualization tool