Abstraction

Defining views

One of Panckoucke's main features is the definition of the abstraction process. An abstraction in Panckouckes terms defines a view on a topicmap. Different abstractions allow users to see topicmap data from different angles.

Reducing information

The idea behind the abstraction process is, that it is often counterproductive to see every existing detail of information. In most cases, working with a meaningful subset is preferable.

This means that what gets displayed and what gets not displayed is crucial for understanding. And what is appropriate differs from situation to situation.

Strategies

Reduction of the given complexivity may be achieved by different strategies. Low-level abstractors use some sort of technical compression, while more complex ones perform statistical analysis or relate data from two or more knowledge bases. Reduction by querying (i.e. via Tolog) is certainly also a strategy that is meant when we talk about abstraction in Panckouckes terms.

Examples

The following images illustrate some different views on John's relationship to his four children and his two wifes.

Image one and two illustrate abstractions of concepts that are explicitly contained in the topicmap. Image three illustrates the result of incorporating knowledge from a external knowledge base in to the abstraction process (any member of a family can be seen as a relative). The latter is something that can not be done with the Abstractors that currently ship with the panckoucke-library. But it can certainly be done by custom Abstractors.

.

Image I: The detailed relationship between John and his two families

Image II: John's wifes and his children

Image III: The relatives of John

Presentation

An Abstractor return its view on the topicmap as an instance of an AbstractModel.

This model can the be used as input to a Renderer, another interface defined by the panckoucke library. In Panckouckes abstraction flow, a Renderer is responsible for the presentation of the resulting model.

Panckoucke itself does not ship with concrete implementations of the Renderer interface. (?)

Technical components

Technically, an abstraction is done by an implementation of the Abstractor-Interface.

The result of the abstraction is returned as an AbstractModel. An AbstractModel is hypergraph-like structure, that is formally defined by several interfaces.

The AbstractModel may then be passed to an implementation of the Renderer-Interface which will present the results to the user.

Panckoucke ships with several Abstractors and a default implementation of the AbstractModel.