Magpie is a suite of tools assisting users with the interpretation of web resources. It resides in Internet Explorer and automatically associates a semantic layer with web pages using a user-selected ontology. Semantic layers are annotations of web pages, with a set of applicable semantic services attached to the annotated items. The capability to generate different semantic layers for any web resource is vital to support the interpretation of web pages. Dy-namic assignment of semantic web services to the entities recog-nized in a web page allows users to browse the web semantically. The Magpie suite also offers trigger services based on patterns of an automatically updated semantic browsing log. The semantically enriched browsing history management is discussed in our full paper (see the reference).
Semantic Web, browsing history management, semantic web ser-vices, named entity recognition
There are many ways to characterize Magpie. One view, emphasized in earlier papers, is to consider Magpie as a tool supporting the interpretation of web pages. One can see the automatic recognition of entities in web pages and the linking of these entities to semantic concepts as a way to bring an interpretative context to bear, which can help users in making sense of the information presented in a web page. For instance, Magpie in a learning context helps students of a climate science course to understand the vast mass of information about climate change that can be found on the web. In such a context, using Magpie can be seen as adopting the viewpoint of an expert in the field, and use this as an aid for navigating the web.
Another way to look at Magpie is as a semantic web browser. If we take this view, then Magpie can be seen as providing an efficient way to integrate semantic and 'standard' (i.e., non-semantic) web browsing, through the automatic association of semantics to web pages and the provision of user-interface support. This allows the user to navigate the web using both semantic and hypertext links, and helps him/her to invoke the services appropriate for a given class of ontological entities.
A third viewpoint we can use to characterize Magpie is as a framework for developing semantic web applications. According to this view, the Magpie suite of tools can be seen as a 'shell' for building semantic web applications, which provides generic mechanisms for bringing together ontologies, web resources and (semantic) web services. As a development framework the new Magpie opens up new communication modalities allowing bi-directional exchange of information among services and users. This is crucial for going beyond the traditional 'click&go' modality of existing hypermedia systems, such as COHSE, and realizing the 'semantic web of applications' vision.
The combination of ontology-specific on-demand and trigger services with automatic semantic annotation facilitates a new behavior in the context of web browsing. To a certain extent, it is possible to perceive this emergent activity as semantic browsing. The role of Magpie is to lower the obstacles facing the users of the Semantic Web when trying to develop new, semantically rich applications. We argue that adaptability and customization of the user interfaces and interactive services are key premises of semanticizing the existing Web (see reference or another reference).
As a scenario, consider one of our test cases that saw Magpie being used as an aggregator of distributed educationally relevant resources. The pilot runs at The Open University, where an introductory climatology course is offered to the students using a range of printed and multimedia resources. In addition to those, the students are encouraged to read about scientific advances of major climatology research centers (such as UK's MetOffice Hadley Center). Magpie is used to facilitate a course-specific viewpoint on such scientific or popular resources. This is achieved in the following ways.
Different colors in Figure 1 highlight concepts belonging to different ontological classes. Magpie users toggle the highlighting of a specific class of entities, which were annotated using an ontology-derived lexicon. Classes are ontology dependent; user's choice of a different ontology generates a new set of toolbar buttons (see marker '*') and respective colors. Thus, the user has a different interface (UI) available to him or her, whose on-the-fly adaptation depends on the selected ontological viewpoint. All these modifications deliver what we call a user-selectable interpretative view-point. Generally speaking, web resources potentially authored by third parties provide the content for learning. This is comple-mented by the ontology, which provides visually distinguished contextual semantic layers (see reference). Layers then introduce semantic structure to otherwise (semantically) unstructured web page.
Figure 1. A sample scientific text viewed through Magpie. Relevant concepts from climatology, physics and chemistry are highlighted in part A using the Magpie toolbar (marked by '*').
The purpose of on-demand semantic services is to deliver contextually relevant knowledge. As shown in Figure 2, the on-demand services are delivered through a right-click, contextual menu. The menu depends on a semantic context defined by the membership of a clicked-on entity to a particular ontological class as contained in the ontology-derived lexicon. The contextual pop-up menu is dynamic and looks differently for different classes and different ontologies. The example in the center of Figure 2 is tailored to offer simple educationally relevant options such as an explanatory glossary or further readings. The options displayed are generated by the Magpie Services Agent taking into account the availability of published web services suitable for a particular category.
Figure 2. Results of the 'Explain concept' semantic query for 'precipitation' or 'rainfall' (see the semantic menu on the left).
Selecting an option in the semantic services menu generates a request to achieve a particular task associated with a given option. This is processed by a web service managing server and forwarded to an appropriate service provider that will do the reasoning or knowledge retrieval (as applicable). An example of a response to service 'Explain concept' for terms 'precipitation' and 'rainfall' is in Figure 2 - in textual as well as pictorial form.
Trigger services are a Magpie variant of a popular form of delivering information used by various recommenders or advisers. Unlike "click&go" modality of the on-demand services, the trigger ones implement more dynamic and open "subscribe&get" modality. The precondition for trigger services is a browsing history log with the recognized entities. Semantic log is monitored by watchers - each corresponding to a unique trigger service. Appearance of a pattern activates a respective watcher, which in turn sends applicable knowledge to the user's Magpie hub. The knowledge is transmitted as an asynchronous XML-encoded message - the service provider pushes relevant information to the user.
Figure 3. An example of a Magpie trigger service collecting those concepts appearing on a page that can be modeled/visualized using students' toolkit. The contextual menu is again class-specific; with an added option "Related URI-s" serving as an automated semantic bookmark engine.
The user only needs to select which triggers s/he is interested in; these are to be activated whenever appropriate messages arrive from a service provider. A collector in Figure 3 lists those concepts or climate phenomena recognized in a web page, which can be modeled using a student's toolkit. Some phenomena might be mentioned explicitly, whilst others might be offered based on semantic distance to other recognized concepts. For instance, the 'wind/convection' in Figure 3 could have been discovered due to its proximity and semantic relevance to concepts of 'air', 'aerosol' or 'stratosphere'.
Each of these pushed chunks of knowledge can be browsed using a similar contextual menu as described in section 2.2 (only this time, the menu would be customized for a different ontological class 'Course activities'). In addition to creating explicit collections of data, Figure 2 shows one important benefit of our frame-work. Namely, each entity pushed to the user is also annotated with its original URI. As discussed in this paper, this enables us to offer novel functionality of semantic bookmarking and browsing history management. Rather than retrieving pages based on their meta-data and URI-s, semantic bookmarking assumes queries using domain-specific filters such as e.g. "find all pages that had something to do with modeling cyclones" (where cyclone is ontologically associated with more abstract concept of convection).
Magpie is a framework consisting of client- as well as server side components. The schematic architecture of the Magpie technological infrastructure is shown in Figure 4 Because of the network dependencies and limitations, it the demonstration shall focus primarily on the on-demand semantic services. We shall also demonstrate how a standalone prototype of a semantic bookmarking and browsing history management facility can draw upon annotations done automatically in a specific browsing session.
Figure 4. Schematic architecture of "open services" Magpie framework.
Trigger services are dependent on the availability of the XML messaging platform, which normally takes care of all "service provider - end user" data and knowledge exchange. A simplified version of the messaging as well as web service manager/broker (IRS-II) shall be used for this particular demonstration.
More walkthrough presentations and movies of using Magpie in different user scenarios are available from the following URIs:
This demonstration shall accompany our full research paper that will be presented in the main programme of the 3rd ISWC in Hiroshima. Current full paper shall be available in the conference proceedings; however, we also list a few older publications. The following papers discuss technical details of Magpie framework and explain rationale to our approach: