Xesam (eXtEnsible Search And Metadata) is a specification promoted by freedesktop.org which aims to provide a unified framework for desktop search. It defines both the API provided by services, and the protocol to query them.
Xesam was founded in February 2007 by Mikkel Kamstrup Erlandsen, originally under the name Wasabi, then changed due to a trademark conflict with Wasabi Systems, Inc. Various free software projects participated in defining the specification, the two most notable of which were Strigi and Beagle.
After a long period of gestation, stable release 1.0 was announced on 2 May 2009.
The Xesam API is built upon D-Bus inter-process communication, which permits applications to maintain a separation between servers and clients and to allow either to be replaced without requiring a modification to the other. Thus different front-ends can easily communicate with the same Xesam implementation (for example, both via KDE and GNOME) and be interoperable with different environments.
Requests from clients to servers are delivered in a XML format, which fields are described by the defined ontology. Two different kind of queries are in place: the Query Language, which offers a more granular description for matching files, and a User Query Language, which offers a more restricted set of search criteria but may be written directly by the user without further elaborations.
Communications defined by the API are mostly asynchronous, so that client implementations (especially graphic clients) are not blocked while the search is executing.
- Announce of the change of the name
- Evgeny Egorochkin (2008-05-27). "Xesam Project History". Xesam Project. Retrieved 2010-12-10.
- Xesam support in Strigi
- Beagle adapter for Xesam protocol
- Announce of 1.0 release of the specification
- Ontology used by Xesam
- Specification of the Xesam Query Language
- Specification of the Xesam User Language