Semantic desktop

In computer science, the semantic desktop is a collective term for ideas related to changing a computer's user interface and data handling capabilities so that data are more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer could be. It also encompasses some ideas about being able to share information automatically between different people. This concept is very much related to the Semantic Web, but is distinct insofar as its main concern is the personal use of information.

Problems to solve
The vision of the semantic desktop can be considered as a response to the perceived problems of existing user interfaces.

Metadata
Without good metadata, computers cannot easily learn many commonly needed attributes about files. For example, suppose one downloads a document by a particular author on a particular subject - though the document will likely clearly indicate its subject, author, source and possibly copyright information there may be no easy way for the computer to obtain this information and process it across applications like file managers, desktop search engines, and other services. This means the computer cannot search, filter or otherwise act upon the information as effectively as it otherwise could. This is very much the problem that the Semantic Web is concerned with.

File structure
Researchers in the iMemex project provide the following query examples:


 * 1) “Show me all LaTeX ‘Introduction’ sections pertaining to project PIM that contain the phrase ‘Mike Franklin’.”
 * 2) “Show me all documents pertaining to project ‘OLAP’ that have a figure containing the phrase ‘Indexing Time’ in its label.”

Both of these queries need to parse the file structure, the first one to find a section in a LaTeX document, the second one to find figures and their labels in documents of any format, both of which current OSs don’t know how to do.

Inside-outside file boundary
A user might want te relate in a single query information that is maintained by the file system, such as placement in a folder, and information that is inside a file. With current technology, this query cannot be issued in one single request.

In query example 1 above, the project information is only materialized in the folder hierarchy; the rest of the filters relate to the inside of the file, and some of it needs to parse the file structure (see above). This leads to performing a first query in the file system and further search inside a file.

Data-application coupling
There is also the problem of relating different files with each other. For example, on operating systems such as Unix, e-mails are stored separately from files. Neither has anything to do with tasks, notes or planned activities that may be stored in a calendar program. Contacts might be stored in another program. However, all these forms of information might simultaneously be relevant and necessary for a particular task.

Data locality and sharing
Related to this, a user will often access a lot of data from the Internet which are segregated from the data stored locally on the computer and accessed through a browser or other program. Researchers in the iMemex project provide the example of searching both in the local folder hierarchy and also in email attachments, which are located on an IMAP server (see above, query example 2). In addition, the folder hierarchies are often different on both systems.

As well as accessing data, a user has to share data, often through e-mail or separate file transfer programs.

Definition
The semantic desktop is an attempt to solve some or all of these problem by extending the operating system's capabilities to handle all data using Semantic Web technologies. Based on this data integration, improved user interfaces (or plugins to existing applications) can give the user an integrated view on stored knowledge.

Sauermann et al. proposed a definition of Semantic Desktop in 2005: A Semantic Desktop is a device in which an individual stores all her digital information like documents, multimedia and messages. These are interpreted as Semantic Web resources, each is identified by a Uniform Resource Identifier (URI) and all data is accessible and queryable as Resource Description Framework (RDF) graph. Resources from the web can be stored and authored content can be shared with others. Ontologies allow the user to express personal mental models and form the semantic glue interconnecting information and systems. Applications respect this and store, read and communicate via ontologies and Semantic Web protocols. The Semantic Desktop is an enlarged supplement to the user’s memory.

Different interpretations of the semantic desktop
There are various interpretations of the semantic desktop. At its most limited state it might be interpreted as adding mechanisms for relating machine readable metadata to files. In a more extreme way it could be viewed as a complete replacement to existing user interfaces, which unifies all forms of data and provides a consistent single interface. There are many degrees between these two depending on which of the above problems are being dealt with.

Standardization effort
To foster interoperability between different implementations and publish standards, the community around the Nepomuk project founded the OSCA Foundation (OSCAF) in 2008. Since June 2009, the developers from the Nepomuk-KDE communities and Xesam collaborate with OSCAF to help standardizing the data formats for KDE, GNOME and freedesktop.org. The Nepomuk/OSCAF standards are taken up by these projects and Nokia's Maemo Platform.

Semantic Web
The Semantic Web is mainly concerned with making machine readable metadata to enable computers to process shared information, and the creation of formats and standards related to this. As such the aims of allowing more of a user's data to be processed by a computer and allowing data to more easily be shared could be considered as a subset of those of the Semantic Web, but extended to a user's local computer, rather than just files stored on the Internet.

However the aims of creating a unified interface and allowing data to be accessed in a format independent way are not really the concerns of the Semantic Web.

In practice most projects related to the semantic desktop make use of Semantic Web protocols for storing their data. In particular RDF's concepts are used, and the format itself is used.

Semantic file systems
Semantic file systems allow the user to query files by semantic metadata. As such, they can be considered a part of the semantic desktop.

Some operating systems such as BeOS include a semantic file system, which is a move towards a more semantic desktop.

Open Source Implementations

 * Semantic Desktop with KDE, NEPOMUK-based social semantic desktop is integrated into KDE Plasma Workspaces
 * Zeitgeist, based on NEPOMUK and used in GNOME and the Ubuntu Unity user interface
 * Gnowsis, an early reference implementation of NEPOMUK
 * NEPOMUK Java the Java implementation of NEPOMUK, done in parallel to the KDE one, gnowsis was discontinued by the developers to work on this
 * Deepamehta, a software platform for knowledge management
 * Tracker, a metadata database and file search
 * Iris, a semantic desktop application framework