8
1 1 57

Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

Embed Size (px)

Citation preview

Page 1: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

Uma Linguagem de Consulta para

Padrões Espaço-Temporais em Trajetórias Semânticas

Diego Victor Simões de Sousa1

José Antonio Fernandes de Macêdo1

Universidade Federal do Ceará, Brasil

Campus do Pici - Bloco 910 � 60.455-760 � Fortaleza � CE � Brasil

{diegovss, jose.macedo}@lia.ufc.br

Abstract. The popularization of geographical position devices (e.g. GPS) create new opportunities for analyzingmoving object behaviors. However, such behavior analyses are hindered by a lack of semantic information associated tothe basic information provided by geographical position devices, called raw trajectory data. Previous works proposedsemantic enrichment of trajectories but no work developed a solution for querying moving patterns using semanticannotated trajectories. In this paper we propose a query language based on regular expression for processing spatio-temporal pattern queries.This language allows to use queries with spatial, temporal, and semantic predicates andconstraints over trajectory data aim at specifying moving patterns. In addition, in this paper, we specify the grammarof this language and present some query examples that demonstrates its expression power.

Resumo. A popularização de dispositivos de posicionamento (e.g. GPS) tem criado novas oportunidades paraanalisar o comportamento de objetos móveis. Porém, tais análises são di�cultadas pela falta de informação semânticaassociada as informações básicas providas pelos dispositivos de localização geográ�ca, chamado de trajetória bruta.Alguns trabalhos propõem o enriquecimento semântico de trajetórias mas nenhum trabalho desenvolveu uma soluçãopara consultar padrões sobre trajetórias semanticamente anotadas. Neste artigo, é proposta uma linguagem de consultabaseada em expressões regulares para o processamento de consultas de padrões espaço-temporais. Esta linguagempermite a especi�cação de consultas com predicados e restrições espaciais, temporais e semânticas sobre dados detrajetórias com intuito de especi�car padrões de movimento. Além disso, neste artigo especi�camos a gramática destalinguagem e apresentamos alguns exemplos de consultas que visam demonstrar o poder de expressão desta linguagem.

Categories and Subject Descriptors: H.Information Systems [H.m. Miscellaneous]: Databases

General Terms: Human Factors, Languages

Keywords: semantic trajectory, pattern matching query, regular expression

1. INTRODUÇÃO E MOTIVAÇÃO

A disponibilidade de dados de localização geográ�ca vem possibilitando o desenvolvimento de novostipos de aplicações baseadas na análise de trajetórias, que são representadas por um conjunto depontos visitados ao longo do tempo, diferenciadas por um identi�cador e pelo objeto que as realizaram.Uma aplicação poderia veri�car em quais trajetórias de um banco de dados ocorre uma determinadasequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica daaplicação, usando a ideia de trajetória semântica introduzida por [Alvares et al. 2007]. Desta formaas trajetórias podem ser vistas como uma sequência de eventos, envolvendo atividades, executadospor um objeto móvel envolvendo espaço e tempo. Estes eventos podem se repetir ou serem executadosdiversas vezes seguida, isto sugere que estes podem caracterizar um padrão que pode se repetir ao longodo trajeto executado por um objeto móvel. Desta forma, as trajetórias executarão um determinado

Este trabalho foi parcialmente �nanciado pelo CNPq (473110/2008-3, 473110/2008-3, 557128/2009-9, 483552/2009-7) e pelaFUNCAP (GPF 2151/22).

SBBD - Simpósio Brasileiro de Banco de Dados

57

Page 2: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

157-2 · Simões D. V. S. and Macêdo, J. A. F.

padrão de movimento, descrito como uma permutação de eventos, o que implica em um grandenúmero de padrões possíveis. Uma ideia interessante para expressar padrões de uma forma maisgeral, já que estes podem se repetir, é utilizar uma linguagem baseada em expressões regulares,como a proposta neste trabalho, visando facilitar a busca de trajetórias que correspondam a umdado padrão de movimento de trajetórias semânticas. Esta expressão regular será enriquecida comrestrições espaço-temporais.

Diversos trabalhos na literatura [Akasapu et al. 2010; Lee et al. 2009] propõem soluções paradescoberta de padrões sobre dados de trajetórias. Estes trabalhos não utilizam a correspondência depadrões abordada, de maneira geral, por trabalhos que visam à busca de padrões sequenciais [Zemkeet al. 2007; Dindar 2008; Cadonna et al. 2011]. Na mesma linha, alguns trabalhos objetivam acorrespondência de padrões em dados de trajetórias, utilizando a incorporação semântica, citada an-teriormente, no sentido de facilitar a descrição do movimento dos objetos móveis. Um desses trabalhosobjetiva realizar consultas envolvendo predicados espaço-temporais e hierarquização de regiões em umconjunto de dados de trajetórias [Vieira et al. 2010]; o outro visa à mineração de padrões sequenciaisusando uma linguagem baseada em expressões regulares [Gomez and Vaisman 2009]. Assim, foi veri�-cado que as abordagens pesquisadas não lidam com a hierarquização de conceitos de forma implícita enão possuem a possibilidade de se realizar consultas utilizando combinação de predicados e restriçõesespaciais, temporais e semânticas, as quais dependem da aplicação. Desta maneira, o presente traba-lho visa utilizar a correspondência de padrões para a recuperação das trajetórias correspondentes aum padrão buscado utilizando predicados espaço-temporais e informações semânticas.

Para a solução desse problema é proposta uma linguagem baseada em expressões regulares, de�nidaatravés de uma BNF, que utiliza hierarquização de conceitos semânticos, predicados espaço-temporaise semânticos (de anotação) para a de�nição dos padrões de movimento a serem consultados. Estalinguagem será, futuramente, compilada para uma linguagem de consulta de um banco relacional quesuporte predicados espaciais, como Oracle. Esta compilação utilizará regras de mapeamento do padrãode movimento descrito pelo usuário para a linguagem de consulta escolhida. O propósito da linguagemaqui descrita é fornecer uma forma simples de descrever padrões de movimento em trajetórias parao usuário do banco de dados, realizando uma tradução e�ciente para uma linguagem de consulta embanco de dados relacionais.

O artigo está organizado da seguinte forma: na seção 2 um modelo de dados para trajetórias éapresentado; na seção 3 é apresentando um estudo de caso; na seção 4 a linguagem para a realizaçãode consultas a padrões de movimento em trajetórias é proposta; na seção 5 os trabalhos relacionadossão descritos; na seção 6 o estado atual do trabalho e os trabalhos futuros são apresentados.

2. MODELO DE DADOS DE TRAJETÓRIA

Trabalhos recentes têm proporcionado o enriquecimento semântico de dados de trajetórias no sen-tido de facilitar a descrição do movimento dos objetos móveis [Yan et al. 2010; Yan et al. 2011].Essas abordagens utilizam conhecimento do domínio da aplicação para gerar informações temáticas(semântica) relacionadas com a aplicação, enriquecendo trajetórias brutas. Nesta seção, introduzimosde�nições sobre trajetórias que serão utilizadas ao longo deste artigo.

De um ponto de vista conceitual, uma trajetória pode ser percebida pela aplicação ou pelo projetistado banco de dados como um objeto identi�cável e gerenciável. Mesmo que a trajetória seja de�nidacomo um objeto de primeira classe, as aplicações, muitas vezes, exigem relacionar informações asegmentos de uma trajetória para, por exemplo, indicar que, em um dado intervalo de tempo aolongo da trajetória, um caminhão parou para entregar produtos a um consumidor. Assim, umavisão conceitual de trajetórias poderia fornecer mecanismos para tratá-las como objetos complexos,de�nindo-as como uma sequência de eventos signi�cativos.

De forma geral, um GPS coleta, em intervalos regulares, a localização geográ�ca de um objeto móvel

SBBD - Simpósio Brasileiro de Banco de Dados

58

Frank
Rectangle
Page 3: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

Uma Linguagem de Consulta para Padrões Espaço-Temporais em Trajetórias Semânticas · 157-3

(e.g. latitude, longitude) associada a um instante de tempo. Ao longo do tempo, o dispositivo acumulaum conjunto de triplas (e.g. lat, long, instante), que representam o movimento do objeto. Entretanto,a sequência de triplas coletadas pode, de fato, representar diferentes trajetórias do objeto móvel. Porexemplo, suponha que um caminhão faça diversas viagens por dia. Ao �nal do dia, a coleção de triplascapturadas pelo dispositivo deve ser separada em diferentes trajetórias, cada uma representando umaviagem diferente. Em outro âmbito, suponha que o mesmo conjunto de triplas deve ser usado poruma aplicação de manutenção de caminhões. Neste segundo cenário, a trajetória do caminhão deveser de�nida como uma sequência de todas as triplas coletadas ao longo do dia. Assim, de maneirageral, a de�nição do que é uma trajetória depende da aplicação, ou seja, a de�nição dos pontos deinício e �m de uma trajetória depende de como a aplicação compreende o movimento do objeto.

Portanto, o projetista deve fornecer uma função para o segmento de dados brutos coletados porum dispositivo de posicionamento, objetivando gerar as trajetórias. Estas serão armazenadas emum banco de dados e manipuladas pela aplicação. Na literatura, o processo de segmentar dados detrajetórias brutas é conhecido como construção semântica de trajetórias (aqui o termo trajetóriasemântica será adotado) [Yan et al. 2010]. Este processo também pode incluir outras tarefas, comoa correção de pontos coletados pelos dispositivos de posicionamento.

Para capturar estes conceitos, este trabalho apresenta um conjunto de de�nições. Um pontoespaço-temporal é uma tripla p = (l, g, t), onde l e g são números reais que representam a latitude e alongitude, respectivamente, e t é um número real positivo representando um instante de tempo. Assim,uma trajetória bruta é uma sequência de pontos espaço-temporais R = ((l1, g1, t1), ..., (lk, gk, tk)),tal que, para todo i ∈ [1, k), ti < ti+1. Não é difícil notar que uma trajetória bruta possui pouco ounenhum valor semântico, visto que ela utiliza apenas características espaciais. Como forma de agregarconteúdo semântico às trajetórias teremos os seguintes conceitos: trajetória semântica, eventos eatributos.

Visando a inclusão de informações semânticas na trajetória bruta, de�ni-se uma anotação se-mântica como um atributo A, representado por uma dupla A = (attributeName, value), tal queattributeName é o nome do atributo e value é o seu valor. Estes atributos serão atribuídos a umdado evento E, na forma de uma lista de atributos AL. Assim, de�ne-se um evento E como umatripla E = (m,n,AL), na qual m = (lm, gm, tm) e n = (ln, gn, tn) são pontos tais que tm < tn, repre-sentando o inicio e o �m dos pontos que representam o segmento de trajetória referente ao evento E;e AL é uma lista de atributos A.

Assim, uma trajetória semântica será descrita por uma lista de eventos que poderão ter diversosatributos, cada um. Formalizando, uma trajetória semântica S será criada a partir da existênciade uma trajetória bruta e será uma quádrupla S = (b, d,R,EL) tal que b = (lb, gb, tb) e d = (ld, gd, td)são pontos espaço-temporais tais que tb < td, representando o início e o �m dos pontos de S; R =((l1, g1, t1), ..., (lk, gk, tk)) é uma trajetória bruta, tal que l1 = lb, g1 = gb, t1 = tb e lk = ld, gk =gd, tk = td, ou seja, os pontos b e d coincidem, respectivamente, com os pontos inicial e �nal datrajetória; e EL é uma lista de eventos E. Esta lista de eventos, que pode ser representada comoEL = (e1, ..., en), na qual ek é o k-ésimo evento, possui a sequinte propriedade, para todo i ∈ [1, k),ei.n.t ≤ ei+1.m.t, ou seja, o tempo �nal de um evento é menor ou igual ao tempo de início do eventoseguinte.

Além da informação semântica, as trajetórias semânticas poderão ser vistas como uma representaçãogeométrica de linha de acordo com a trajetória bruta descrita por R, a qual poderá ser operada comoutras representações geométricas para a veri�cação de predicados espaço-temporais.

Resumindo, uma trajetória semântica é uma representação, de�nida pela aplicação, da evolução daposição de um objeto móvel (compreendido como um ponto) durante um dado intervalo de tempo.A aplicação pode extrair (ou de�nir) trajetórias semânticas de um conjunto de dados brutos espaço-temporais usando uma função que incorpora a semântica cuja as trajetórias do domínio devem ter.

SBBD - Simpósio Brasileiro de Banco de Dados

59

Frank
Rectangle
Page 4: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

157-4 · Simões D. V. S. and Macêdo, J. A. F.

3. ESTUDO DE CASO

Como forma de facilitar a compreensão do problema exposto, consideramos uma aplicação de traje-tórias que registra as atividades realizadas por turistas durante sua visita a duas cidades diferentes:Paris e Nantes, na França.

A Figura 1 apresenta uma tabela com trajetórias descritas conforme o modelo da seção 2. Porfalta de espaço não foram incluídos os tempos iniciais e �nais das trajetórias, no entanto estes sãorepresentados pelos tipos de evento (eventType) START e END. As colunas da tabela são descritas aseguir: idMO e idTraj representam, respectivamente, o identi�cador do objeto móvel e da trajetória;Events representa a lista de eventos relacionados a uma dada trajetória; sTime e eTime representam,respectivamente, o tempo inicial e �nal da ocorrência de um evento; attributes representa a listade atributos relacionada com um dado evento. Os atributos listados na Figura 1 são: eventType(tipo de evento), cash (quantia de dinheiro disponível no evento), local (descrição do local visitado),transportType (tipo de transporte), activity (tipo de atividade envolvida) e velocity (velocidade).Movimento e parada são representados por MOVING e STOP, respectivamente.

idMO idTraj Events

1 1 sTime eTime Attributes

0 1 <eventType, START>, <cash,1500> 1 6 <eventType,STOP>, <cash,1500>, <local,”Ibis Hotel”>, <activity,”Breakfast”> 6 10 <eventType, MOVING>, <cash,1450>, <transportType,”Foot”>, <local,”Av. J.

Bouvard”> 10 14 <eventType, MOVING>, <cash,1450>, <transportType,”Foot”>,

<activity,”Shopping”>, <local,”St. Augereau”> 14 16 <eventType,MOVING>, <cash,1380>, <transportType,”Subway”>,

<velocity,150km> 16 22 <eventType,STOP>, <cash,1000>, <local,”Triumphal Arch”>, <activity,”Walk”> 22 26 <eventType,MOVING>, <cash,1000>, <transportType,”Taxi”> 26 28 <eventType,STOP>, <cash,920>, <local,”Ibis Hotel”>, <activity,”Conference”> 28 28 <eventType,END>, <cash,920>, <local,”Ibis Hotel”>

2 2 sTime eTime Attributes

0 1 <eventType,START>, <cash,1000> 1 4 <eventType,STOP>, <cash,900>, <local,”Parc des Princes”>,

<activity,”Cheering”> 4 6 <evetType,MOVING>, <cash,900>, <transportType,”Taxi”> 6 8 <eventType,STOP>, <cash,820>, <local,”Hilton Hotel”>, <activity,”Dinner”> 8 9 <eventType,STOP>, <cash,820>, <local,”Hilton Hotel”>, <activity,”resting”> 9 12 <eventType,MOVING>, <cash,820>, <local,”St. Courcelles”>,

<activity,”Shopping”> 12 12 <eventType,END>, <cash,200>, <local,”St. Courcelles”>

3 3 sTime eTime Attributes

0 1 <eventType,START>, <cash,1000> 1 5 <eventType,STOP>, <cash,2000>, <local,”B&B Hotel”>, <activity,”Breakfast”> 5 7 <evetType,MOVING>, <cash,2000>, <transportType,”Bus”> 7 10 <eventType,STOP>, <cash,2000>, <local,”Grand Blottereau”>,

<activity,”Walk”>, <near,”Train Station”> 10 11 <eventType,MOVING>, <cash,1600>, <trasportType,”Subway”>,

<velocity,170km> 11 14 <eventType,STOP>, <cash,1600>, <activity,”Tourism”>,

<local,”Château des ducs de Bretagne”>, 14 17 <eventType,MOVING>, <cash,1200>, <local,”Place Viarme”>,

<activity,”Shopping”> 17 20 <eventType,STOP>, <cash,820>, <local,”B&B Hotel”>, <activity,”Conference”> 20 20 <eventType,END>, <cash,820>, <local,”B&B Hotel”>

Fig. 1: Exemplo de trajetórias descritas como uma sequência de eventos com diversos atributos.

A semântica envolvida na aplicação dos dados da Figura 1 pode ser descrita como segue:

�As trajetórias 1 e 2 são executadas em Paris. A trajetória 1 atravessa o Campo de Marte (andandopela Av. J. Bouvard) quando sai do Hotel Íbis em direção a rua Augereau. A trajetória 2 atravessao Campo de Marte quando sai do estádio Parc des Princes em direção ao Hotel Hilton;

�A trajetória 3 é executada em Nantes. A trajetória atravessa o Jardin des Plantes ao sair do HotelB&B em direção ao parque Grand Blottereau;

�Neste estudo de caso o Campo de Marte e o Jardin des Plantes são considerados jardins;�As hierarquias consideradas são apresentadas na Figura 2. Por questão de espaço, não foi colocadaa hierarquia referente a locais turísticos.

SBBD - Simpósio Brasileiro de Banco de Dados

60

Frank
Rectangle
Page 5: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

Uma Linguagem de Consulta para Padrões Espaço-Temporais em Trajetórias Semânticas · 157-5

(a) Hoteis (b) Jardins

Fig. 2: Hierarquia de conceitos para hoteis (�gura 2a) e para jardins (�gura 2b)

Nesta aplicação é importante responder questões relacionadas com o padrão de movimentação dosturistas, de acordo com os eventos realizados por estes. Um exemplo de consulta envolvendo umpadrão de movimento que utilize hierarquização de conceitos e predicado espaço-temporalpoderia ser:

Q1: Trajetórias que saem de um local turístico, atravessam um Jardim, chegam a umhotel; ou saem de um hotel, atravessam um Jardim, chegam a um local turístico.

Para esta consulta, todas as trajetórias serão retornadas. Segue a justi�cativa para cada trajetória:(i) Trajetória 1: A trajetória sai do Hotel Íbis (hotel) e, enquanto segue para a rua Augereau, atravessao Campo de Marte (jardim) e depois vai para o Arco do Triunfo (local turístico); (ii) Trajetória 2:A trajetória sai do estádio Parc des Princes (local turístico) e, enquanto segue para o Hotel Hilton(hotel) que �ca próximo ao Arco do Triunfo, atravessa o Campo de Marte (jardim); (iii) Trajetória3: A trajetória sai do Hotel B&B (hotel) e, enquanto segue para o Parque Grand Blottereau (localturístico), atravessa o Jardim des Plantes (jardim) de ônibus.

Outra forma de consulta poderia envolver a restrições de duração de um determinado evento e deveri�cação da ocorrência de um determinado evento após um período de tempo, por exemplo:

Q2. Trajetórias que saíram do Hotel B&B, realizaram paradas de no máximo 6 unidadesde tempo, retornaram ao mesmo hotel após no mínimo 3 unidades de tempo e �nalizaramcom 820 de dinheiro.

Para esta consulta, apenas a trajetória 3 será retornada. Isto se deve ao fato de esta trajetóriasair do Hotel B&B e realizar duas paradas, uma no Parque Grand Blottereau e outra no Châteaudes ducs de Bretagne, que juntas somam 3 unidades de tempo. Posteriormente, a trajetória chega aoHotel B&B após 3 unidades de tempo. Ao �nal, a trajetória �naliza seu trajeto com 820 de dinheiro,quantia exigida. É interessante observar que a trajetória 1 também poderia ser retornada, no entantoa mesma não sai do Hotel B&B e só chega ao mesmo hotel após 4 unidades de tempo.

4. LINGUAGEM DE CONSULTA DE PADRÕES PARA TRAJETÓRIAS

Algumas das consultas que devem ser possíveis realizar com a linguagem proposta são: (i) veri�carquais as trajetórias que passaram por uma determinada região geográ�ca, depois executaram umadeterminada atividade em um dado intervalo de tempo, posteriormente �caram em um determinadolocal por um período de tempo determinado; (ii) veri�car quais as trajetórias que desenvolveramuma determinada atividade por um período de tempo determinado, não importando se a mesma foiintercalada com outras atividades, e posteriormente executaram uma determinada atividade em umadada região. Assim, propõe-se uma linguagem de consulta cuja estrutura é apresentada abaixo noformato BNF. Em seguida são descritos cada um dos construtores da linguagem.

SBBD - Simpósio Brasileiro de Banco de Dados

61

Frank
Rectangle
Page 6: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

157-6 · Simões D. V. S. and Macêdo, J. A. F.

〈Moving Pattern〉→〈Event〉| 〈Moving Pattern〉〈Sequential Operator〉〈Moving Pattern〉|〈Moving Pattern〉〈Alternation Operator〉〈Moving Pattern〉| 〈Moving Pattern〉〈MultiplicityOperator〉〈Aggregation Operator〉〈 Event 〉→〈Predicate〉| 〈Variable〉| 〈wildcard〉|〈 Event 〉〈Logical Operator〉〈 Event 〉〈Variable〉→@X|@Y |· · ·〈Predicate〉→〈Spatio-temporal Predicate〉| 〈Annotation Predicate〉〈Spatio-temporal Predicate〉→INSIDE(< geometry >)|EQUAL(< geometry >)|· · ·〈Annotation Predicate〉→〈string〉〈value〉〈Logical Operator〉→AND|OR〈Multiplicity Operator〉→< blank >|+|∗|#〈Aggregation Operator〉→ < blank >|[duration < RelationalOperator >< number >]〈Sequential Operator〉→.|.[duration < RelationalOperator >< number >]|.[distance <RelationalOperator >< number >]〈Alternation Operator〉→|〈relational operator〉→=|<>| <|>| <=|>=|in〈wildcard〉→?〈geometry〉→point|line|region〈time〉→instant|interval

�Moving Pattern: representa o padrão de movimento a ser veri�cado em uma trajetória semântica.Este padrão de movimento poderá ser um evento, um padrão de movimento com um operador demultiplicidade junto com um operador de agregação, uma alternância de padrões ou uma sequênciade padrões.

�Event: Um evento poderá ser um predicado, uma variável, um "coringa" ou um evento operadocom outro evento através de um operador lógico.

�Variable: representará uma variável e será representado por um "@" seguido de uma consoante.

�Predicate: poderá ser 2 tipos de predicados: espaço-temporal e de anotação (semântico).

�Spatio-temporal Predicate: representa um predicado espaço-temporal de�nido da seguinteforma: seja p(geometria), p representa um dos predicados espaciais signi�cativos (de�nidos em[Erwig and Schneider 2002]) que será operado sobre a geometria da trajetória (de maneira implí-cita) e uma geometria fornecida pelo usuário. A semântica é descrita como ∃∆t : p(S1∆t, S2∆t).Nesta expressão, S1∆t representa a geometria da trajetória em um dado intervalo de tempo eS2∆t representa a geometria fornecida pelo usuário através da linguagem aqui proposta no mesmointervalo de tempo.

�Annotation Predicate: são predicados que contém informações semânticas do domínio da apli-cação sobre a trajetória. São representadas por uma string representando um atributo e seu valor(value). Será testado se ocorre o atributo correspondente ao nome e valor, presentes, na trajetória.

�Logical Operator: representa operações lógicas que retorna verdadeiro ou falso. Podem ser: AND(E lógico) ou OR (OU lógico).

�Multiplicity Operator: representa o operador de multiplicidade e indicará quantas vezes umMoving Pattern será veri�cado em sequência. Podem ser: # (opcional), * (0 ou mais repetições)ou + (1 ou mais repetições).

�Aggregation Operator: é um operador de agregação sobre a duração temporal de padrões detrajetórias que receberam o operador de multiplicidade. Esta duração será o somatório da duraçãode cada padrão individual veri�cado. Este operador pode não existir ou ser uma duração com umoperador relacional mais um número.

�Sequential Operator: irá realizar o sequenciamento de padrões de trajetórias. Podem ser: ".",representando a veri�cação de um padrão imediatamente após o outro; ".[duration < RelationalOperator >< number >]", representando a veri�cação de um padrão após o outro segundo uma

SBBD - Simpósio Brasileiro de Banco de Dados

62

Frank
Rectangle
Page 7: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

Uma Linguagem de Consulta para Padrões Espaço-Temporais em Trajetórias Semânticas · 157-7

restrição de duração de tempo percorrida, indicada por um operador relacional e um número; ou".[distance < RelationalOperator >< number >]", representando uma restrição sequencial dedistância.

�Alternation Operator: representa o operador de alternância das expressões regulares.�relational operator: representa um termo e pode ser qualquer um dos operadores veri�cados naBNF, comumente conhecidos.

�wildcard: representa um termo e será um evento "coringa", ou seja, representará qualquer evento.�geometry: representa um termo e poderá ser de 3 tipos diferentes: line, representando umalinha, como, por exemplo, a trajetória; point, representando um ponto em um plano; ou region,representando uma região geográ�ca.

�time: podem-se ter dois tipos de termos temporais: o instante de tempo ou o intervalo de tempo.

Consultas envolvendo predicados espaciais poderão ser construídas a partir das linguagens de con-sulta de SGBDs que suportem estes predicados (e.g. Oracle, PostGIS). Assim, consultas à trajetóriaspertencentes a um determinado local podem ser realizadas a partir da estrutura que estas linguagensoferecem.

Como forma de exempli�car o uso da linguagem proposta, seja a consulta Q1 mencionada na seção3, esta pode ser representada da seguinte forma

((isTypeOf(Tourist Place)).CROSS1(GEOMGarden2).(isTypeOf(Hotel))) |

((isTypeOf(Hotel)).CROSS(GEOMGarden).(isTypeOf(Tourist Place)))

Nesta consulta, veri�ca-se o uso da hierarquização de conceitos referente a Hotel, a Jardim (Garden)e a Local Turístico (Tourist Place). Para se utilizar desta hierarquização, possibilitando consultas emdiversos níveis de granularidade, foi veri�cada a necessidade da utilização de uma função (isTypeOf ),que será utilizada para indicar que um conceito é de um determinado tipo, ou seja, o domínio doconceito.

Com relação à consulta Q2 veri�cada na seção 3, segue a sua construção na linguagem proposta:

INSIDE(GEOMHotelB&B).DISJOINT(GEOMHotelB&B).((eventType,STOP))+[duration<=6] .[duration>=3].DISJOINT(GEOMHotelB&B).INSIDE(GEOMHotelB&B).((eventType,END) AND

(cash,820))

5. TRABALHOS RELACIONADOS

Visando veri�car a ocorrência de determinados movimentos em um conjunto de trajetórias, foi con-siderada a área referente à veri�cação de padrões através de consultas a dados armazenados. Destaforma, foram veri�cados trabalhos relacionados à correspondência de padrões sobre sequências de da-dos [Zemke et al. 2007; Dindar 2008] e sobre uma sequência de eventos [Cadonna et al. 2011]. Ascorrespondências de padrões dos trabalhos anteriores referem-se à ocorrência de determinadas con-dições sobre os atributos de uma tupla de dados, não considerando características inerentes a dadosespaço-temporais com informação semântica, como apresentado neste trabalho.

No trabalho de [Vieira et al. 2010], a correspondência de padrões ocorre através de uma linguagembaseada em expressões regulares de�nida através de uma gramática. Este trabalho considera somentepredicados espaciais, de�nidos pelos relacionamentos topológicos propostos em [Güting and Schneider2005], e predicados temporais referentes ao intervalo de tempo em que o relacionamento topológicoocorre. A avaliação do padrão de forma a recuperar as trajetórias que correspondem a ele é realizada

1CROSS é utilizado como uma composição dos predicados especiais [Güting and Schneider 2005].2GEOMi representa uma geometria que referencia uma região conhecida como i

SBBD - Simpósio Brasileiro de Banco de Dados

63

Frank
Rectangle
Page 8: Uma Linguagem de Consulta para Padrões Espaço-Temporais … · sequência de movimento. Muitas vezes, esta sequência é expressa de acordo com a semântica da aplicação, usando

157-8 · Simões D. V. S. and Macêdo, J. A. F.

através de duas estruturas de indexação que facilitam o processo. Apesar de realizar consultas atravésde expressões regulares sobre predicados espaciais e temporais, o trabalho não envolve informaçõessemânticas, não possibilita a execução de consultas em diversos níveis de granularidade e nem permitea utilização de outras restrições temporais, como instante de tempo e duração. Outro aspecto nãoabordado pelo trabalho é a possibilidade da veri�cação do somatório da duração da ocorrência de umevento diversas vezes em uma trajetória.

Outro trabalho semelhante ao apresentado neste artigo pode ser veri�cado em [Gomez and Vaisman2009]. Neste trabalho uma linguagem baseada em expressões regulares também é proposta, no entantoo objetivo é re�nar padrões encontrados por um algoritmo Generalized Sequential Pattern (GSP), esteque recupera os padrões que aparecem pelo menos de acordo com uma quantidade especí�ca fornecidapelo usuário. As consultas, neste trabalho, não estão voltadas para a recuperação de trajetórias quecontenham um determinado padrão, como o proposto neste artigo, e nem envolvem predicados espa-ciais. Outro aspecto não abordado neste trabalho é a realização de consultas envolvendo predicadoscom informações semânticas e hierarquização de conceitos.

6. CONCLUSÃO

Concluí-se que a linguagem proposta conseguiu expressar as consultas expostas no estudo de casoapresentadas na seção 3. Os trabalhos relacionados não apresentaram a mesma expressividade quea linguagem proposta apresentou. Para a validação da linguagem será implementado um protótipovisando à realização da construção de um plano de consulta em bancos de dados que utilizem predi-cados espaciais. Desta forma as consultas realizadas no protótipo serão compiladas para a linguagemdo banco de dados utilizado. A ideia é que a solução possa ser genérica. Atualmente, o trabalhoencontra-se na fase de formalização da linguagem proposta e da de�nição da estrutura hierárquica deconceitos, que não foi abordada no artigo por falta de espaço. Comparações com outras abordagens,assim como a geração dos planos de consulta, são esperadas futuramente.

REFERENCES

Akasapu, A., Sharma, L., and Ramakrishna, G. E�cient Trajectory Pattern Mining for both Sparse and DenseDataset. International Journal of Computer Applications IJCA 9 (5): 24�28, 2010.

Alvares, L. O., Bogorny, V., Kuijpers, B., de Macedo, J. A. F., Moelans, B., and Vaisman, A. A model forenriching trajectories with semantic geographical information. ACM GIS '07 , 2007.

Cadonna, B., Gamper, J., and Böhlen, M. H. Sequenced Event Set Pattern Matching Categories and SubjectDescriptors. In Proceedings of the 14th EDBT. pp. 33�-44, 2011.

Dindar, N. Pattern Matching over Sequences of Rows in a Relational Database System. M.S. thesis, ETH Zurich,Switzerland, 2008.

Erwig, M. and Schneider, M. Spatio-temporal predicates. IEEE Transactions on Knowledge and Data Engineering,2002.

Gomez, L. I. and Vaisman, A. a. E�cient constraint evaluation in categorical sequential pattern mining for trajectorydatabases. In 12th EDBT '09. ACM Press, New York, NY, USA, pp. 541�552, 2009.

Güting, R. and Schneider, M. Moving objects databases. Vol. 54. Morgan Kaufmann Pub, 2005.

Lee, A. J., Chen, Y.-A., and Ip, W.-C. Mining frequent trajectory patterns in spatial�temporal databases. Infor-mation Sciences 179 (13): 2218�2231, June, 2009.

Vieira, M. R., Bakalov, P., and Tsotras, V. J. Querying Trajectories Using Flexible Patterns. In Proceedings of

the 13th EDBT. pp. 406�417, 2010.

Yan, Z., Chakraborty, D., Parent, C., and Spaccapietra, S. SeMiTri: A Framework for Semantic Annotationof Heterogeneous Trajectories. In Proceedings of the 14th EDBT, 2011.

Yan, Z., Parent, C., Spaccapietra, S., and Chakraborty, D. A Hybrid Model and Computing Platform forSpatio-semantic Trajectories. The Semantic Web: Research and Applications, 2010.

Zemke, F., Witkowski, A., Cherniak, M., and Colby, L. Pattern matching in sequences of rows. Tech. Rep. 11,Technical Report ANSI Standard Proposal, 2007.

SBBD - Simpósio Brasileiro de Banco de Dados

64

Frank
Rectangle