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.
Ontology and merging
Topics, associations, and occurrences can all be typed, where the types must be defined by the one or more creators of the topic map(s). 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 (URIs given to topics) and PSIs (published subject indicators) 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 (ISO/IEC 13250) took place under the umbrella of the ISO/IEC JTC1/SC34/WG3 committee (ISO/IEC Joint Technical Committee 1, Subcommittee 34, Working Group 3 – Document description and processing languages – Information Association). However, WG3 was disbanded and maintenance of ISO/IEC 13250 was assigned to WG8.
The topic maps (ISO/IEC 13250) 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 (relationships) 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 (ISO/IEC 13250) standard.
Other proposed or standardized serialization formats include:
- CXTM – Canonical XML Topic Maps format (canonicalization of topic maps)
- CTM – a Compact Topic Maps Notation (not based on XML)
- GTM – 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 (LTM) 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 (which also supports LTM).
The data formats of XTM and LTM are similar to the W3C standards for RDF/XML or the older N3 notation.
Topic Maps API
A de facto API standard called Common Topic Maps Application Programming Interface (TMAPI) was published in April 2004 and is supported by many Topic Maps implementations or vendors:
- TMAPI – Common Topic Maps Application Programming Interface
- TMAPI 2.0 Topic Maps Application Programming Interface (v2.0)
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 (somewhat like 'SQL for Topic Maps') 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:
- ISO 18048: TMQL – Topic Maps Query Language
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. (Somewhat like database constraints for topic maps). 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:
- ISO 19756: TMCL – Topic Maps Constraint Language
The "Topic Maps" concept has existed for a long time. The HyTime standard was proposed as far back as 1992 (or earlier?). Earlier versions of ISO 13250 (than the current revision) 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 (i) provide a higher level of semantic abstraction (providing a template of topics, associations and occurrences, while RDF only provides a template of two arguments linked by one relationship) and (hence) (ii) allow n-ary relationships (hypergraphs) between any number of nodes, while RDF is limited to triplets.
- ISO JTC1/SC34. "JTC 1/SC 34 – Document Description and Processing Languages". Archived from the original on 6 May 2014. Retrieved 25 December 2009.
- "Home of SC34/WG3 – Information Association". 3 June 2008. Retrieved 26 December 2009.
- ISO. "JTC 1/SC 34 – Document description and processing languages". ISO. Retrieved 25 December 2009.
- Lars Marius Garshol (2003). "Living With Topic Maps and RDF". Retrieved 21 February 2014.
- Lutz Maicher and Jack Park: Charting the Topic Maps Research and Applications Landscape, Springer, ISBN 3-540-32527-1
- Jack Park and Sam Hunting: XML Topic Maps: Creating and Using Topic Maps for the Web, Addison-Wesley, ISBN 0-201-74960-2 (in bibMap)
- Passin, Thomas B. (2004). Explorer's Guide to the Semantic Web. Manning Publications. ISBN 1-932394-20-6.