Collation is the assembly of written information into a standard order. Many systems of collation are based on
numerical order or
alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
, or extensions and combinations thereof. Collation is a fundamental element of most office
filing systems,
library catalog
A library catalog (or library catalogue in British English) is a register of all bibliography, bibliographic items found in a library or group of libraries, such as a network of libraries at several locations. A catalog for a group of libra ...
s, and
reference books.
Collation differs from ''
classification
Classification is the activity of assigning objects to some pre-existing classes or categories. This is distinct from the task of establishing the classes themselves (for example through cluster analysis). Examples include diagnostic tests, identif ...
'' in that the classes themselves are not necessarily ordered. However, even if the order of the classes is irrelevant, the identifiers of the classes may be members of an ordered set, allowing a
sorting algorithm
In computer science, a sorting algorithm is an algorithm that puts elements of a List (computing), list into an Total order, order. The most frequently used orders are numerical order and lexicographical order, and either ascending or descending ...
to arrange the items by class.
Formally speaking, a collation method typically defines a
total order on a set of possible identifiers, called sort keys, which consequently produces a
total preorder on the set of items of information (items with the same identifier are not placed in any defined order).
A collation algorithm such as the
Unicode collation algorithm defines an order through the process of comparing two given
character strings and deciding which should come before the other. When an order has been defined in this way, a sorting algorithm can be used to put a list of any number of items into that order.
The main advantage of collation is that it makes it fast and easy for a user to find an element in the list, or to confirm that it is absent from the list. In automatic systems this can be done using a
binary search algorithm or
interpolation search; manual searching may be performed using a roughly similar procedure, though this will often be done unconsciously. Other advantages are that one can easily find the first or last elements on the list (most likely to be useful in the case of numerically sorted data), or elements in a given range (useful again in the case of numerical data, and also with alphabetically ordered data when one may be sure of only the first few letters of the sought item or items).
Ordering
Numerical and chronological
Strings representing
number
A number is a mathematical object used to count, measure, and label. The most basic examples are the natural numbers 1, 2, 3, 4, and so forth. Numbers can be represented in language with number words. More universally, individual numbers can ...
s may be sorted based on the values of the numbers that they represent. For example, "−4", "2.5", "10", "89", "30,000". Pure application of this method may provide only a partial ordering on the strings, since different strings can represent the same number (as with "2" and "2.0" or, when
scientific notation
Scientific notation is a way of expressing numbers that are too large or too small to be conveniently written in decimal form, since to do so would require writing out an inconveniently long string of digits. It may be referred to as scientif ...
is used, "2e3" and "2000").
A similar approach may be taken with strings representing
dates or other items that can be ordered chronologically or in some other natural fashion.
Alphabetical
Alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
is the basis for many systems of collation where items of information are identified by strings consisting principally of
letters from an
alphabet
An alphabet is a standard set of letter (alphabet), letters written to represent particular sounds in a spoken language. Specifically, letters largely correspond to phonemes as the smallest sound segments that can distinguish one word from a ...
. The ordering of the strings relies on the existence of a standard ordering for the letters of the alphabet in question. (The system is not limited to alphabets in the strict technical sense; languages that use a
syllabary or
abugida
An abugida (; from Geʽez: , )sometimes also called alphasyllabary, neosyllabary, or pseudo-alphabetis a segmental Writing systems#Segmental writing system, writing system in which consonant–vowel sequences are written as units; each unit ...
, for example
Cherokee
The Cherokee (; , or ) people are one of the Indigenous peoples of the Southeastern Woodlands of the United States. Prior to the 18th century, they were concentrated in their homelands, in towns along river valleys of what is now southwestern ...
, can use the same ordering principle provided there is a set ordering for the symbols used.)
To decide which of two strings comes first in alphabetical order, initially their first letters are compared. The string whose first letter appears earlier in the alphabet comes first in alphabetical order. If the first letters are the same, then the second letters are compared, and so on, until the order is decided. (If one string runs out of letters to compare, then it is deemed to come first; for example, "cart" comes before "carthorse".) The result of arranging a set of strings in alphabetical order is that words with the same first letter are grouped together, and within such a group words with the same first two letters are grouped together, and so on.
Capital letter
Letter case is the distinction between the letters that are in larger uppercase or capitals (more formally ''majuscule'') and smaller lowercase (more formally '' minuscule'') in the written representation of certain languages. The writing system ...
s are typically treated as equivalent to their corresponding lowercase letters. (For alternative treatments in computerized systems, see
Automated collation, below.)
Certain limitations, complications, and special conventions may apply when alphabetical order is used:
* When strings contain
spaces or other word dividers, the decision must be taken whether to ignore these dividers or to treat them as symbols preceding all other letters of the alphabet. For example, if the first approach is taken then "car park" will come after "carbon" and "carp" (as it would if it were written "carpark"), whereas in the second approach "car park" will come before those two words. The first rule is used in many (but not all)
dictionaries
A dictionary is a listing of lexemes from the lexicon of one or more specific languages, often arranged Alphabetical order, alphabetically (or by Semitic root, consonantal root for Semitic languages or radical-and-stroke sorting, radical an ...
, the second in
telephone directories (so that Wilson, Jim K appears with other people named Wilson, Jim and not after Wilson, Jimbo).
* Abbreviations may be treated as if they were spelt out in full. For example, names containing "St." (short for the English word ''
Saint
In Christianity, Christian belief, a saint is a person who is recognized as having an exceptional degree of sanctification in Christianity, holiness, imitation of God, likeness, or closeness to God in Christianity, God. However, the use of the ...
'') are often ordered as if they were written out as "Saint". There is also a traditional convention in English that surnames beginning ''Mc'' and ''M are listed as if those prefixes were written ''Mac''.
* Strings that represent personal names will often be listed by alphabetical order of surname, even if the
given name
A given name (also known as a forename or first name) is the part of a personal name quoted in that identifies a person, potentially with a middle name as well, and differentiates that person from the other members of a group (typically a f ...
comes first. For example, Juan Hernandes and Brian O'Leary should be sorted as "Hernandes, Juan" and "O'Leary, Brian" even if they are not written this way.
* Very common initial words, such as ''The'' in English, are often ignored for sorting purposes. So ''
The Shining'' would be sorted as just "Shining" or "Shining, The".
* When some of the strings contain
numerals (or other non-letter characters), various approaches are possible. Sometimes such characters are treated as if they came before or after all the letters of the alphabet. Another method is for numbers to be sorted alphabetically as they would be spelled: for example ''
1776'' would be sorted as if spelled out "seventeen seventy-six", and as if spelled "vingt-quatre..." (French for "twenty-four"). When numerals or other symbols are used as special graphical forms of letters, as in ''1337'' for
leet or ''Se7en'' for the movie title ''
Seven'', they may be sorted as if they were those letters.
* Languages have different conventions for treating
modified letters and certain letter combinations. For example, in
Spanish the letter ''ñ'' is treated as a basic letter following ''n'', and the
digraphs ''ch'' and ''ll'' were formerly (until 1994) treated as basic letters following ''c'' and ''l'', although they are now alphabetized as two-letter combinations. A list of such conventions for various languages can be found at .
In several languages the rules have changed over time, and so older dictionaries may use a different order than modern ones. Furthermore, collation may depend on use. For example, German
dictionaries
A dictionary is a listing of lexemes from the lexicon of one or more specific languages, often arranged Alphabetical order, alphabetically (or by Semitic root, consonantal root for Semitic languages or radical-and-stroke sorting, radical an ...
and
telephone directories use different approaches.
Root sorting
Some
Arabic
Arabic (, , or , ) is a Central Semitic languages, Central Semitic language of the Afroasiatic languages, Afroasiatic language family spoken primarily in the Arab world. The International Organization for Standardization (ISO) assigns lang ...
dictionaries, such as
Hans Wehr's bilingual ''
A Dictionary of Modern Written Arabic'', group and sort Arabic words by
semitic root. For example, the words ''kitāba'' ( 'writing'), ''kitāb'' ( 'book'), ''kātib'' ( 'writer'), ''maktaba'' ( 'library'), ''maktab'' ( 'office'), ''maktūb'' ( 'fate,' or 'written'), are agglomerated under the
triliteral root
k-
t-
b (), which denotes 'writing'.
Radical-and-stroke sorting
:''See also
Chinese characters
Chinese characters are logographs used Written Chinese, to write the Chinese languages and others from regions historically influenced by Chinese culture. Of the four independently invented writing systems accepted by scholars, they represe ...
and
Chinese character orders''
Another form of collation is radical-and-stroke sorting, used for non-alphabetic writing systems such as the
hanzi of
Chinese and the
kanji
are logographic Chinese characters, adapted from Chinese family of scripts, Chinese script, used in the writing of Japanese language, Japanese. They were made a major part of the Japanese writing system during the time of Old Japanese and are ...
of
Japanese, whose thousands of symbols defy ordering by convention. In this system, common components of characters are identified; these are called
radicals in Chinese and logographic systems derived from Chinese. Characters are then grouped by their primary radical, then ordered by number of pen strokes within radicals. When there is no obvious radical or more than one radical, convention governs which is used for collation. For example, the Chinese character 妈 (meaning "mother") is sorted as a six-stroke character under the three-stroke primary radical 女 (meaning "woman").
The radical-and-stroke system is cumbersome compared to an alphabetical system in which there are a few characters, all unambiguous. The choice of which components of a logograph comprise separate radicals and which radical is primary is not clear-cut. As a result, logographic languages often supplement radical-and-stroke ordering with alphabetic sorting of a phonetic conversion of the logographs. For example, the kanji word ''Tōkyō'' (東京) can be sorted as if it were spelled out in the Japanese characters of the
hiragana
is a Japanese language, Japanese syllabary, part of the Japanese writing system, along with ''katakana'' as well as ''kanji''.
It is a phonetic lettering system. The word ''hiragana'' means "common" or "plain" kana (originally also "easy", ...
syllabary as "to-u-ki-
yo-u" (とうきょう), using the conventional sorting order for these characters.
In addition, Chinese characters can also be sorted by
stroke-based sorting. In Greater China,
surname stroke ordering is a convention in some official documents where people's names are listed without hierarchy.
Automation
When information is stored in digital systems, collation may become an automated process. It is then necessary to implement an appropriate collation
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
that allows the information to be sorted in a satisfactory manner for the application in question. Often the aim will be to achieve an alphabetical or numerical ordering that follows the standard criteria as described in the preceding sections. However, not all of these criteria are easy to automate.
[''M Programming: A Comprehensive Guide''](_blank)
Richard F. Walters, Digital Press, 1997
The simplest kind of automated collation is based on the numerical codes of the symbols in a
character set, such as
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
coding (or any of its
supersets such as
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
), with the symbols being ordered in increasing numerical order of their codes, and this ordering being extended to strings in accordance with the basic principles of alphabetical ordering (mathematically speaking,
lexicographical order
In mathematics, the lexicographic or lexicographical order (also known as lexical order, or dictionary order) is a generalization of the alphabetical order of the dictionaries to sequences of ordered symbols or, more generally, of elements of a ...
ing). So a computer program might treat the characters ''a'', ''b'', ''C'', ''d'', and ''$'' as being ordered ''$'', ''C'', ''a'', ''b'', ''d'' (the corresponding ASCII codes are ''$'' = 36, ''a'' = 97, ''b'' = 98, ''C'' = 67, and ''d'' = 100). Therefore, strings beginning with ''C'', ''M'', or ''Z'' would be sorted before strings with lower-case ''a'', ''b'', etc. This is sometimes called ''
ASCIIbetical order''. This deviates from the standard alphabetical order, particularly due to the ordering of capital letters before all lower-case ones (and possibly the treatment of spaces and other non-letter characters). It is therefore often applied with certain alterations, the most obvious being case conversion (often to uppercase, for historical reasons
[Historically, computers only handled text in uppercase (this dates back to ]telegraph
Telegraphy is the long-distance transmission of messages where the sender uses symbolic codes, known to the recipient, rather than a physical exchange of an object bearing the message. Thus flag semaphore is a method of telegraphy, whereas ...
conventions).) before comparison of ASCII values.
In many collation algorithms, the comparison is based not on the numerical codes of the characters, but with reference to the collating sequence – a sequence in which the characters are assumed to come for the purpose of collation – as well as other ordering rules appropriate to the given application. This can serve to apply the correct conventions used for alphabetical ordering in the language in question, dealing properly with differently cased letters,
modified letters,
digraphs, particular abbreviations, and so on, as mentioned above under
Alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
, and in detail in the
Alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
article. Such algorithms are potentially quite complex, possibly requiring several passes through the text.
Problems are nonetheless still common when the algorithm has to encompass more than one language. For example, in
German dictionaries the word ''ökonomisch'' comes between ''offenbar'' and ''olfaktorisch'', while
Turkish dictionaries treat ''o'' and ''ö'' as different letters, placing ''oyun'' before ''öbür''.
A standard algorithm for collating any collection of strings composed of any standard
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
symbols is the
Unicode Collation Algorithm. This can be adapted to use the appropriate collation sequence for a given language by tailoring its default collation table. Several such tailorings are collected in
Common Locale Data Repository
The Common Locale Data Repository (CLDR) is a project of the Unicode Consortium to provide locale data in XML format for use in computer applications. CLDR contains locale-specific information that an operating system will typically provide to ...
.
Sort keys
In some applications, the strings by which items are collated may differ from the identifiers that are displayed. For example, ''The Shining'' might be
sorted as ''Shining, The'' (see
Alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
above), but it may still be desired to display it as ''The Shining''. In this case two sets of strings can be stored, one for display purposes, and another for collation purposes. Strings used for collation in this way are called ''sort keys''.
Issues with numbers
Sometimes, it is desired to order text with embedded numbers using proper numerical order. For example, "Figure 7b" goes before "Figure 11a", even though '7' comes after '1' in
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
. This can be extended to
Roman numeral
Roman numerals are a numeral system that originated in ancient Rome and remained the usual way of writing numbers throughout Europe well into the Late Middle Ages. Numbers are written with combinations of letters from the Latin alphabet, ea ...
s. This behavior is not particularly difficult to produce as long as only integers are to be sorted, although it can slow down sorting significantly. For example,
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
does this when sorting
file names.
Sorting decimals properly is a bit more difficult, because different locales use different symbols for a
decimal point, and sometimes the same character used as a
decimal point is also used as a separator, for example "Section 3.2.5". There is no universal answer for how to sort such strings; any rules are application dependent.
Labeling of ordered items
In some contexts, numbers and letters are used not so much as a basis for establishing an ordering, but as a means of labeling items that are already ordered. For example, pages, sections, chapters, and the like, as well as the items of lists, are frequently "numbered" in this way. Labeling series that may be used include ordinary
Arabic numerals
The ten Arabic numerals (0, 1, 2, 3, 4, 5, 6, 7, 8, and 9) are the most commonly used symbols for writing numbers. The term often also implies a positional notation number with a decimal base, in particular when contrasted with Roman numera ...
(1, 2, 3, ...),
Roman numerals
Roman numerals are a numeral system that originated in ancient Rome and remained the usual way of writing numbers throughout Europe well into the Late Middle Ages. Numbers are written with combinations of letters from the Latin alphabet, eac ...
(I, II, III, ... or i, ii, iii, ...), or letters (A, B, C, ... or a, b, c, ...). (An alternative method for indicating list items, without numbering them, is to use a
bulleted list.)
When letters of an alphabet are used for this purpose of
enumeration
An enumeration is a complete, ordered listing of all the items in a collection. The term is commonly used in mathematics and computer science to refer to a listing of all of the element (mathematics), elements of a Set (mathematics), set. The pre ...
, there are certain language-specific conventions as to which letters are used. For example, the
Russian letters
Ъ and
Ь (which in writing are only used for modifying the preceding
consonant
In articulatory phonetics, a consonant is a speech sound that is articulated with complete or partial closure of the vocal tract, except for the h sound, which is pronounced without any stricture in the vocal tract. Examples are and pronou ...
), and usually also
Ы,
Й, and
Ё, are omitted. Also in many languages that use extended
Latin script
The Latin script, also known as the Roman script, is a writing system based on the letters of the classical Latin alphabet, derived from a form of the Greek alphabet which was in use in the ancient Greek city of Cumae in Magna Graecia. The Gree ...
, the
modified letters are often not used in enumeration.
See also
*
Alphabetical order
Alphabetical order is a system whereby character strings are placed in order based on the position of the characters in the conventional ordering of an alphabet. It is one of the methods of collation. In mathematics, a lexicographical order is ...
*
Asciibetical order
*
Chinese character orders
*
Sorting
*
Taxonomic sequence
*
Mac and Mc together
*
Unicode equivalence
*
Natural sort order
Notes
References
External links
Unicode Collation Algorithm Unicode Technical Standard #10
*
ttp://www.w3.org/TR/css3-lists Typographical collation for many languages as proposed in the List module of
Cascading Style Sheets.
Collation Charts Charts demonstrating language-specific sorting orders in various operating systems and DBMS
ICU Locale Explorer{{Webarchive, url=https://web.archive.org/web/20080511185729/http://demo.icu-project.org/icu-bin/locexp?_=en_US&x=col , date=2008-05-11 : An online demonstration of sorting in different languages that uses the
Unicode Collation Algorithm with
International Components for Unicode
International Components for Unicode (ICU) is an open-source project of mature C/ C++ and Java libraries for Unicode support, software internationalization, and software globalization. ICU is widely portable to many operating systems and envir ...