Ontology for Moving Points/Objects/Change... What can ontology contribute to our debate? - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Ontology for Moving Points/Objects/Change... What can ontology contribute to our debate?

Description:

Ontology for Moving Points/Objects/Change... What can ontology contribute to our debate? Andrew U. Frank Geoinformation TU Vienna frank_at_geoinfo.tuwien.ac.at – PowerPoint PPT presentation

Number of Views:104
Avg rating:3.0/5.0
Slides: 40
Provided by: Andrew1240
Category:

less

Transcript and Presenter's Notes

Title: Ontology for Moving Points/Objects/Change... What can ontology contribute to our debate?


1
Ontology for Moving Points/Objects/Change...What
can ontology contribute to our debate?
  • Andrew U. Frank
  • Geoinformation
  • TU Vienna
  • frank_at_geoinfo.tuwien.ac.at
  • www.geoinfo.tuwien.ac.at

2
From Moving Points to Moving Objects an
ontological contribution in 3 pieces
  • 1. andante What should an ontology for moving
    objects contain?
  • 2. largo How to formalize an ontology for
    moving objects?
  • 3. vivace What can we achieve with it?

3
Ontology today
  • Ontology in information science is defined as
  • an explicit formal specification of the terms
    in the domain and relations among them.

4
Ontology captures structure
  • Structure of the data is represented in
  • is_a relations
  • part_of relations
  • Instance relations

5
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 recipe (a description of a
    process)

6
Discussing ontology means first discussing the
formal methods to describe ontologies
  • Natural language descriptions of ontologies are
    not clarifying the semantics an ontology purports
    to clarify.

7
Formal methods to describe ontologies (highly
simplified)
  • 1. Construct a particular formal language for the
    type of ontology you are interested in
  • - ontology for GIS
  • - ontology for moving objects
  • - ontology for flocks ...

8
Ontology languages 1 UML
  • Informal, but extensive use
  • Uniform Modeling Language (UML) limited by lack
    of formal definition no conclusions drawn or
    consistency checked 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!

9
Ontology languages 2 Description logics
  • 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.

10
Many variants of Description Logics
  • Various DL with different 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

11
Actual languages
  • The Web Ontology Language OWL (the culmination
    from a sequence of KL-ONE (1985).... DAML, OIL,
    DAMLOIL).
  • A compromise between expressive power and
    tractability of logical deductions (goal
    consistent theory!)?
  • Practically very limited and difficult to use.

12
Example Person - Gender
  • ltrdfRDF
  • xmlnsrdf"http//www.w3.org/1999/02/22-rdf-synt
    ax-ns"
  • xmlnsrdfs"http//www.w3.org/2000/01/rdf-schema
    "
  • xmlnsowl"http//www.w3.org/2002/07/owl"
  • xmlns"http//localhost8080/OWLBuergerInformati
    on.owl"
  • xmlbase"http//localhost8080/OWLBuergerInform
    ation.owl"gt
  • ltowlOntology rdfabout""/gt
  • ltowlClass rdfID"Gender"/gt
  • ltowlClass rdfID"Person"/gt
  • ltowlClass rdfID"Woman"gt
  • ltrdfssubClassOf rdfresource"Person"/gt
  • ltowlequivalentClassgt
  • ltowlRestrictiongt
  • ltowlonProperty rdfresource"Gender"/gt
  • ltowlhasValue rdfresource"female"
    rdftype"Gender"/gt
  • lt/owlRestrictiongt
  • lt/owlequivalentClassgt

13
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.

14
Example definition of pizza
  • Gives list of incredients (structure) but not the
    process of baking one!

15
Extend ontology descriptions with time, change,
process
  • Why is this difficult?
  • 1. 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

16
First order logic
  • Difficult to represent change and process in
    first order logic
  • (complicated temporal logics would be needed)?

17
Using existing languages for ontology modelling
  • Algebraic background, to be prepared to describe
    operations and change.
  • Mathematical rigor and simplicity
  • functional languages.

18
Example
  • Specification of classes
  • Boat House and Houseboat.
  • (KuhnCosit'06) in Haskell (www.haskell.com)?
  • Gives
  • classes and subclasses
  • operations for objects of these classes
  • Semantics is defined by operations!

19
Ontologies with operations is an object-oriented
ontology!
  • In an object orientation view the world consists
    of
  • objects with operations!
  • The object-oriented research in software
    engineering concentrates uses an algebraic
    approach to model object classes and operations
    applicable to the objects.

20
Formalization Subclass
  • Dogs are Animals they breath and bark
  • class Animals a where
  • breath a -gt StateChange World
  • class Animals gt Dogs d where
  • bark d -gt StateChange World
  • eat d -gt f -gt StateChange World

21
Programming with inheritance
  • The is_a relation does not translate directly to
    the operations.
  • class Numbers n where
  • division n -gt n -gt n
  • instance Numbers Rational
  • instance Numbers Int
  • Int is subset of Rational

22
2nd Problem Contravariance of Functions
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.
23
Solution
  • Parametric polymorphism, as shown in the above
    example, where
  • class Numbers n where ...
  • has a parameter n.
  • The usual ad-hoc polymorphism of current
    programming languages (C, Java) is not
    theoretically clean.

24
Formalizing 1 Moving point
  • a moving point is a list of tuples (fixes)?
  • t, x, y (,z)?
  • this is what most understand by trajectory,
    interpreting that the same point was observed at
    the given location at the given time.

25
Formalizing 2 Moving point as a function
  • a moving point is a function
  • p (t) ...
  • e.g.
  • p (t) (x0 vx t, y0 vy t)?
  • but using a lookup function in the list of fixes
    and interpolating between known locations can be
    written as a function as easily.

26
Formalizing 3 Moving and changing objects
  • an object can not only change position, but any
    other property (heading, speed, color,
    ownership...)?
  • Model each property as a function from time and
    objectID to value
  • e.g. speed (ID, t) v
  • color (ID, t) c

27
Formalizing 4 Many changing objects in a world
  • Populate a world with many objects which change
    (e.g. SWARM). How to check for interaction
    between objects, expressed formally!
  • (Model objects as autonomous agents, with
    capabilities to obseve the world...)?

28
Formalizing 5 Operations of objects produce
change in the state of the world
  • operations for objects start with a state of the
    world and result in a changed new world state
  • op ID -gt WorldState -gt WorldState
  • w1 op (id, w0)?

29
Formalizing with Monads
  • op ID -gt ChangeWorldState
  • (where ChangeWorldState WorldState -gt
    WorldState)?
  • The result of applying an operation to an object
    (and possible additional parameters) is a
    function, chaning the world from current state to
    a next state.

30
Special Monad, so called State Monad
  • nice algebraic properties for the monad
    opereations return and binb
  • "return" must preserve all information about its
    argument.
  • (return x) gtgt f f x
  • m gtgt return m

31
Special Monad, so called State Monad
  • Binding two functions in succession is the same
    as binding one function that can be determined
    from them.
  • (m gtgt f) gtgt g
  • m gtgt (\x -gt f x gtgt g)?

32
Special Monad, so called State Monad
  • A monad can define a "zero" value for every type.
    Binding a zero with any function produces the
    zero for the result type, just as 0 multiplied by
    any number is 0.
  • mzero gtgt f mzero
  • Similarly, binding any m with a function that
    always returns a zero results in a zero
  • m gtgt (\x -gt mzero) mzero

33
Paradigm change necessary
  • Two traditions that are hindering temporal GIS
    and the necessary ontologies with processes
  • - logic (especially Description Logics)?
  • - Inheritance in (imperativ) programming
    languages (especially C and Java)

34
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)?

35
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?

36
An ontology based on operations could be used to
more than just clarify semantics
  • The ontology gives a theory!
  • Constructing a model checks that the model
    corresponds to our intuition.
  • Formal ontologies should allow entering instances
    and observe their behaviour (e.g. Protege)?

37
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 a
    computational model.

38
Ontology with operations equals prototype
application
  • Test the ontology! Improve code where not
    appropriate.
  • Ontology gives automatically (minimal, but
    standardized) interface.
  • Slogan
  • GUI's from ontology for free!
  • How? Translate the operations to buttons and feed
    the user input to them!

39
Finale
  • It is necessary and worthwhile to jump to a new
    paradigm and build ontologies with operations!
Write a Comment
User Comments (0)
About PowerShow.com