Topic maps are an ISO standard for the representation and interchange of knowledge, with an emphasis on the findability
of information. A topic map can represent information using topics (representing any concept), associations (which
represent the relationships between them), and occurrences (which represent relationships between topics and
information resources relevant to them). They are thus similar to semantic networks and both concept and mind maps in
many respects. According to Topic Map Data Model (TMDM), Topic Maps are abstract structures that can
encode knowledge and connect this encoded knowledge to relevant information resources.
In order to cope with a broad range of scenarios, a topic is a very wide concept. On one hand, this makes Topic Maps a
convenient model for knowledge representation; but on the other hand, this can also put in risk the topic map
consistency. A set of semantic constraints must be imposed to the topic map in order to grant its consistency.
Currently, we can find three approaches to constrain Topic Maps -- AsTMa!, OSL, and
XTche -- that allow us to specify constraints and to validate the instances of a family of
topic maps against that set of rules. With these resemblances it is easy to conclude that they are quite similar.
However they differ in some fundamental concepts. These three Topic Maps constraint specification languages were hardly
tested and benchmarked with a huge test suite. The most significant results will be discussed in this paper.
In this article, we will use that test suite and show, step-by-step, the way we handled several kinds of Topic Maps
constraints in many different instances in order to answer questions like: Do they do the same job? Are there some kind
of Topic Maps constraints that are easier to specify with one of them? Do you need different background to use the
tools? Is it possible to use them in similar situations (the same topic maps instances)? May we use them to produce an
equal result? How do AsTMa!, OSL, and XTche relate to Topic Maps Constraint Language (TMCL)? What kind of constraints
each one of these three can not specify?
What is the intersection area of these three? What kind of constraints each one of these three is able to specify?
We will conclude this paper with a summary of the comparisons accomplished between those Topic Maps constraint
languages over the use case proposed