Upload
roberto-trasarti
View
767
Download
0
Tags:
Embed Size (px)
Citation preview
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
Athena: Trajectories and city places
Athenathe greek goddess of wisdom
HotelHotel
UniversityUniversity
MonumentsMonuments
Show kinds of points of interest and landmarks
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’;
GeoPKDD Tasks
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
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;
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.
Organizing the Knowledge …
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
GeometricTrajectoryGeometricTrajectory
GeographicKnowledgeGeographicKnowledge
Domain Knowledge
Domain Knowledge
All Data are inside DB !!
HERMESHERMES
Mobility PatternMobility PatternMobility DataMobility DataRaw DataRaw Data
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
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
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
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
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
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
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)
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⊓∃ ∃
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
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));
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
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