Title: Semantic Interoperability in GIS
1Semantic Interoperability in GIS
- N. L. Sarda
- Suman Somavarapu
2The Need for Interoperability
- Many sources are collecting and storing
geographic data. - Effective utilization only if data is sharable
and interoperable. - Existing Solution
- Open standards for interoperation of GIS.
- GML - Data interchange standard for geographic
data. - WFS, WMS - Geospatial Web Service interfaces.
- Does not address Semantic heterogeneities.
3The Semantics Problem
- Different entities names same meaning.
- Same entities name different meaning.
- Different classification hierarchies.
4Our Solution - SANGAM
- SemANtic Geographic data Access Methodology
- Use Ontologies to capture the semantics of the
information and to make the content explicit - Identify and associate semantically corresponding
information concepts. (Ontology Mapping) - Check consistency of the mappings using ontology
reasoners. (Mapping Validation).
5Our Solution - SANGAM
- Use the Ontology Mappings to generate XQuery
transformations for data conversion. (Wrapper
Generation). - Accept data requests, transform them according to
sources. - Apply wrappers on the data got from sources and
return merged data (Data Extraction).
6Outline
- Ontologies and Ontology Mapping
- Ontology Reasoning
- Wrapper Generation
- Data Extraction
- Results and Analysis
7Ontologies
- An explicit specification of a shared
conceptualization. - Defined using the concepts of
- Classes
- Data and Object Properties
- Constraints and Axioms
8Geographic Ontology Model
9Ontology Mapping
- Reconciling differences between heterogeneous
ontologies - Class Level Equivalent, Subclass, Superclass etc
- Eg Student gt Graduate Student
- Data Properties Equivalence, Aggregation,
Concatenation, Transformation etc - Eg RoadLength(in Km) RoadLength(in m)1000.
- Name ? Firstname . Lastname
- Object Properties Equivalence, Union,
Categorization
10Mapping Process
- Generation of lexical similarity
- Parts of speech tagging
- Semantic similarity between two words
- Semantic similarity between two descriptions
- Propagation of superclass and attribute
similarity - Propagation of subclass similarity
- Similar mappings.
11Generation of lexical similarity
- WordNet - Semantic relations
- A lexical reference system.
- Nouns, verbs, adjectives and adverbs are
organized into synonym sets. - Each synonym set or synset represents one
underlying lexical concept. - Synsets are connected to one another through the
explicit semantic relations.
12User Interaction in Ontology Mapping
13Layer Level Mapping
14Attribute Level Define Transformations
15Mapping Validation
- 1. Convert Ontology to OWL using XSLT
- 2. Use JENA Model Factory to generate a model
instance - 3. Set an external OWL reasoner (Pellet)
- 4. Provides inconsistencies as output.
16OWL and Jena
- OWL- Web Ontology Language standard for
representing - ontologies in machine readable form.
- Constructs of classes and properties like Class,
subClassOf, - Property, subPropertyOf, equivalentClass,
equivalentProperty - Jena is a Java framework for building Semantic
Web applications. - Provides a programmatic environment for RDF, RDFS
and OWL. - Includes a rule-based inference engine. External
reasoners can be plugged in.
17Converting the Ontologies to OWL
- 1. Create owlOntology element with the rdfLabel
as Source name. - ltowlOntology rdfabout""gt
- ltrdfslabelgtTransportationlt/rdfslabelgt
- lt/owlOntologygt
- 2. For each class which doesnt have any parent
- ltowlClass rdfID"Road"/gt
- 3. For each class which has a parent
- ltowlClass rdfID"RoadPoint"gt
- ltrdfssubClassOf rdfresource"TransportationPoint
"/gt - lt/owlClassgt
18Converting the Ontologies to OWL
- For each Data Property
- ltowlDatatypeProperty rdfID"length"gt
- ltrdfsdomain rdfresource"Road"/gt
- ltrdfsrange rdfresource"xsdpositiveInteger"/gt
- lt/owlDatatypePropertygt
- For each Object Property
- ltowlObjectProperty rdfID"spannedBy"gt
- ltrdfsdomain rdfresource"Bridge"/gt
- ltrdfsrange rdfresource"Lake"/gt
- lt/owlObjectPropertygt
19Converting the Ontology Mappings to OWL
- Create a owlOntology element with the imports
for Source and Target ontology. - ltowlOntology rdfabout""gt
- ltrdfslabelgt Integration of OGC and Ordnance
Survey - ltowlimports rdfresource"S229.owl" /gt
- ltowlimports rdfresource"S9.owl" /gt
- lt/owlOntologygt
- For each class in the source ontology get it
mappings - If the mapping is of the type equivalent then
- ltowlClass rdfabout"RoadNode"gt
- ltowlequivalentClass rdfresource"RoadPoint"/gt
- lt/owlClassgt
20Converting the Ontology Mappings to OWL
- 1. If the mapping is of the type SubClassOf then
- ltowlClass rdfabout"RoadNode"gt
- ltrdfssubClassOf rdfresource"RoadPoint"/gt
- lt/owlClassgt
- 2. If the mapping is of type SuperClassOf then
- ltowlClass rdfabout"RoadPoint"gt
- ltrdfssubClassOf rdfresource"RoadNode"/gt
- lt/owlClassgt
21Converting the Ontology Mappings to OWL
- 1. For each Data Property in the source ontology
- ltowlDatatypeProperty rdfabout""gt
- ltowlequivalentProperty rdfresource"RoadPoint"/
gt - lt/owlDatatypePropertygt
- 2. For each Object Property in source ontology
- ltowlObjectProperty rdfabout""gt
- ltowlequivalentProperty rdfresource"RoadPoint"/
gt - lt/owlObjectPropertygt
22Wrapper Generation
- Ontology Mappings can be seen as abstract
specification of relationships between ontology
entities - Wrapper gives the rules for converting the data
according to one schema into that of according to
another schema. - Data from different sources will be in GML form,
which is XML based. - So, we generate XQuery transformations for
achieving this.
23Source Ontology
Target Ontology
Ontology
Wrapper
Mapper
24Wrapper Generation
Onto1.feature1 Onto2.feature1
Onto1.feature1 Onto2.feature2
. . . . . . .
Rules written in xQuery format
Rules generated by semantic matching
(semi-automatic)
Onto1.featureM Onto2.featureN
25Attribute - Simple Equivalence
XQuery Template
26Attribute - Transformation
XQuery Template
27Class - Simple Equivalence
XQuery Template
28Class - Subclass
XQuery Template
29Class - Superclass
XQuery Template
30Wrapper Generation
- Start with Source node call the
RecursiveXQueryGen - If Source
- 1 Get all First level layers
- 2 Get all direct Classes of the source
- 3 Start the XQuery template for Source
- 4 Take each layer collected and recurse
- 5 Take each class collected and recurse
- 6 End template for Source
31Wrapper Generation
- If Layer
- 1. Get all its Sub layers
- 2. Get all its Classes
- 3. Check for its Mappings
- 4. Start the xQuery template for each layer
accordingly - 5. Take each layer collected and recurse
- 6. Take each class collected and recurse
- 7. End template for Layer
32Wrapper Generation
- If Class
- 1. Get all its Sub Classes
- 2. Get all its Attributes
- 3. Check for its Mappings
- 4. Start xQuery template for each class
accordingly - 5. Take each attribute collected and recurse
- 6. End template for Class
- 7. Take each class collected and recurse
33Wrapper Generation
- If Attribute
- 1. Get the Mapping type
- 2. Process the User Transformation
- 3. Generate the XQuery accordingly
34Data Extraction
Wrapper
Data1, Data2
(Changes the structure of data)
Source Ontology Source Data
Data1, Data2
Target Ontology Source Data
35Data Extraction
- Data Extraction involves getting the actual data
from the - data sources and then applying the
transformation. - We provide an interface for querying the data at
feature level. - For the features requested, their mappings are
identified and then WFS Requests are generated
for different data sources to get the GML data. - Transformations are applied on the data got from
different sources and the merged data is given to
the user.
36Data Request and its Transformation
- Data request will consists of
- a) list of features
- b) Coordinates of bounding box
- Identify the data sources with which the data
consumers ontology is mapped. - For each data source with which there exists a
ontology - mapping,
- Check mappings for the features in the data
request. - Add all the features in mappings for that
particular source.
37Experiments
- Experiments using ontologies of Ordnance Survey
and OGC for the transportation domain - Lexical and Propagated similarity values are
taken and compared with human generated values - For human generated similarity values three
Scores for every pair of classes - Based on English meaning of the words.
- Reflexive of Superclass similarity
- Reflexive of Subclass and attribute similarity
38Analysis
- False Positives (the error of rejecting
something that should have been accepted e.g.,
such as finding an innocent person guilty) - 12.3 at t threshold of 0.50
- 36.9 at a threshold of 0.40.
- Mainly seen in the cases where parts of the
target class name existed as a part of the
source class name. - False Negatives (the error of not rejecting
something that should have been rejected e.g.,
such as finding a guilty person innocent) - 4 percent at a threshold of 0.30
- (25) in the top 20 class matches based on human
generated similarity values.
39Analysis
40Conclusion
- Semantic Heterogeneity is the key challenges for
GIS Interoperability. - Lexical similarities of schema element labels and
descriptions can help in ontology mapping. - Similarity propagation based on heuristics allows
- integration of implicit semantics of the
ontology structure and hence improves the
mapping. - Mapping Validation, Wrapper Generation, Data
Extraction components further help in having a
End-to-End framework for GIS Interoperability
41