Nepomuk-KDE provides the framework for semantically enabled applica- tions on the user’s desktop. The central RDF repository is a central access point for semantic data to all the applications on the desktop - to store or to use. A semantically enabled application will be able to create resources and store them in the RDF repository and/or create or edit properties of existing resources as well as relations between existing resources, according to their functionality.
However, the data from one application might be more suitable/appropriately used (visualized, edited, etc.) by another application from the desktop. We propose to make the user aware of the possible actions available for a given resource through context menus.
According to the KDE Usability Project context menus are “menus called by user interaction that provide a set of commands related to the context of where the interaction takes place within the interface object. They offer only items that are applicable or relevant to the object or region at the location of the focus or the pointer.” We modify the common understanding of the term by not considering just the actions possible in the environment of the current/active application (from which the menu is called), but the actions possible in all (or most) of the applications that support actions on the selected resource. The semantic context menus should be activated only when the object is identified as an existing resource in the RDF repository. It can further be restricted so that the menu is activated only for some of the available types of resources.
To be identiﬁable by a semantic query, applications must register in the RDF repository the types of resources they can handle, and the actions they can perform on each type of resource. For this purpose we define an ontology for applications and actions. A matching service is called whenever a resource’s context menu is activated.The service matches the type of the resource with applications that have registered actions for it.
We tackle two challenges in our solution: identiﬁcation of resources and efficiency of queries so that the context menus are responsive. The identiﬁcation of resources must be done correctly in various environments and through various elements - URI, label, unique properties (like full name or nickname of a person), mime type, etc. When there are several resources that partially match the user must select the correct one.
We use the semantic note-taking tool SemNotes4 as testing ground of our solution. In the Linked Editor of the application resources of selected types are already identiﬁed and transformed into links in the notes using their URI.