Title: Miguel Romero
1A Graph-Oriented Model and Query Language for
Events
- Miguel Romero
- University of Bío-Bío, Chile
- mromero_at_pehuen.chillan.ubiobio.cl
Andrea Rodríguez University of Concepción,
Chile andrea_at_udec.cl
2Contents
- Introduction
- Events Model
- Query Language
- Prototype
- Conclusions and future work
3Introduction
- Events are present in diverse areas as
simulation, active database, business process and
so on - Two complementary views of events in information
systems are. - events are triggering conditions rather than
being stored and queried as traditional data,
such as events in active databases and in
reactive Web applications and services. - events are subject of data representation and
query processing, such as events in
spatio-temporal databases.
4Introduction
- We consider events in the context of
spatio-temporal databases, where events establish
something that happens at a specific location and
time instant or interval. - Considering events as subject of representation
leads us to model events as entities in a
database system. - Unlike entities in traditional databases systems,
relationships between events, play an important
role for querying events, like temporal order,
spatial connectivity or causality.
51960 Chilean Earthquake
6Introduction
- The main contribution of the work is to address
modelling, representation, and query
specification of events from a different
perspective, where the focus is to query about
events rather than about the changes in objects
states.
7Events Model
- In this work, we extend models and query
languages for graphs to represent events as
follows - Events are represented as nodes in a graph, with
their particular properties (temporal and spatial
settings). - Edges in a graph represent causality
relationships between events. - Both events and causality relationships can be
modelled at different levels of granularity.
8Different levels of granularity
9Events Model
EVENT ? EDGE ? EVENT_GRAPH event_graph
LABEL ? (ATOMIC_EVENT ? COMPOSITE_EVENT) ? EVENT
event
ATOMIC_EVENT ? EVENT_GRAPH ? COMPOSITE_EVENT
composite_event
INTERVAL ? SPATIAL ? ATOMIC_EVENT atomic_event
LABEL ? (ATOMIC_EDGE ? COMPOSITE_EDGE) ? EDGE
edge
COMPOSITE_EVENT ? COMPOSITE_EVENT ? EDGE ?
COMPOSITE_EDGE composite_edge
EVENT ? EVENT ? ATOMIC_EDGE atomic_edge
INSTANT ? INSTANT ? INTERVAL interval
string ? BASE ? LABEL label
string ? INSTANT instant
Set type List type
? SPATIAL point, line, polygon, region
? BASE int, real, string, bool
10Main Operators
- Event_graph
- events, edges returns a set of events or edges
- get_event, get_edge returns a particular event
or edge. - project_each_event, project_each_edge
projection of labels. - select_each_event, select_each_edge filter the
graph with a function selection. - union, intersection, difference of graph
11Main Operators (cont.)
- Event
- is_atomic is true for atomic event
- get_graph, get_interval, get_spatial return a
graph, interval and spatial setting. - str_Label_Value, int_Label_Value,
real_Label_Value return a labels value. - Edge
- is_atomic is true for atomic edge
- edges, source, target return a set of edges,
source event and target event - str_Label_Value, int_Label_Value,
real_Label_Value return a labels value.
12Main Operators (cont)
- Interval
- start, end time point of interval
- classic Allen Operator equals , diferent,
before, after, meets, metby, finishes,
finishedby, overlaps, overlappedby, starts,
startedby, during, contains
13Query Language
- All events and their relationships ocurred before
of 1961/01/01 in Chile and Argentina. - query
- earthquakeChileDB do
- select_each_event(fun(ev event)
- get_interval(ev) before new_interval(1961))
- Done
- union
- earthquakeArgentinaDB do
- select_each_event(fun(ev event)
- get_interval(ev) before new_interval(1961))
- Done
1961
earthquakeChileDB
6
earthquakeArgentinaDB
7
8
Result of query
1
5
3
2
4
14Query Language
- All earthquakes of strength gt 7.5 that caused a
tsunami. - query earthquakeDB do
- select_each_edge(fun(eedge) earthquakeDB
get_event(target(e)) - str_label_value(Type)tsunami
select_each_event(fun(xevent) - (x str_label_value(Type))earthquake and (x
real_label_value(strength") gt 7.5 - done
15Lenguaje en BNF
- ltquerygt query ltgraph formulagtltevent
formulagtltedge formulagt - ltgraph formulagt ltgraph querygtltgraph
expressiongtltgraph objectgt - ltgraph querygt
- ltgraph formulagt do
- project_each_event(ltlabel namegt, ltlabel
namegt) - project_each_edge(ltlabel namegt, ltlabel
namegt) - select_each_event(fun(ltvar
namegtevent)ltboolean formulagt) - select_each_edge(fun(ltvar namegtedge)ltboolean
formulagt) - done
- ltgraph expressiongt ltgraph formulagt union
ltgraph formulagt - ltgraph formulagt intersection ltgraph
formulagt - ltgraph formulagt difference ltgraph formulagt
get_event_graph(ltevent formulagt) - ltpath formulagt ltpath objectgt paths(ltgraph
formulagt) - ltevent formulagt ltevent objectgt ltevent out
operatorgt - ltedge formulagt ltedge objectgt ltedge out
operatorgt - ltboolean formulagt ltboolean objectgt
not(ltboolean formulagt) - ltboolean formulagt and ltboolean formulagt
- ltboolean formulagt or ltboolean formulagt
- lt relational formulagt lt allen formulagt
16Implementation
- SECONDO, an extensible Database Systems
- Generic database system framework,
- extended by algebra module, viewer object and
optimizer rueles. - we extended SECONDO by
- New algebra module Event Algebra (EA).
- New viewer objects Event viewer (EV).
EV
EA
17Secondo GUI
18Conclusion and future works
- we proposed a graph-based approach to modeling
events and their interrelations. - We discussed the need of making explicit the
relationships between events, and we have
extended current graph data models to include
temporal and spatial settings and to manage
different levels of granularity for representing
events and their relationships. - As future work, we would like to fully implement
the model in the extensible database system, by
including path queries and interoperation with
existing spatial algebras. The event query
language can be extended and adapted to standard
query languages. - There are also research issues concerning
temporal granularity that could be further
addressed, as well as reasoning with unknown
temporal or spatial settings. - We also evaluate to use another graph oriented
language (e.g. XQuery) to implement this model.
19A Graph-Oriented Model and Query Language for
Events Thanks!
- Miguel Romero
- University of Bío-Bío, Chile
- mromero_at_pehuen.chillan.ubiobio.cl
Andrea Rodríguez University of Concepción,
Chile andrea_at_udec.cl