Topic Map Query Language (TMQL) is an XML-based extension of Structured Query Language (SQL), a query language developed for use in meeting the specialized data access requirements of Topic Maps (TMs). Two types of data access for Topic Maps are: information retrieval (IR), which is focused on separate search instances of a single user looking for specific information; and information filtering, which is a query process that builds up a sort of user profile, filtering information to construct a selection of data relevant to a particular user.
TMQL is intended to be easier to learn by developers, most of whom are likely to already be familiar with SQL. However, SQL was created to be used on the data in a relational database, which has a well-defined pre-existing structure; TMQL must be able to retrieve information from a vast and constantly changing body of information. A relational database may be expressed in terms of a simplified Topic Map, but TMQL will need to work with a much more complex data repository. A typical SQL select query (used to retrieve data from a table in a database) could be rewritten to retrieve data from a Topic Map.