330 likes | 438 Views
Time and Process: The challenge for GIS and what ontology can contribute. Andrew U. Frank Geoinformation TU Vienna frank@geoinfo.tuwien.ac.at www.geoinfo.tuwien.ac.at. Dynamic GIS:.
E N D
Andrew Frank Time and Process: The challenge for GISandwhat ontology can contribute • Andrew U. Frank • Geoinformation • TU Vienna • frank@geoinfo.tuwien.ac.at • www.geoinfo.tuwien.ac.at
Dynamic GIS: • The current GIS maintain static views of the world, but the user want to understand how the world evolves in time (e.g., Global Change discussion). • The users are interested in • computational models of geographic space and processes.
GIS should be Computational Models: • Current GIS are static data collections, described by static ontologies. • The new GIS must combine • data • with • processes • to model the dynamic reality!
Ontological challenge for dynamic, temporal GIS: • Current ontologies describe the static structure of the world. • It does not include the processes and their semantics. • A dynamic GIS is described with an ontology that contains objects and operations!
Structure of talk: • 1. Ontology • 2. Add operations to ontology to capture processes • 3. How to describe ontologies with operations • 4. Ontologies with operations contribute to the solution of other problems: Metadata • 5. More uses for ontology: create graphical user interface from the ontology • 6. Conclusions: Paradigm change necessary
Goal of talk • 1. Include operations in the ontology • 2. The ontology (with operations) is more useful, • e.g. a user interface can be derived • 3. More useful ontology will find more use and produce more benefits!
Ontolgoy today • Ontology in information science is definable as “an explicit formal specification of the terms in the domain and relations among them”.
Ontology captures structure • Structure of the data is represented in • is_a relations • part_of relations • Instance relations
Two critical observations: • 1. a static view: no process, no operations, nothing changes; • 2. it is very difficult: • imagine how difficult it is to describe the structure of a dish (e.g. apple pie) in contrast to the receipe (a description of a process)
Ontology languages • Informal, but extensive use: • Uniform Modelling Language (UML) – limited by lack of formal definition – hard to draw conclusions automatically. • Tools (graphical editors) for UML are available: • Nice, easy to use, flexible – but no formal background, therefore no fixed semantics, not much can be checked for consistency!
Description logic for ontology • consists of • A set of unitary predicates denote concept names • A set of binary relations, which denote role names • Recursive constructors to form more complex constructs from the concepts and roles. • various levels of expressive power and computational complexity, depending which constructors are included: • union and intersections of concepts • negation of concepts • value (universal) restriction • existential restriction
Actual languages: • The Web Ontology Language OWL (the culmination from a sequence of KL-ONE (1985).... DAML, OIL, DAML+OIL). • A compromise between expressive power and tractability of logical deductions (goal: consistent theory!) • Practically: very limited and difficult to use.
Example: • <rdf:RDF • xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" • xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" • xmlns:owl="http://www.w3.org/2002/07/owl#" • xmlns="http://localhost:8080/OWLBuergerInformation.owl#" • xml:base="http://localhost:8080/OWLBuergerInformation.owl"> • <owl:Ontology rdf:about=""/> • <owl:Class rdf:ID="Gender"/> • <owl:Class rdf:ID="Person"/> • <owl:Class rdf:ID="Woman"> • <rdfs:subClassOf rdf:resource="#Person"/> • <owl:equivalentClass> • <owl:Restriction> • <owl:onProperty rdf:resource="#Gender"/> • <owl:hasValue rdf:resource="#female" rdf:type="#Gender"/> • </owl:Restriction> • </owl:equivalentClass> • </owl:Class> • <owl:ObjectProperty rdf:ID="gender" • rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty"> • <rdfs:range rdf:resource="#Gender"/> • <rdfs:domain rdf:resource="#Person"/> • </owl:ObjectProperty> • <owl:DatatypeProperty rdf:ID="name" • rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty"> • <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> • <rdfs:domain rdf:resource="#Person"/> • </owl:DatatypeProperty> • <owl:DatatypeProperty rdf:ID="firstname" • rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty"> • <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> • <rdfs:domain rdf:resource="#Person"/> • </owl:DatatypeProperty> • <Person rdf:ID="STilgner" firstname="Susanne" name="Tilgner"> • <Gender rdf:resource="#female"/> • </Person> • </rdf:RDF>
Ontology editors, e.g., Protege • Ontology editor based on description logic. • Produces ontologies in different output languages (e.g., OWL-Light). • Very difficult to use, very time consuming.
Extend ontology descriptions with time, change, process • Why difficult? • First order logic is essentially static, adding time • - adds confusing bulk to expression: • move (P, A, B, T) :- • is_at (P, A, T1) & is_at (P, B, T2) & before (T1, T) & after (T2, T) • - frame problem: • need to state what does not change to allow logical inference
First order logic: • difficult to represent change, process • (temporal logics needed)
Ontologies with operations! • In an object orientation view the world consists of • objects with operations! • The object-oriented research in software engineering concentrate on objects and operations. • The theory uses an algebraic approach
Programming: • The concept of inheritance does not translate properly to a programming language: • functions are contra-variant: • applying a function to subsets of the arguments does not guarantee that the result will be a subset of the result of the original function. • Example:
Example: • class Dogs d where • bark :: d -> StateChange World • eat :: d -> f -> StateChange World • Used: Monads from Category Theory
Subclasses and operations: • Is_a relations create sets and subsets of objects. • Subclass relations do not relate directly: • class Number n where • division :: n -> n -> n • 2 instances for integers and rationals • needs parametric polymorphism – the usual ad-hoc polymorphism of current programming languages (C++, Java) is limited.
Paradigm change necessary: • Two traditions that are not useful for ontologies with processes: • - logic (especially Description Logics) • - Inheritance in (imperativ) programming languages (especially C++ and Java)
Ontology description with algebra : • operations are explicit changing state to new state • t1 = f (t0) • class hierarchy with parametrised polymorphism. • Tools: functional programming languages (eg. Haskell, Caml, Scheme, ML)
Paradigm change must fix more than one problem! • I have argued for a paradigm change in the methods to describe ontologies. • Does this address other pressing problems of GIScience as well? • The example will be metadata and the lack of use thereof.
The metadata discussion: • Discrepancy: • much research - • “Google scholar” counts 250'000 articles for metadata • little documented use • very difficult to find! • accidental negative evidence
Why metadata? • Consider metadata entries like: • precision: • varies • between 10 m and 20 km • what can a potential user conclude from such “information”? • Boin's Ph.D. thesis collects user statements like “Metadata is not considered, other sources of information are used”
Practioners sense that metadata is not used • It is therefore not worth the effort to enter carefully.
Why ontology?Why metadata? • Current argument: • make data collected (with public funds) more useful by • allowing others to find data and combine them with their data. • Keywords: • Data discovery • Interoperability • This argument is politically accepted; the INSPIRE legislation is based on it!
The counter-argument: • If you know enough to understand the metadata you know also about possible (colleagues that have) useable sources. • If you know not much, the metadata will not help you in discovering (see the testimonial Boin collected)
An ontology based on operations could be used to more than just interoperability: • For example: • Derive the graphical user interface from the ontology!
How? • The data structure part (static ontology) can be used to present the data – this is standard for administrative data processing. • The operations described in the ontology give the operations in the GIS (computational model) • → Translate the operations to buttons!
Conclusions • Building dynamic, temporal GIS requires a formal conceptualization, i.e. a spatio-temporal ontology. • The current tools for ontology building are not suitable for an ontology with operations. • An ontology with operations would have more uses than just facilitate interoperability! • -- • It is necessary and worthwile to jump to a new paradigm and build ontologies with operations!