Index and knowledge drawing : a natural bridge from Topic Maps to XML SVG
ABSTRACT
Topic Maps paradigm represent a network of inter-related subjects. Text description of a rich non-hierarchical network is often confusing when a graphical representation can give a clear view of the network and the inter-relationships between objects. If XML Topic Maps specification is the natural way to exchange index and knowledge, SVG seems the obvious way to represent, navigate and probably soon to edit Topic Maps. Implementation of a "Topic Maps SVG navigation tool" raises several interesting problems and questions.
The Kept project funded by the European Commission - IST . which involves 4 university labs (CWI, Lubiana University, EHESS (Paris) and University of Bordeaux) and 6 european companies including Mondeca as project leader is focused on Topic Maps graphical representation. The project will start 2001Q4 and last 18 months.
Table of Contents
1. What do you find in a Topic Map ?
We will use for our example the topic map created within the framework of the Semantopic project. This topic map, fruit of the collaboration of several authors is built like an index of the projects, actors, organizations, tools implied in the various projects of Semantic Web (cf http://mondeca-publishing.com/s/anonymous/title49.html).
The contents of this topic map can be broken up into two parts:
-
several hierarchical organizations of "concept" topics describing classes and under classes
-
a set of topics representing identified objects (actors, tools, projects, organizations of the semantic Web...) connected by semantized and nonhierarchical links. Each element of this set has one or more "class to instance" relationships with the topics of the first set.
-
addresses of resources attached to the topics of the first and second set.
2. Why a graphic representation of the Topic Map
A graphical representation of the topic maps is obviously needed for several reasons :
-
to visualize and navigate in the hierarchical organization of the classes - subclasses and their instances but also to have a graphical editing tool of this organization
-
to represent the topics, their types and their relationships with other topics. Non hierarchical relationships being easier to understand in a graphical representation than in a text one.
-
to browse the map with different zoom levels and to navigate between topics on the finest level of detail.
3. Why use XML SVG to represent Topic Maps
XML SVG represents several advantages to represent a topic map graphically:
-
enable graphical representation but also text representation
-
separation between the vectorial information and the final layout of the graphic using style sheets
-
conservation in the XML SVG file of all the information on objects (type of topic, type of association, type of role, topic classes...)
filtering mechanisms for the graphical visualisation
4. Problems to solve
To start from a topic map of several thousands of objects to finally get a useful graphical representation is not without some issues. We will list them and see how they can be handled:
-
the quantity of information can be very significant: several thousands of topics, associations, roles...
-
the graphical output depends on the type of organization of the topics (hierarchical, nonhierarchical)
-
the graphical output depends on the subject and usual practices in a given field : finance, organization management, politics, human relationships, genealogy... They all use different information representation
5. Analogy : geographical representation
Before examining a methodology to solve the transformation of XML Topic Maps into XML SVG, it is interesting to note that it is in the field of geography and topography that research for tools and the methods of representation of large amount of linked objects are the most advanced and where we find the most convincing results. Planispheres, city maps, political maps, geological maps, roadmaps... are representation of informations and relationships. The objects represented have very different types:
-
object : towns, monuments, restaurants...,
-
set : district, country, state..,
-
relationships between objects: roads, rivers, railroads...
-
altitude, temperature, climatic data...
Map and legend (Michelin)
6. A grammar for semantic graphs representation
Gradually, as for geography, a grammar of representation of semantic graphs will be built, by integrating the various forms of representation already commonly used for information: flow charts, diagrams, trees, folders, tables... and by inventing new forms of representation.
The graphical representation of hierarchical organization has already many solutions, and user are quite familiar with them. It is the representation of nonhierarchical relationships between the objects which is the newest and most interesting challenge and it's also where geographical representations may be a very rich source of inspiration
a non hierarchical representation of informations (www.keele.ac.uk/depts/cs/Courses/ mscdip/materials/mmi/mmiv2)
organigram
7. Classes, subclasses, instances representation
Representation of Classes, subclasses and instances relationships in Topic Maps faces two challenges 1)As Topic Maps allow topic to be instance of several classes, it's natural in Topic Maps to organize classes and sub classes in several parallel organizations. The graphical representation shall then allow to represent those parallel trees over a same set of topics. 2) each topic may belongs to several classes and then be related to several hierarchical class organizations.
8. Graphical representation of non hierarchical semantics links
Graphical representation of topics, and their relationships via associations in a nonhierarchical organization is an other and quite new challenge.
9. From Topic Maps to XML SVG
Several stages are necessary to realize this XTM to XMLSVG transformation. Let's examin them :
-
request from the user
-
selection and filtering of the elements to be represented
-
reduction of information complexity
-
graph calculation
-
choice of graphical objects
-
XML SVG file generation
-
graph manipulation
9.1. Request from the user
A request for a graphical representation must be made by the user. Maps requests are a good inspiration for this dialog with the user : the request may express 1) the need to represent a set of topics or 2) the need to represent a path between two topics giving a starting topic, a destination topic and some restriction on the kind of relationship that should be represented. Finally the user has to choose a type of graphical representation that suits its needs.
Interface used in spreadsheet software to build graphical representation may be a good source of inspiration.
9.2. Selecting objects to be represented
Selection of the objects to be represented are based on several mechanisms : 1) filtering on object types 2) filtering on classes to instances relationships 3) filtering the topic maps on scope 4) calculating paths between topics and selecting the objects on those paths.
9.3. Reduce the amount of object to be represented
Reduction of complexity: if the volume of selected information remains too important to be represented in a readable drawing, it will be necessary to automatically select the most relevant informations (topics, associations). Various mechanisms may be used: a) clustering of the graph to group topics in clusters b) suppression of objects of the topic map on the basis of metrics (metrics on object connexion to other informations, metrics on user access to the information...).
9.4. Graph drawing
On the opposite to geographical representations, the data do not have space co-ordinates. Various graph drawing algorithms, depending on the choosen rendering, will calculate topic position as well as position and shape of relationships representation. The positioning strategy of the objects is constrained by the type of representation chosen by the user and by the lisibility of the drawing ( minimize the overlapping of the graphic elements, minimize the amount of crossing for edges...)
Graphical representation is always a compromize. Depending on graph representation, it may be chooses to represent topics with a stable position (like in a geographical map) and not optimizing the representation of their relationships, or on the contrary optimize the readability or the relationships by changing topics positioning in the representation. The first solution being prefered in a multi layers SVG representation.
9.5. Choice of graphical elements
Page-setting implies several choices concerning the presentation of information: colors of the graphic entities in correlation with the types of object, choice of a range of colors for the association representation according to their type or their importance, choice of icons representing the various graphic elements...Choices of the user and cognitive sciences may be mixed to find the best combination of colors and graphics.
9.6. XML SVG generation
All informations have been gathered and the XML SVG file may be generated. The XML SVG file includes now a) information on position of the graphic objects b) information on the objects attributes extracted from the topic map (names and classes of the topics, types of associations and roles) c) graphical information for objects representation (choice of icons for the topics, aspect of relationships representation...) d) information for handling several layers in the SVG graph.
9.7. Manipulate SVG graphical representation in a viewer
The richness of content of the XML SVG file allows :
-
to hide/show associations or topics according to their type
-
to hide/show part of the graph using layers
-
to show all information in the user language
and generally speaking to implement the full topic map scoping mechanism of scope within the framework of a graphical representation.
10. Conclusion
XTM, or the other standards of the semantic Web such as RDF, call for use of graphical representation. SVG which associates capacity of graphical representation with preservation of object attributes seems the best way to build "information cartographic" tools.
The transformation of Topic Maps into readable graphical representation is a complex process which calls upon several technologies and sciences : cognitive sciences, graphics, graph drawing, mathematics, clustering, style sheets... 10 years were spent to get good graphical representation tools for spreadsheets software, we will probably need as many time to have a good library of tools for Semantic Web representation.

