GeoInfo 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 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 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 Geographic Ontologies Relationship through ontologies classes with typical geographic relationships São José dos Campos Campos do Jordão João Pessoa Northeast Region Near Within
GeoInfo System Architecture Our Problem: Different professionals of distinct research areas want to access the same GDB Our solution: Based on geographic ontologies
GeoInfo 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 General System Architecture Web Map Formulation Application Web Browser User Interface Semantic Layer OWLJENA PostgreSQL PostGIS Geographic Database
GeoInfo 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 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 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 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 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 Semantic Layer Modules Query Preparation Module This module will identify and store the key terms of the query
GeoInfo 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 Semantic Layer Modules Comparative Module The 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 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 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 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 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 Developed Ontologies Geologist Ontology
GeoInfo 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 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 stored on our database…
GeoInfo 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 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 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 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 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 coral reef surround
GeoInfo 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 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 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 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-consolidate substrate sandgravelmud
GeoInfo Look for classes similar to sand, gravel and mud on the geologist ontology Prototype Query Example - Biologist no-consolidate substrate sandgravelmud sediment sand Benthic region has Obio Ogeo
GeoInfo 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_cascalho FROM areia, cascalho, lama AS foo USING UNIQUE oid USING SRID = -1
GeoInfo 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 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 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 Viegas Valéria G. Soares