490 likes | 498 Views
Join our workshop to discuss semantic problems in GDIs, share use cases, and exchange experiences with methods and tools. Explore puzzles and solutions in GDI semantics. Your contributions are crucial!
E N D
Workshop: Semantics in GDI Werner Kuhn Institute for Geoinformatics kuhn@ifgi.uni-muenster.de GI-Tage 2003 Workshop
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 nota tutorial on semantic technologies – your contributions and questions are requested throughout the workshop. Semantics in GDI
Overview • The problem • Use case • Analysis • Generalization • Solution attempts • Puzzle pieces • Putting the pieces together • Puzzling questions Semantics in GDI
The Problem: a use case • Shortest path for oversized vehicle Semantics in GDI
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 Semantics in GDI
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 Semantics in GDI
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ührererstling@interactive-instruments.deTrierer Straße 70-7253115 BonnNRW, GermanyLage zeigenShowOperationsOnline Ressource aufrufenDer Zugang zu diesem Dienst ist nicht kostenpflichtig. What information can the data provide? Ergebnisse der erweiterten Suche: Semantics in GDI
From data files and documentation • MS_Strassen • polylines, a few attributes • ATKIS • ATKIS OK • several hundred pages, human-readable, online • Teil D3 Verkehr: Objekttyp 3101Strasse • linienförmig • GN Geographischer Name • BRF 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” • ... Semantics in GDI
From data files and documentation (2) • TeleAtlas MultiNet • ISO Standard GDF (Geographic Data Files) • ca. 700 pages, to purchase from DIN • Release Notes MultiNet Germany • 34 pages, to purchase with product • MultiNet Data Specifications • 1249 pages, to purchase with product • Roads and Ferries • Width (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 arenot implemented in MultiNet Semantics in GDI
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 Semantics in GDI
Architecture for Multi-source Navigation Chain Java FeatureCollection Java FeatureCollection Navigation Services Filter Service WFS Client GML HTML OpenGIS Components Web Feature Server Web Feature Server Navigation Client (Browser) Servlet Engine Servlet Engine Middleware Middleware GDF MulitNet ATKIS Semantics in GDI
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, ...) Semantics in GDI
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 Semantics in GDI
Semantic interoperability problems data-serviceservice-serviceservice-user e.g., parcels touching a road e.g., building heights from floors e.g., directions from graphs
Solution Attempts • A vision • Pieces of the puzzle • Metadata • Catalog services • Ontologies • Reasoning systems • Semantic translators Semantics in GDI
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. Semantics in GDI
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 Semantics in GDI
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) Semantics in GDI
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 • needfor theory and tools: • explaining the meaning of terms in (geographic) information • to integrate (geographic) information from different sources Semantics in GDI
Ontologies: specifications of concepts in a domain Semantics in GDI
clc: CORINE Land Cover categories Semantics in GDI
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 transformation • e.g., map projections, coordinate transformations • Semantic reference systems need • formalizations of the kind that Descartesprovided for space • using algebraic specifications (equational theories) • mappings among the resulting formal systems • using category theory (morphisms) Semantics in GDI
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 Semantics in GDI
: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 Semantics in GDI
Class Level_2 • Abstract Class Extends • :THING • Direct Instances: • None • Direct Subclasses: • ComplexFeature • Road • Ferry • Intersection Semantics in GDI
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? Semantics in GDI
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 • algebraicdata types: data Car = Car Position • typeclasses: class LocatedAt object location where location :: object -> location • instances: instance LocatedAt Car Position where location (Car pos) = pos Semantics in GDI
An Example: Ferries in GDF level 0 level 1 Semantics in GDI
Ferry example: objectives • apply the idea of semantic reference systems to a simple example • build a semantic reference system • demonstrate the use of Haskell as an ontology language • test the hypothesis of what went wrong • relate to cognitive semantics: affordances, image schemata, blending Semantics in GDI
Layers of Semantic Reference Semantics in GDI
Application Data Model: GDF roads Nodes have Names data Node = Node Name Edges connect two Nodes data Edge = Edge Node Node RoadElements follow Edges data RoadElement = RoadElement Edge FerryConnections follow Edges data FerryConnection = FerryConnection Edge Semantics in GDI
Application Data Model: Vehicles Cars have a Node as location data Car = Car Node CarFerries carry multiple Cars and have a Node location data CarFerry = CarFerry [Car] Node Semantics in GDI
Application Objects road network start = Node "start" end = Node "end" theEdge = Edge start end theRoadElement = RoadElement theEdge theFerryConnection = FerryConnection theEdge vehicles theCar = Car start theCarFerry = CarFerry [theCar] start Semantics in GDI
Reference Frame: Basics named objects class Named object name where name :: object -> name named objects are equal if their names are equal instance (Eq name, Named object name) => Eq object where object1 == object2 = (name object1) == (name object2) located objects class LocatedAt object location where location :: object -> location Semantics in GDI
Reference Frame: Image Schemas a simple link schema class Link link object where from, to :: link -> object other :: link -> object -> object other link object | object == from link = to link | object == to link = from link | otherwise = error "not linked" a simple path schema class Path path object where move :: path -> object -> object Semantics in GDI
Reference Frame: Image Schemas (2) a simple surface schema class Surface surface object where putOn :: object -> surface -> surface takeOff :: object -> surface -> surface isOn :: object -> surface -> Bool conveyances for transportation class (Path path conveyance, Surface conveyance object) => Conveyance conveyance path object where transport :: path -> conveyance -> object -> object Semantics in GDI
Symbol Grounding: Assumptions • Haskell language semantics • Data types (Strings, Lists, ...) • Operational semantics • experiential grounding of image schemas Semantics in GDI
Semantic Reference (1) RoadElements are Paths for Cars instance Path RoadElement Car where move (RoadElement edge) (Car node) = Car (other edge node) FerryConnections are Paths for CarFerries instance Path FerryConnection CarFerry where move (FerryConnection edge) (CarFerry cars node) = CarFerry (doToAll (transport (FerryConnection edge) (CarFerry cars node) cars) (other edge node) Semantics in GDI
Semantic Reference (2) CarFerries are Surfaces for Cars instance Surface CarFerry Car where putOn car (CarFerry cars node) = if (location car == node) then CarFerry (addOne car cars) node else error "Car and CarFerry are not co-located" ... CarFerries are Conveyances for Cars instance Conveyance CarFerry FerryConnection Car where transport (FerryConnection edge) carFerry (Car node) = Car (other edge node) ... Semantics in GDI
Layers of Semantic Reference Semantics in GDI
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 moving t2 = location (move theFerryConnection theCarFerry) == end the car is at the end of the ferry connection after being transported by the ferry t3 = location (transport theFerryConnection theCarFerry theCar) == end the car cannot move on the edge or on the ferryConnection type in: move theEdge theCar type in: move theFerryConnection theCar Semantics in GDI
projection Semantic Projection Semantics in GDI
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) Semantics in GDI
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 functionsinherited from classes • type classes specify wrappers for legacy data • transportation is a blending of the path and surface schemas. Semantics in GDI
In progress • evolving upper-level ontology for GI • organized as a lattice of type classes • with multiple inheritance of behavior • semantic interoperability applications • environmental planning • emergency management • storm damage assessment • transportation models (topographic to navigation) • comparisons with and translation to other approaches • description logic approaches (e.g., BUSTER) • DAML-S and OWL • OBJ • ... Semantics in GDI
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 Science15(7): 613-631. Semantics in GDI