180 likes | 338 Views
A Graph-Oriented Model and Query Language for Events. Miguel Romero University of Bío-Bío, Chile mromero@pehuen.chillan.ubiobio.cl. Andrea Rodríguez University of Concepción, Chile andrea@udec.cl. Contents. Introduction Events Model Query Language Prototype
E N D
A Graph-Oriented Model and Query Language for Events Miguel Romero University ofBío-Bío, Chile mromero@pehuen.chillan.ubiobio.cl Andrea Rodríguez University of Concepción, Chile andrea@udec.cl
Contents • Introduction • Events Model • Query Language • Prototype • Conclusions and future work Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Introduction • 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. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Introduction • 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. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
6 Tsunami (type) Hawai (place) 23/05/60 07:00 (date-time) 10m (wave height) 8 Volcano eruption (type) Puyehue volcano (place) 23/05/60 (day) Earthquake (type) Concepción (epicenter) 21/05/60 6:33 (date-time) 7.25 (strength) 1 3 Earthquake (type) Valdivia (epicenter) 22/05/60 15:40 (date-time) 9.5 (strength) 5 Tsunami (type) Valdivia (place) 22/05/60 16:20 (date-time) 10m (wave height) 2 Earthquake (type) Concepción (epicenter) 22/05/60 14:58 (date-time) 7.5 (strength) 9 Flood (type) Valdivia (place) 22/05/60 – 26/05/60 (interval) 4 Landslides (type) Tralcan mountain (place) 22/05/60 15:40(date-time) 7 Outflow block (type) Riñihue lake (place) 22/05/60 – 23/05/60 (interval) 1960 Chilean Earthquake Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Introduction 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. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Tsunami (type) Valdivia (place) 22/05/60 16:20 (date-time) 10m (wave height) Earthquake (type) Valdivia (epicenter) 22/05/60 15:40 (date-time) 9.5 (strength) Events 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. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Different levels of granularity Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Events Model EVENT* EDGE* EVENT_GRAPHevent_graph LABEL+ (ATOMIC_EVENT COMPOSITE_EVENT) EVENTevent ATOMIC_EVENT EVENT_GRAPH COMPOSITE_EVENTcomposite_event INTERVAL SPATIAL ATOMIC_EVENTatomic_event LABEL+ (ATOMIC_EDGE COMPOSITE_EDGE) EDGE edge COMPOSITE_EVENT COMPOSITE_EVENT EDGE* COMPOSITE_EDGE composite_edge EVENT EVENT ATOMIC_EDGEatomic_edge INSTANT INSTANT INTERVALinterval string BASE LABELlabel string INSTANTinstant * Set type + List type SPATIALpoint, line, polygon, region BASEint, real, string, bool Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Main 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 Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Main Operators (cont.) • Event • is_atomic: istrue 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 label’s value. • Edge • is_atomic: istrue 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 label’s value. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Main 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; Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
1 5 3 3 2 4 Query 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 Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Lenguaje en BNF <query>::= query {<graph formula>|<event formula>|<edge formula>} <graph formula> ::= {<graph query>|<graph expression>|<graph object>} <graph query> ::= <graph formula> do [project_each_event(<label name>[{, <label name>}…])] [project_each_edge(<label name>[{, <label name>}…])] [select_each_event(fun(<var name>:event)<boolean formula>)] [select_each_edge(fun(<var name>:edge)<boolean formula>)] done <graph expression> ::= { <graph formula> union <graph formula> | <graph formula> intersection <graph formula> | <graph formula> difference <graph formula> | get_event_graph(<event formula>) } <path formula> ::= <path object> | paths(<graph formula>) <event formula>::= <event object> | <event out operator> <edge formula> ::= <edge object> | <edge out operator> <boolean formula> ::= <boolean object> | not(<boolean formula>) | <boolean formula> and <boolean formula> | <boolean formula> or <boolean formula> | < relational formula>| < allen formula> Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Architecture of the kernel SECONDO Components Implementation • 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 Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Secondo GUI Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
Conclusion 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. Miguel Romero and Andrea Rodríguez. SeCoGis'07 at Auckland, New Zealand,
A Graph-Oriented Model and Query Language for Events Thanks! Miguel Romero University ofBío-Bío, Chile mromero@pehuen.chillan.ubiobio.cl Andrea Rodríguez University of Concepción, Chile andrea@udec.cl