Title: Querying a Geographic Database using an OntologyBased Methodology
1Querying a Geographic Database using an
Ontology-Based Methodology
- Renata Viegas
- Valéria G. Soares
valeria_at_di.ufpb.br renata_at_ppgsc.ufrn.br
2Summary
- Motivation
- System Architecture
- Semantic Layer
- Application Domain
- Conclusion
3Motivation
- GIS are multidisciplinary systems
- Geographic features are collected and stored in
GIS that were modeled based on a specific
researcher vision. - Current GIS must be able to solve the semantic
interoperability.
4Motivation
- Semantic interoperability
- A geographic feature could have more than one
description - Interoperability based on the use of ontologies
as being a knowledge database type.
5Motivation
- Geographic Ontologies
- A geographic ontology is a conceptualization of a
phenomenon or geographic object in the real
world. - Characteristics of geographic objects must be
embodied to the ontology - Location
- Topology
- Direction
6Geographic Ontologies
- Relationship through ontologies classes with
typical geographic relationships
São José dos Campos
Campos do Jordão
Near
Within
João Pessoa
Northeast Region
7Summary
- Motivation
- System Architecture
- Semantic Layer
- Application Domain
- Conclusion
8System Architecture
- Our Problem
- Different professionals of distinct research
areas want to access the same GDB - Our solution
- Based on geographic ontologies
9System Architecture
- The semantic layer intermediates the users
queries with the geographic database - Each one of the users community could interact
with the system using only specific terms of its
research area, and could receive its queries
answers in an appropriate way.
10General System Architecture
11Query Process
- The user query will be submitted
- The system will recognize the used terms.
- The next step is to look for the terms and
concepts used in this query, in the users
ontology - comparing the ontology with the GDB ontology,
looking for equivalent concepts.
12Query Process
QUERY USER
Query Management
Database Request
PHP
Users, Concepts, Terms
Semantic Layer
Java / Jena
Users Ontology
GDB Ontology
13Detailing the Semantic Layer
- Step 1 Define the ontologies
- Step 2 Bind definition between the classes of
the different ontologies - The result of this binding process is a formal
structure with expressions that show which terms
of each ontology is related to others terms of
another ontology.
14Detailing the Semantic Layer
- Mapping synonyms classes
- Synonym classes are classes whose concepts have
the same meaning, independent of their given
names, that are related of the specific knowledge
of each community. - Ontologies Manipulation
- We use Jena API to generate graphs RDF, which is
represented by resources, properties and
literals - From the Jena API methods we can manipulate and
compare the ontologies.
15Semantic Layer
16Semantic Layer Modules
- Users' Management Module
- The first step to submit a query is to inform
which type of user wants to interact with the
system - The system will show a pay-define queries
interface, with only specific terms of this type
of users, based on the defined ontologies.
17Semantic Layer Modules
- Ontologies Management Module
- Activate ontologies
- User ontology and the ontology that represents
the contents of the GDB - The ontologies are stored in ontologies server,
and are accessed through their URLs - Methods of the Jena API will be used to construct
the graphs (models) of the ontologies.
18Semantic Layer Modules
- Query Preparation Module
- This module will identify and store the key terms
of the query
19Semantic Layer Modules
- Comparative Module
- Search of similar terms in the ontologies
- The similarity is defined manually, based on the
interviews with professionals of the different
areas - The OWL Tags
- equivalentClass and sameAs
20Semantic Layer Modules
- Comparative Module
- The ltowlsameAsgt tag is used when we have
different nomenclatures that refers to a same
entity - A typical use of owlsameAs is for ontologies
unification, to say that two individuals classes,
defined in different documents, are equals.
21Semantic Layer Modules
- Comparative Module
- Methods of the Jena API treat the similarities
binding classes of an ontology to another one - The getSameAs() method, by the OntResource
interface, is used to find the similar classes in
the ontologies.
22Semantic Layer Modules
- Query Generation Module
- Mount the query that will be submitted to the
database - Use the terms found in the search for the
similarity, as well as the relationship used in
the query interface.
23Semantic Layer Modules
- Dictionary Generation Module
- Mount a detailed text, with the key terms of the
query, supplying to the user descriptions about
the geographic features involved in his queries.
24Summary
- Motivation
- System Architecture
- Semantic Layer
- Application Domain
- Conclusion
25Application Coral Reef Domain
- Geographic Domain Coral Reefs
- We have three different communities geologists,
biologists and tourists - Development of three different ontologies for
each one of these communities. - The ontologies give support to the construction
of adaptable interfaces for each community.
26Developed Ontologies
27Developed Ontologies
- We also have developed ontology for the
biologists community and tourists community - The geologist ontology is the same of the
geographic database ontology (GDB).
28Prototype Query Example
- Example A tourist wants to find the best area
for dip in the sea nearby the coral reefs - Activated ontologies for this query the
geologist (Ogeo) and the tourist (Otur)
This information is not stored on our database
29Prototype Query Example - Tourist
- Steps
- Look for the term dip in the sea on the tourist
ontology - We defined in the Otur that a tourist could dip
in the sea around the floating boats or within
the natural pools
30Prototype Query Example - Tourist
- Look for an equivalent term on the geologist
ontology - No similar class to dip in the sea could be
found in the Ogeo at this point
31Prototype Query Example - Tourist
- Steps (Continue)
- Go down one more step on the tourist ontology
- Verify if there is more information in the
relationships between classes or subclasses - dip in the sea appears in the tourist ontology
with properties that bind this class to other
ones in the ontology - The property within binds the class dip in the
sea (domain) to the class natural pool (range) - The property "surround", binds the class dip in
the sea (domain) to the class floating boats
(range)
32Prototype Query Example - Tourist
- Steps (Continue)
- the system will search now for classes similar to
natural pool and floating boats on the
geologist ontology - The class floating boats is defined on both the
tourist ontology Otur and the geologist ontology
Ogeo - The class natural pool is not found
33Prototype Query Example - Tourist
- Steps (Continue)
- The Comparative Module goes down one more step in
the graph generated from the tourist ontology,
looking for relationships between classes - The relationship is found Natural pools
surround Coral Reef
34Prototype Query Example - Tourist
- Steps (Continue)
- The query that will be submitted to the GDB is
show all the areas that surround the floating
boats and the coral reefs bodies
SELECT buffer (flutuante.flutuante_geom, 10) AS
flutuante_geom, buffer(corpo_coralineo.geom_cabe
co, 10) AS geom_cabeco FROM flutuante,
corpo_coralineo AS foo USING UNIQUE oid USING
SRID -1
35Results
36Results
37Prototype Query Example - Biologist
- A biologist wants to know where he could find no
consolidate substrates on the coral reef region - Activated ontologies for this query the
biologist (Obio) and the geologist (Ogeo)
38Prototype Query Example - Biologist
- Steps
- Look for the no-consolidate substrate class in
the Obio ontology - Look for class similarities on the definition of
this class - The class no-consolidate substrate in the
biologist ontology has no similar class in any
other ontology - The comparative module will go down one more
level, verifying whether the no-consolidate
substrate class has some relationships with
others classes or has sub-classes
39Prototype Query Example - Biologist
- Steps
- The comparative module finds that the
no-consolidate substrate class has sub-classes
(relationship ISA) with the classes sand,
gravel and mud
40Prototype Query Example - Biologist
- Look for classes similar to sand, gravel and
mud on the geologist ontology
41Prototype Query Example - Biologist
- Steps
- The conceptual similarity is found
- The Query Generator Module will construct this
following SQL query clause
SELECT geom_areia AS geom_areia, geom_lama AS
geom_lama, geom_cascalho AS
geom_cascalho FROM areia, cascalho, lama AS foo
USING UNIQUE oid USING SRID -1
42Results
43Results
44Summary
- Motivation
- System Architecture
- Semantic Layer
- Application Domain
- Conclusion
45Conclusions
- Summary of Contributions
- Development of the ontologies for the coral reef
domain, based on three points of view of
different communities the geologists community,
the biologists and the tourists - We choose a natural environment of coral reefs
because no other proposal makes use of semantic
terms with this kind of geographic databases.
46Conclusions
- Summary of Contributions
- An ontology-based mechanism allows different
users communities, through geographic
ontologies, to access the same database, without
knowing its internal structure - With only one database implementation and the
definition of different communities ontologies,
anyone can search the database, in a transparent
way, using a specific interface.
47Conclusions
- Summary of Contributions
- A Framework for this mechanism
- The Semantic Layer can be adapted to any spatial
domain of multidisciplinary interest. - Future Work
- Extend this Architecture
- Bind the classes automatically
- Define ranking of similarities between the
classes.
48Querying a Geographic Database using an
Ontology-Based Methodology
- Renata Viegas
- Valéria G. Soares
valeria_at_di.ufpb.br renata_at_ppgsc.ufrn.br