Querying a Geographic Database using an Ontology-Based Methodology Renata Viegas Valéria G. Soares...
-
Upload
nicholas-rogers -
Category
Documents
-
view
216 -
download
3
Transcript of Querying a Geographic Database using an Ontology-Based Methodology Renata Viegas Valéria G. Soares...
Querying a Geographic Database using an Ontology-
Based Methodology
Renata ViegasValéria G. Soares
[email protected]@ppgsc.ufrn.br
GeoInfo 2006 2
Summary
• MotivationMotivation• System Architecture
• Semantic Layer
• Application Domain • Conclusion
GeoInfo 2006 3
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 4
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 5
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 6
Geographic Ontologies
• Relationship through ontologies classes with typical geographic relationships
São José dosCampos
Campos do Jordão
JoãoPessoa
NortheastRegion
Near
Within
GeoInfo 2006 7
Summary
• Motivation• System ArchitectureSystem Architecture
• Semantic Layer
• Application Domain • Conclusion
GeoInfo 2006 8
System Architecture
• Our Problem:• Different professionals of distinct
research areas want to access the same GDB
• Our solution:• Based on geographic ontologies
GeoInfo 2006 9
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 10
General System Architecture
Web Map Formulation
Application
Web Browser User Interface
Semantic LayerOWLOWL JENAJENA
PostgreSQL
PostGISGeographic Database
GeoInfo 2006 11
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 12
Query Process
QUERY USER
PHP
Java / Jena
QueryManagement
Users, Concepts, Terms
Database Request
Users Ontology
GDB Ontology
GDB
Semantic Layer
GeoInfo 2006 13
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 14
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 15
Semantic Layer
Users Management
Module
Query Preparation
Module
Ontologies Management
Module
Comparative Module
QueryGeneration
Module
OWL
DictionaryGeneration
Module
GeoInfo 2006 16
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 17
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 18
Semantic Layer Modules
• Query Preparation Module• This module will identify and store the
key terms of the query
GeoInfo 2006 19
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 20
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 21
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 22
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 23
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 24
Summary
• Motivation• System Architecture
• Semantic Layer
• Application DomainApplication Domain • Conclusion
GeoInfo 2006 25
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 26
Developed Ontologies
• Geologist Ontology
GeoInfo 2006 27
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 28
Prototype 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 storedon our database…
GeoInfo 2006 29
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
dip in the sea
floating boat
natural pool
around
within
GeoInfo 2006 30
• 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
Prototype Query Example - Tourist
GeoInfo 2006 31
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 32
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
• The class “natural pool” is not found
floating boat
Reef anchor
GeoInfo 2006 33
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”
naturalpool
coral reefsurround
GeoInfo 2006 34
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 35
Results
GeoInfo 2006 36
Results
GeoInfo 2006 37
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 38
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 39
Prototype 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”
no-consolidatesubstrate
sand gravel mud
GeoInfo 2006 40
• Look for classes similar to “sand”, “gravel” and “mud” on the geologist ontology
Prototype Query Example - Biologist
no-consolidatesubstrate
sand gravel mud
sediment
sand
Benthic region
has
Obio Ogeo
GeoInfo 2006 41
Prototype 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_cascalhoFROM areia, cascalho, lamaAS foo USING UNIQUE oid USING SRID = -1
GeoInfo 2006 42
Results
GeoInfo 2006 43
Results
GeoInfo 2006 44
Summary
• Motivation• System Architecture
•Semantic Layer• Application Domain • ConclusionConclusion
GeoInfo 2006 45
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 46
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 47
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.
Querying a Geographic Database using an Ontology-
Based Methodology
Renata ViegasValéria G. Soares
[email protected]@ppgsc.ufrn.br