A topic map is a standard for the representation and interchange of knowledge, with an emphasis on the findability of information. Topic maps were originally developed in the late 1990s as a way to represent back-of-the-book index structures so that multiple indexes from different sources could be merged. However, the developers quickly realized that with a little additional generalization, they could create a meta-model with potentially far wider application. The ISO standard is formally known as ISO/IEC 13250:2003. A topic map represents information using
topics, representing any concept, from people, countries, and organizations to software modules, individual files, and events,
associations, representing hypergraph relationships between topics, and
occurrences, representing information resources relevant to a particular topic.
Topics, associations, and occurrences can all be typed, where the types must be defined by the one or more creators of the topic map. The definitions of allowed types is known as the ontology of the topic map. Topic maps explicitly support the concept of merging of identity between multiple topics or topic maps. Furthermore, because ontologies are topic maps themselves, they can also be merged thus allowing for the automated integration of information from diverse sources into a coherent new topic map. Features such as subject identifiers and PSIs are used to control merging between differing taxonomies. Scoping on names provides a way to organise the various names given to a particular topic by different sources.
The work standardizing topic maps took place under the umbrella of the ISO/IEC JTC1/SC34/WG3 committee. However, WG3 was disbanded and maintenance of ISO/IEC 13250 was assigned to WG8. The topic maps reference model and data model standards are defined independent of any specific serialization or syntax.
The specification is summarized in the abstract as follows: "This specification provides a model and grammar for representing the structure of information resources used to define topics, and the associations between topics. Names, resources, and relationships are said to be characteristics of abstract subjects, which are called topics. Topics have their characteristics within scopes: i.e. the limited contexts within which the names and resources are regarded as their name, resource, and relationship characteristics. One or more interrelated documents employing this grammar is called a topic map."
XML serialization formats
In 2000, Topic Maps was defined in an XML syntax XTM. This is now commonly known as "XTM 1.0" and is still in fairly common use.
The ISO standards committee published an updated XML syntax in 2006, XTM 2.0 which is increasingly in use today.
Note that XTM 1.0 predates and therefore is not compatible with the more recent versions of the standard.
Other proposed or standardized serialization formats include:
– Canonical XML Topic Maps format
– a Compact Topic Maps Notation
– a Graphical Topic Maps Notation
The above standards are all recently proposed or defined as part of ISO/IEC 13250. As described below, there are also other, serialization formats such as LTM, AsTMa= that have not been put forward as standards. Linear topic map notation serves as a kind of shorthand for writing topic maps in plain text editors. This is useful for writing short personal topic maps or exchanging partial topic maps by email. The format can be converted to XTM. There is another format called AsTMa which serves a similar purpose. When writing topic maps manually it is much more compact, but of course can be converted to XTM. Alternatively, it can be used directly with the Perl Module TM. The data formats of XTM and LTM are similar to the W3C standards for RDF/XML or the older N3 notation.
In normal use it is often desirable to have a way to arbitrarily query the data within a particular Topic Maps store. Many implementations provide a syntax by which this can be achieved but the syntax tends to vary a lot between different implementations. With this in mind, work has gone into defining a standardized syntax for querying topic maps:
It can also be desirable to define a set of constraints that can be used to guarantee or check the semantic validity of topic maps data for a particular domain.. Constraints can be used to define things like 'every document needs an author' or 'all managers must be human'. There are often implementation specific ways of achieving these goals, but work has gone into defining a standardized constraint language as follows:
The "Topic Maps" concept has existed for a long time. The HyTime standard was proposed as far back as 1992. Earlier versions of ISO 13250 also exist. More information about such standards can be found at the ISO Topic Maps site.
Some work has been undertaken to provide interoperability between the W3C's RDF/OWL/SPARQL family of semantic web standards and the ISO's family of Topic Maps standards though the two have slightly different goals. The semantic expressive power of Topic Maps is, in many ways, equivalent to that of RDF, but the major differences are that Topic Maps provide a higher level of semantic abstraction and allow n-ary relationships between any number of nodes, while RDF is limited to triplets.