Topic Maps 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 most recent work standardizing Topic Maps (ISO/IEC 13250) is taking 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).
The Topic Maps (ISO/IEC 13250) reference model and data model standards are defined in a way that is independent of any specific serialization or syntax.
There are different ways of notating Topic Maps graphically, in addition to GTM, listed below. One recently developed example is Topic Maps Martian Notation. TMMN (its acronym) is a simple graphical notation used to explain the Topic Maps data model, and map out both ontologies and representative instance data. It is designed for use on whiteboard or paper, as well as within any diagram-based software including everyday presentation tools such as PowerPoint and OpenOffice.org. TMMN uses only a very small number of symbols – "blob", "label", "line", "dotted line", and "arrow" – to represent the relationships and basic elements of the Topic Maps model, namely Topics, Names, Associations (& Roles), Scope, and Occurrences (including Subject Identifiers & Subject Locators). The "Martian" refers to the archetypal "Martian Scientist", namely, the ability to communicate knowledge across linguistic and cultural barriers, known and unknown. It was developed as part of the musicDNA project. Advanced Topic Maps Martian Notation is currently under development by the musicDNA community and includes shorthand notation for various types of whole-part relationships.
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 the year 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". Retrieved 2009-12-25.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- "Home of SC34/WG3 - Information Association". 2008-06-03. Retrieved 2009-12-26.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- ISO. "JTC 1/SC 34 - Document description and processing languages". ISO. Retrieved 2009-12-25.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- https://dl.dropbox.com/u/10497886/TMMN/index.html Topic Maps Martian Notation tutorial
- http://beta.musicdna.info/about.aspx musicDNA
- Lars Marius Garshol (2003). "Living With Topic Maps and RDF". Retrieved 2014-02-21.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- 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.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
|Wikimedia Commons has media related to Topic Maps.|
- Information portal about Topic Maps
- Home page of the Topic Maps ISO standards
- ISO/IEC 13250 Topic Maps, Second Edition
- XML Topic Maps (XTM) 1.0 Specification
- What Are Topic Maps?
- Towards knowledge organization with Topic Maps
- An Introduction to Topic Maps (MSDN)
- tinyTiM - The tiny Topic Maps engine (Open Source)
- Mappa - Topic Maps engine for Python (Open Source)
- Information portal of the Topic Maps Lab
- Topic Maps Snippets, news from the Topic Maps community
- topicmap.com, portal covering tools, conferences, papers and news
- Topic engine in Cfengine for configuration management with semantic knowledge map
- QuaaxTM - A PHP Topic Maps engine (Open Source)
- TMXTM.it - Italian website about Topic Maps and XTM
- Wandora - Topic Maps authoring and creation application (Open Source)