Xesam

Xesam (eXtEnsible Search And Metadata) is a specification promoted by freedesktop.org which aims to provide an unified framework for desktop search: it defines both API exposed by service implementors (the servers) than the protocol to query them.

History

Founded in February 2007 by Mikkel Kamstrup Erlandsen under the name Wasabi (then modified due legal issues with Wasaby System), different free projects where involved to partecipate in the specification. Of them, actually Strigi and Beagle are the most notably of implementing the standard.

After a long period of gestation, stable release 1.0 was recently announced.

Details

The Xesam API is built upon D-Bus inter-process communication, which permits to maintain a separation among server and client and substitute each of them without have to modify the other. This permits to use the same application against any Xesam implementation (for example, both on 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 asyncronous, to grant client implementations (above all, graphic clients) to not be blocked while the search is in execution.

See also

  • Desktop search
  • FreeDesktop.org
  • NEPOMUK