Tuesday, 15 January 2008

Checklist for deciding implementing Topic Maps

When should I go for Topic Maps? Why should I use Topic Maps and where do we use use Topic Maps? As a system developer or architect you may have asked these questions. The use of Topic Maps does undoubtedly increase complexity of an IT development project but at the same time does provide other very valuable benefits in comparison to plain relational databases.

This checklist can be used as a tool to decide if to use Topic Maps technology. Note that this only discuss using the Topic Maps paradigm, it does not discuss to what extent is should be used or on what parts of the system etc.

[ ] We need a flexible data model (3)
Do you need to model and represent knowledge that is evolving (evolving ontology), where concepts, their metatypes and relations change over time? Do you have information consisting of diverse concepts and need to make distinctions between their type, their relations and the roles the associations play among each other and you are not sure if this conceptualization will change in the future?

[ ] We need a high degree of (semantic) interoperability (2)
With Topic Maps PSI’s you get a strong and accurate identification of subjects between loosely coupled systems. Do you need to represent knowledge such as “Oslo is in Norway, Oslo is a City and Norway is a country”? With Topic Maps this can be expressed in interoperable formats that make sense to both humans and computers. Topic Maps enable import and export of both complete knowledge structures and of fragments only.

[ ] We need to merge semantic information or arbitrary knowledge from diverse sources (2)
Merging is a built in feature of the Topic Maps standard. Queries on the data will work after a merge.

[ ] We are developing a knowledge centric application (1)
Are you going to integrate or build a Knowledge Management system where knowledge generation, codification, and transfer is essential? Is there a need for a paradigm that can collate everything known about any given set of subjects? Do you need a Ontology (a conceptualization of a domain)? Do you have users that will want to interact with the system to create new knowledge? When using Topic Maps people often see new potential relations and thus increasing knowledge leading to new insight, innovation etc.

[ ] We need a technology to access information using different criteria or navigation paths (1)
Do you need a technology that is tailored for displaying multiple navigational aids or multiple views/paths in a networked information structure? Built into the standard is the concept of scopes that let the modeler contextualize information. With Topic Maps you get two-way or navigation. If you need to provide faceted navigation or search where users navigate by related concepts, then Topic Maps may fit your needs because of its support for bidirectional associations and scopes.

[ ] We need a strong separation between metadata and resources (1)
Do you have persons that work with metadata and others that add or edit resources? For instance your organization might have a vocabulary that is maintained by a set of dedicated specialists and you might have authors that create content which is categorized with the taxonomy. Is there a need to manage some form of complex networked information structure or other information structure such as a controlled vocabulary, concept map or taxonomy?

[ ] We have a strategic goal to be among the first to adopt new technologies (1)
Topic Maps is similar or complementary to the Semantic Web initiative, which are seen by many as the precursor for Web3.0 and eventually the raise of Artificial Intelligence and collective wisdom for the web. For many organizations it is a marketing strategy to identify itself with such technologies.

Add the points for each of the sections you answered yes to. The points are indicated from 1 to 3 at the right-hand side of each section. If you got a sum of 3 or more points you might have a good reason for embarking on a Topic Map development project.

Topic Maps pros and cons in comparison to Relational databases

Provides a semantic interoperable knowledge structure for use by both humans and machines. It will give you tremendous power in modelling a domain. Topic Maps have built in constructs to make changes to a model less painstaking after the system have been deployed and is in production. Last but not least, Topic Maps is an enabling technology that opens up new possibilities for use of the embedded knowledge within the Topic Map.

Topic Maps projects require more development time. It often leads to highly increased complexity, which again results in systems that are harder to maintain and require special competence. It also requires large amount of cognitive efforts under specification, design and development. Topic Maps also increase the risk in the project due to higher complexity and higher demands on competence. It will often require higher demands on computer hardware because of more complex database processing.

Last updated 5. April 2008.