Transcript Slide 1

Querying a Geographic Database
using an Ontology-Based
Methodology
Renata Viegas
Valéria G. Soares
[email protected]
[email protected]
Summary
• Motivation
• System Architecture
• Semantic Layer
• Application Domain
• Conclusion
GeoInfo 2006
2
Motivation
• 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.
GeoInfo 2006
3
Motivation
• Semantic interoperability
• A geographic feature could have more than
one description;
• Interoperability based on the use of
ontologies as being a knowledge database
type.
GeoInfo 2006
4
Motivation
• 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
GeoInfo 2006
5
Geographic Ontologies
• Relationship
through
classes with typical
relationships
Campos do
Jordão
João
Pessoa
Near
Within
GeoInfo 2006
ontologies
geographic
São José dos
Campos
Northeast
Region
6
Summary
• Motivation
• System Architecture
• Semantic Layer
• Application Domain
• Conclusion
GeoInfo 2006
7
System Architecture
• Our Problem:
• Different professionals of distinct research
areas want to access the same GDB
• Our solution:
• Based on geographic ontologies
GeoInfo 2006
8
System 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.
GeoInfo 2006
9
General System Architecture
Web Browser User
Interface
Application
Web Map Formulation
OWL
JENA
Semantic Layer
PostGIS
Geographic Database
PostgreSQL
GeoInfo 2006
10
Query 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.
GeoInfo 2006
11
Query Process
QUERY
USER
GDB
Query
Management
PHP
Database
Request
Users,
Concepts,
Terms
Semantic
Layer
Java /
Jena
Users
Ontology
GDB
Ontology
GeoInfo 2006
12
Detailing 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.
GeoInfo 2006
13
Detailing 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.
GeoInfo 2006
14
Semantic Layer
Users
Management
Module
Query
Preparation
Module
Ontologies
Management
Module
Comparative
Module
OWL
Query
Generation
Module
Dictionary
Generation
Module
GeoInfo 2006
15
Semantic 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.
GeoInfo 2006
16
Semantic 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.
GeoInfo 2006
17
Semantic Layer Modules
• Query Preparation Module
• This module will identify and store the key
terms of the query
GeoInfo 2006
18
Semantic 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
GeoInfo 2006
19
Semantic Layer Modules
• Comparative Module
• The <owl:sameAs> tag is used when we have
different nomenclatures that refers to a same
entity
• A typical use of owl:sameAs is for ontologies’
unification, to say that two individuals classes,
defined in different documents, are equals.
GeoInfo 2006
20
Semantic 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.
GeoInfo 2006
21
Semantic 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.
GeoInfo 2006
22
Semantic 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.
GeoInfo 2006
23
Summary
• Motivation
• System Architecture
• Semantic Layer
• Application Domain
• Conclusion
GeoInfo 2006
24
Application: 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.
GeoInfo 2006
25
Developed Ontologies
• Geologist Ontology
GeoInfo 2006
26
Developed 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).
GeoInfo 2006
27
Prototype Query Example
• Example: A tourist wants to “find the
best area for dip in the sea nearby
the coral reefs”
This information is not stored
on our database…
• Activated ontologies for this query: the
geologist (Ogeo) and the tourist (Otur)
GeoInfo 2006
28
Prototype 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
floating
boat
dip in
the sea
natural
pool
GeoInfo 2006
29
Prototype 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
GeoInfo 2006
30
Prototype 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)
GeoInfo 2006
31
Prototype 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
floating
boat
anchor
Reef
• The class “natural pool” is not found
GeoInfo 2006
32
Prototype 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”
natural
pool
surround
coral reef
GeoInfo 2006
33
Prototype 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_cabeco, 10) AS geom_cabeco
FROM flutuante, corpo_coralineo
AS foo USING UNIQUE oid USING SRID = -1
GeoInfo 2006
34
Results
GeoInfo 2006
35
Results
GeoInfo 2006
36
Prototype 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)
GeoInfo 2006
37
Prototype 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
GeoInfo 2006
38
Prototype Query Example - Biologist
• Steps:
• The comparative module finds that the “noconsolidate substrate” class has sub-classes
(relationship ISA) with the classes: “sand”,
“gravel” and “mud”
no-consolidate
substrate
sand
gravel
GeoInfo 2006
mud
39
Prototype Query Example - Biologist
• Look for classes similar to “sand”, “gravel” and
“mud” on the geologist ontology
Benthic
region
no-consolidate
substrate
has
sediment
sand
gravel
mud
sand
Ogeo
Obio
GeoInfo 2006
40
Prototype Query Example - Biologist
• Steps:
• The conceptual similarity is found
• The Query Generator Module will
this following SQL query clause
construct
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
GeoInfo 2006
41
Results
GeoInfo 2006
42
Results
GeoInfo 2006
43
Summary
• Motivation
• System Architecture
• Semantic Layer
• Application Domain
• Conclusion
GeoInfo 2006
44
Conclusions
• 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.
GeoInfo 2006
45
Conclusions
• 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.
GeoInfo 2006
46
Conclusions
• 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.
GeoInfo 2006
47
Querying a Geographic Database
using an Ontology-Based
Methodology
Renata Viegas
Valéria G. Soares
[email protected]
[email protected]