• No results found

Como a maioria das ontologias do modelo SeCoM, a ontologia Spatial foi inicial- mente construída para representar informações, neste caso de localização, rela- cionadas ao domínio de ensino universitário. Em suas primeiras versões, esta ontologia continha conceitos como salas de aula e de estudos, laboratório de ensino, etc [Bulcão Neto & Pimentel, 2004].

Ao decidir por um modelo independente de domínio para computação sensível a contexto, o autor deste trabalho passou a construir a ontologia Spatial para representar informações de localização que abrangessem uma maior variedade de aplicações sensíveis a contexto. A ontologia Spatial apresenta as seguintes diretrizes de projeto:

1. Representação da localização de entidades em um espaço físico ou virtual; 2. Representação de relações mereológicas entre espaços físicos ou virtuais; 3. Representação de relações espaciais entre espaços físicos ou virtuais; 4. Múltiplas representações de informação de localização para espaços físicos; 5. Associação de informação de localização a conceitos do modelo SeCoM, no

sentido de permitir inferências sobre relacionamentos espaciais entre entidades de um ambiente de computação sensível a contexto.

A Figura 4.4 ilustra a ontologia Spatial e suas principais classes, atributos e relações [Bulcão Neto & Pimentel, 2005; 2006a].

4.4.1 Descrição semântica

A principal classe da ontologia apresentada na Figura 4.4 é a classe SpatialThing, que descreve qualquer tipo de entidade que contenha uma extensão espacial, quer seja uma extensão de espaço físico (classePhysicalLocation), quer seja uma extensão de espaço virtual (classeVirtualLocation). Daí, a classeSpatialThingser formada pela união das classes PhysicalLocation e VirtualLocation. Dessa forma, é possível representar a partir do modelo SeCoM quaisquer entidades que possuam uma extensão espacial, seja um espaço físico (ex: sala de reunião) ou virtual (ex: sala de chat) [Bulcão Neto et al., 2005b]. Assim, atende-se à diretriz 1 de projeto da ontologia Spatial. A separação entre elementos que possuem extensão espacial e as próprias localidades físicas e virtuais permite que outros elementos possam ser definidos a partir desta ontologia, tais como a descrição de eventos espaciais realizada na ontologia Spatial Event, descrita na seção seguinte, o que permite assim atender à diretriz 5 de projeto da ontologiaSpatial.

4.4. ONTOLOGIA SPATIAL 71

Figura 4.4: Ilustração da ontologiaSpatial.

Duas relações mereológicas são definidas entre indivíduos da classeSpatialThing: a relação isPartOf e sua relação inversacontains. A relação isPartOfé caracterizada como transitiva (owl:TransitiveProperty), ou seja, se um indivíduo A é parte de um indivíduo B que, por sua vez, é parte de um indivíduo C, todos indivíduos da classe SpatialThing, então pode-se afirmar que A é parte de C. O mesmo se aplica com respeito à relação

contains. Ou seja, por meio dessas duas relações é possível determinar relações parte-todo entre entidades com extensão espacial, atendendo à diretriz 2 de projeto.

Indivíduos da classe SpatialThing possuem o atributo hasName que lhes associam um nome descritivo. O valor que esse atributo assume segue a notação do tipo de dados cadeia de caracteres (xsd:string) do padrão XML Schema. Além de herdarem o atributo hasName e as relações mereológicas supracitadas, indivíduos da classe

PhysicalLocation possuem o atributo hasLocationCoordinates, que descreve que cada localização física pode apresentar, no máximo, três coordenadas de localização geográfica obtidas a partir da classeGeographicCoordinatese suas subclassesLatitude,

Longitude eAltitude. O atributo hasGeoCoordinateValue armazena o valor dessas três coordenadas geográficas segundo a notação do tipo de dados número real (xsd:float) do XML Schema. Coordenadas geográficas baseadas em latitude e longitude necessitam do atributo hasGeoOrientation para associar a direção geográfica correspondente (ex: norte, oeste, etc.). A classe GeographicOrientationfornece essa informação no formato de uma enumeração de indivíduos que representam pontos cardeais e colaterais.

A classe PhysicalLocation possui duas subclasses: GeographicLocation e Adminis- trativeRegion. A classe GeographicLocation representa espaços físicos delimitados ou não por um prédio, caso dos indivíduos das classesIndoorLocation eOutdoorLocation, respectivamente. A classeGeographicLocationfornece as relações espaciaisisConnect- edTo, overlapsSpatially e meetsSpatially para descrever espaços físicos quanto as suas adjacências e sobreposições. Todas essas relações espaciais são modeladas como simétricas, ou seja, se um espaço físico A é adjacente a um espaço físico B, então este é também adjacente ao espaço físico A. Dessa forma, atende-se à diretriz 3 de projeto da ontologia em questão.

A classe OutdoorLocation possui, basicamente, as subclasses Street e Park, cujos indivíduos representam ruas e praças, respectivamente. A classe IndoorLocation

possui quatro subclasses: a que modela estruturas físicas como prédios (classe

Building), a que representa andares de um prédio (classe Floor), a que modela salas (classe Room) e a que representa corredores (classe Corridor). Existem entre essas quatro classes mencionadas restrições quanto à relação mereológica contains e à relação espacial isConnectedTo: em alguns casos (owl:someValuesFrom), indivíduos da classe Building contêm indivíduos da classe Room que, por sua vez, também podem conter e estar conectados a indivíduos da mesma classe. Em alguns casos, indivíduos da classe Corridorestão conectados a indivíduos da classeRoom, enquanto que indivíduos da classe Floor eventualmente contêm indivíduos das classes Room e

Corridor.

A classe AdministrativeRegion, subclasse de PhysicalLocation, representa espaços físicos sob a visão de divisões administrativas, como cidade, estado ou província e país. Estes últimos são representados, respectivamente, pelas subclasses City,

StateOrProvince e Country. É possível relacionar regiões administrativas entre si por meio dos atributos isGeographicSubRegion e hasGeographicSubRegion. Indivíduos da classe AdministrativeRegion podem relacionar-se a indivíduos da classe GeographicLo- cationpor meio da relaçãohasLocationAddresse sua inversaisLocationAddressOf. Dessa forma, é possível associar espaços físicos, como prédios e ruas, a suas respectivas regiões administrativas, como cidade, estado e país. A decisão pela criação da classe

AdministrativeRegion dá-se em virtude da diretriz 4 de projeto da ontologiaSpatial. 4.4.2 Metodologia de desenvolvimento

A metodologia ONIONS de reúso de ontologias foi utilizada para o desenvolvimento da ontologiaSpatial. Duas ontologias da Web Semântica contribuíram fortemente com suas respectivas definições de termos que compuseram a ontologiaSpatial: a OpenCyc e a SWEET, ambas apresentadas na Seção 3.4.

Na busca por teorias que fornecessem uma fundamentação teórica à ontologia em questão, foi feito um estudo a respeito de relações mereológicas [Casati & Varzi, 1999],

4.5. ONTOLOGIA SPATIAL EVENT 73