•
June 26, 2003 GI-Tage 2003 Workshop
Workshop: Semantics in GDI
Werner Kuhn
Institute for Geoinformatics
June 26, 2003 Semantics in GDI 3
Goals
To work towards a better understanding of semantic problems in a GDI
To exchange information on use cases To exchange experiences with methods and tools
This is not a tutorial on semantic technologies – your contributions and questions are requested throughout the workshop.
June 26, 2003 Semantics in GDI 4
Overview
1. The problem Use case Analysis Generalization
2. Solution attempts Puzzle pieces Putting the pieces together Puzzling questions
June 26, 2003 Semantics in GDI 5
The Problem: a use case
Shortest path for oversized vehicle
June 26, 2003 Semantics in GDI 6
Perspective of a Service Developer
Input:• two locations: origin and destination
e.g., end of A43 to Schloss in Münster • vehicle and load specifications
total width, weight, min. radius for turns• other constraints
time, cost, safety
Output:• shortest path satisfying (some of) the constraints• driving instructions
June 26, 2003 Semantics in GDI 7
Searching for information
Road data• local government: MS_Strassen• state: ATKIS• industry: TeleAtlas MultiNet (GDF)
Navigation services• wayfinding web services: lack information• shortest path services: not available online• re-use existing local code (shortest path)• service chain with filter on graph
June 26, 2003 Semantics in GDI 8
What information can the data provide?Ergebnisse der erweiterten Suche:
XtraWMS - GDI Testbed IMapping Service: Straßendaten im NetzBeschreibung: Xtra Web Map Server von interactive instruments bereitgestellt für das GDI Testbed I. Der Server präsentiert das Netz der klassifizierten Straßen basierend auf dem OKSTRA-Standard im Bereich von sechs TK-Blättern im Raum Düsseldorf. WMS (1.1.0)Dienst erstellt: 2001-09-08 18:45:00Kontaktinteractive instruments GmbH, Reinhard Erstling, Geschäftsfü[email protected] Straße 70-7253115 BonnNRW, GermanyLage zeigenShowOperationsOnline Ressource aufrufenDer Zugang zu diesem Dienst ist nicht kostenpflichtig.
June 26, 2003 Semantics in GDI 9
From data files and documentation
MS_Strassen• polylines, a few attributes
ATKIS• ATKIS OK
several hundred pages, human-readable, online
• Teil D3 Verkehr: Objekttyp 3101 Strasselinienförmig
GN Geographischer NameBRF Breite der Fahrbahn “…setzt sich zusammen aus den Breiten der Fahrstreifen, der befestigten Rand-/Leitstreifen sowie der Stand- oder Kriechspuren (befestigte Straßenoberfläche)”
BRV Breite des Verkehrsweges“…Abstand der seitlichen Begrenzungslinien entsprechend der Objektdefinition in Form der jeweils oberen Grenzen der o.a. Klasseneinteilung”
...
June 26, 2003 Semantics in GDI 10
From data files and documentation (2)
TeleAtlas MultiNet• ISO Standard GDF (Geographic Data Files)
ca. 700 pages, to purchase from DIN
• Release Notes MultiNet Germany34 pages, to purchase with product
• MultiNet Data Specifications1249 pages, to purchase with product
• Roads and FerriesWidth (in cm): „The width of a Road Element ..., a lane or a Road Furniture or Structure Feature.“
Maximum Width Allowed (in cm): „The maximum width limit of a vehicle that may use the Road Element, ... The limit is normally set by a physical obstruction such as a bridge or a legal restriction.“
• Both attributes are not implemented in MultiNet
June 26, 2003 Semantics in GDI 11
What‘s left?
Take • road axes from GDF• road width (BRF) from ATKIS
Obtain both data sources• try to read them in your GIS• licensing
Build service architecture Build navigation service
12 Semantics in GDIJune 26, 2003
ATKISGDF MulitNet
Middleware
Servlet Engine
Web Feature Server
Middleware
Servlet Engine
Web Feature Server
WFS ClientFilter ServiceNavigation Services
Navigation Client (Browser)
GML
Java FeatureCollectionJava FeatureCollection
HTMLOpenGIS Components
Architecture for Multi-source Navigation Chain
June 26, 2003 Semantics in GDI 13
Caveats
„schema integration“, „data integration“ „data interoperability“ Semantics of road width Semantics of passable Information Communities vs. natural languages Feature identity in geographic data Data quality (completeness, currency, ...)
June 26, 2003 Semantics in GDI 14
A Summary of Semantic Problems
Specify the meaning of the question• „passable for oversized transport“: width? turns? weight? noise?
Find data with potentially useful contents• ATKIS, ALKIS, GDF, OKSTRA, ...
Find services with potentially useful functionality• shortest path, filter, ...
Determine the meaning of feature classes• road, „komplexe Strasse“, ...
Determine the meaning of attributes• „Breite der Fahrbahn“, „Breite des Verkehrsweges“, „maximum width allowed“
Determine the meaning of service operators• shortest path
Semantic interoperability problems
e.g., building heights from floors
e.g., directions from graphs e.g., parcels touching a road
data-service service-service service-user
June 26, 2003 Semantics in GDI 16
Solution Attempts
A vision Pieces of the puzzle
• Metadata• Catalog services• Ontologies• Reasoning systems• Semantic translators
June 26, 2003 Semantics in GDI 17
Vision
Users of geographic information should be able to refer thematic data to semantic reference systems, just as they refer geometric data to spatial reference systems.
Software should support the referencing process projections to simpler semantic spaces semantic translation among different reference systems.
June 26, 2003 Semantics in GDI 18
Semantic Reference Systems
Spatial Reference System [ISO 19112]
„system for identifying positions in the real world“e.g., geodetic reference systems
Temporal Reference System [ISO 19108]
„basis against which time is measured“e.g., calendars
Semantic Reference System [t.b.d.]
basis on which thematic data are interpreted:‚forest‘, ‚wetland‘‚ ‚road width‘ etc.e.g., ontologies
June 26, 2003 Semantics in GDI 19
Semantic Reference Systems
Methods and tools for referencing GI terms by
• grounding (e.g. “move”)
• projecting (e.g. ferries and roads to edges)
• translating (e.g. cadastre to navigation)
June 26, 2003 Semantics in GDI 20
What we have today
multiple semantic reference systems• explicit (ontologies, FACs)• implicit (in data models, programs, procedures)
a proliferation of tools (e.g., XML-based)• exposing semantics (“mark-up language du jour”)• designing representation before computation (Roman numerals)
unclear theoretical bases• ontologies are theories without testable models• they often lack a (sound) typing system and/or axioms• upper levels are ill-defined
need for theory and tools:• explaining the meaning of terms in (geographic) information• to integrate (geographic) information from different sources
June 26, 2003 Semantics in GDI 21
Ontologies: specifications of concepts in a domain
CAP landuse code CAP landuse label
1 Urban
1.A Urban; Residential
1.A.0.a Urban; Residential; Single family
... ...
#| ATKIS-Objektartenkatalog (ATKIS-OK) | Seite Blatt | Stand |#| Teil D1: ATKIS-OK 25 | 62.1 1 ( 2) | 01.11.1995 |#|______________________________________|________________|____________|#| Nr. Objektbereich | Nr. Objektgruppe |#| 6000 RELIEF | 6200 Besondere Geländeoberflächenformen |#|____________________|_______________________________________________|#| Nr. Objektart | Nr. |#| 6201 Damm, Wall, Deich | 6201 |#|_____________________________________________________________|______|
[Visser et al.]
June 26, 2003 Semantics in GDI 23
clc: CORINE Land Cover categories
1.2 Industrial, commercial and transport units
1.2.1 Industrial or commercial units
1.2.2 Road and rail networks & associated land
1.2.3 Port areas
1.2.4 Airports
1.4 Artificial, non-agricultural vegetated areasCO
RIN
E L
and
Cov
er
June 26, 2003 Semantics in GDI 24
What it takes
Spatial and temporal reference systems have•well-known systems of measures and units
e.g, lengths, angles, time
•well-known algebras for these measures e.g., modulo arithmetic for angles
•tools for projection and transformatione.g., map projections, coordinate transformations
Semantic reference systems need •formalizations of the kind that Descartes provided for space
using algebraic specifications (equational theories)
•mappings among the resulting formal systemsusing category theory (morphisms)
June 26, 2003 Semantics in GDI 25
An ontology editor: Protégé
entity-relationship modeling based on frame logic pre- and post-conditions for operators interface to Java open source good usability unclear theoretical bases
• classes vs. Instances (vs. Java classes), • contents of pre- and post-conditions
June 26, 2003 Semantics in GDI 26
:THING •:SYSTEM-CLASS
•:CLASS •:STANDARD-CLASS
•:SLOT •:STANDARD-SLOT
•:FACET •:STANDARD-FACET
•:CONSTRAINT •:PAL-CONSTRAINT
•:ANNOTATION •:INSTANCE-ANNOTATION
•:RELATION •:DIRECTED-BINARY-RELATION
•Coordinate •AttributeInstanceCollection
•FeatureAttributeInstanceCollection •RoadsAndFerriesInstanceCollection
•NestedFeature •Level_0
•Node •Edge
•NestedEdge •Level_1
•LineFeature •PointFeature •Junction •LineElement
•FerryConnection •RoadElement
•Level_2 •ComplexFeature •Road •Ferry •Intersection
June 26, 2003 Semantics in GDI 27
Class Level_2
Abstract Class Extends :THING
Direct Instances:
None
Direct Subclasses: 1.ComplexFeature 2.Road 3.Ferry 4.Intersection
June 26, 2003 Semantics in GDI 28
DAML-S: a proposal for a service description language
Building on OWL (formerly DAML+OIL) to deliver the semantics missing in WSDL and other
syntactic service descriptions (IDL) service profiles with model-based pre- and post-
conditions based on RDF Clearly a language for exposing semantics Unclear:
• relationship to domain ontologies?• kinds of models to be used?
June 26, 2003 Semantics in GDI 30
Our tool: Haskell
a modern functional language• executable• strict type system• multiple parameter type classes (Hugs dialect)• freely available from www.haskell.org• translates nicely into Java (interfaces)
in a nutshell• algebraic data types: data Car = Car Position• type classes: class LocatedAt object location where
location :: object -> location • instances: instance LocatedAt Car Position where
location (Car pos) = pos
June 26, 2003 Semantics in GDI 31
An Example: Ferries in GDF
+navigate()
Edge
+drive()
Road
+cross()
Ferry
level 0
level 1
June 26, 2003 Semantics in GDI 32
Ferry example: objectives
1. apply the idea of semantic reference systems to a simple example
2. build a semantic reference system
3. demonstrate the use of Haskell as an ontology language
4. test the hypothesis of what went wrong
5. relate to cognitive semantics: affordances, image schemata, blending
June 26, 2003 Semantics in GDI 33
Layers of Semantic Reference
Contents Form
application data model data types
application objects data
reference frame upper-level ontology
symbol grounding (outside the system)
semantic reference application ontology
June 26, 2003 Semantics in GDI 34
Application Data Model: GDF roads
Nodes have Namesdata Node = Node Name
Edges connect two Nodesdata Edge = Edge Node Node
RoadElements follow Edgesdata RoadElement = RoadElement Edge
FerryConnections follow Edgesdata FerryConnection = FerryConnection Edge
June 26, 2003 Semantics in GDI 35
Application Data Model: Vehicles
Cars have a Node as locationdata Car = Car Node
CarFerries carry multiple Cars and have a Node locationdata CarFerry = CarFerry [Car] Node
June 26, 2003 Semantics in GDI 36
Application Objects
road networkstart = Node "start"
end = Node "end"
theEdge = Edge start end
theRoadElement = RoadElement theEdge
theFerryConnection = FerryConnection theEdge
vehiclestheCar = Car start
theCarFerry = CarFerry [theCar] start
June 26, 2003 Semantics in GDI 37
Reference Frame: Basics
named objectsclass Named object name where
name :: object -> name
named objects are equal if their names are equalinstance (Eq name, Named object name) => Eq object where
object1 == object2 = (name object1) == (name object2)
located objectsclass LocatedAt object location where
location :: object -> location
June 26, 2003 Semantics in GDI 38
Reference Frame: Image Schemas
a simple link schemaclass Link link object where
from, to :: link -> objectother :: link -> object -> objectother link object | object == from link = to link
| object == to link = from link| otherwise = error "not linked"
a simple path schemaclass Path path object where
move :: path -> object -> object
June 26, 2003 Semantics in GDI 39
Reference Frame: Image Schemas (2)
a simple surface schemaclass Surface surface object where
putOn :: object -> surface -> surfacetakeOff :: object -> surface -> surfaceisOn :: object -> surface -> Bool
conveyances for transportationclass (Path path conveyance, Surface conveyance object) => Conveyance conveyance path object where
transport :: path -> conveyance -> object -> object
June 26, 2003 Semantics in GDI 40
Symbol Grounding: Assumptions
Haskell language semantics • Data types (Strings, Lists, ...)• Operational semantics
experiential grounding of image schemas
June 26, 2003 Semantics in GDI 41
Semantic Reference (1)
RoadElements are Paths for Carsinstance Path RoadElement Car where
move (RoadElement edge) (Car node) = Car (other edge node)
FerryConnections are Paths for CarFerriesinstance Path FerryConnection CarFerry where
move (FerryConnection edge) (CarFerry cars node) = CarFerry (doToAll (transport (FerryConnection edge)
(CarFerry cars node) cars) (other edge node)
June 26, 2003 Semantics in GDI 42
Semantic Reference (2)
CarFerries are Surfaces for Carsinstance Surface CarFerry Car where
putOn car (CarFerry cars node) = if (location car == node) then CarFerry (addOne car cars) nodeelse error "Car and CarFerry are not co-located"
...
CarFerries are Conveyances for Carsinstance Conveyance CarFerry FerryConnection Car where
transport (FerryConnection edge) carFerry (Car node) = Car (other edge node)
...
June 26, 2003 Semantics in GDI 43
Layers of Semantic Reference
Contents Form
application data model data types
application objects data
reference frame upper-level ontology
symbol grounding (outside the system)
semantic reference application ontology
June 26, 2003 Semantics in GDI 44
Ontology Testing (1)
the car is at the end of the road element after moving t1 = location (move theRoadElement theCar) == end
the ferry is at the end of the ferry connection after movingt2 = location (move theFerryConnection theCarFerry) == end
the car is at the end of the ferry connection after being transported by the ferryt3 = location (transport theFerryConnection theCarFerry theCar) == end
the car cannot move on the edge or on the ferryConnectiontype in: move theEdge theCar type in: move theFerryConnection theCar
June 26, 2003 Semantics in GDI 45
Semantic Projection
+navigate()
Edge
+drive()
Road
+cross()
Ferry
pro
ject
ion
+navigate()
Edge
June 26, 2003 Semantics in GDI 46
Ontology Testing (2)
Erroneous Semantic Translation
edges are paths for cars instance Path Edge Car where
move edge (Car node) = Car (other edge node)
after adding this axiom, move theEdge theCar
executes (but the car is not supposed to move on any edge, as it may be a ferry connection)
June 26, 2003 Semantics in GDI 47
Conclusions on Solution Attempts Current standards proposals focus on exposing semantics Lack of theories and tools for semantic modeling Spatial reference systems motivate semantic reference systems
• shown example for a simplified navigation domain• implemented semantic referencing, projection, and translation• from static ontologies to computational reference systems
Upper-level ontology with meaningful abstractions• image schemas: processes in space and time• actions afforded by objects in the environment
properties are modeled as functions inherited from classes• type classes specify wrappers for legacy data• transportation is a blending of the path and surface schemas.
June 26, 2003 Semantics in GDI 48
In progress
1. evolving upper-level ontology for GI• organized as a lattice of type classes• with multiple inheritance of behavior
2. semantic interoperability applications• environmental planning• emergency management• storm damage assessment• transportation models (topographic to navigation)
3. comparisons with and translation to other approaches• description logic approaches (e.g., BUSTER)• DAML-S and OWL• OBJ• ...
June 26, 2003 Semantics in GDI 49
For more information...
MUSIL web site (Muenster Semantic Interoperability Lab):http://musil.uni-muenster.de
recent publications (all at MUSIL web site)• Implementing Semantic Reference Systems. AGILE 2003 • Semantic Reference Systems. Guest Editorial, International Journal of
Geographical Information Science (in print).• Modeling the Semantics of Geographic Categories through Conceptual
Integration. GIScience 2002. LNCS 2478: 108-118.• Ontologies in support of activities in geographical space. International
Journal of Geographical Information Science 15(7): 613-631.