=Paper= {{Paper |id=Vol-201/paper-7 |storemode=property |title=Gobbleing Over the Web With Semantic Turkey |pdfUrl=https://ceur-ws.org/Vol-201/26.pdf |volume=Vol-201 |dblpUrl=https://dblp.org/rec/conf/swap/GriesiPS06 }} ==Gobbleing Over the Web With Semantic Turkey== https://ceur-ws.org/Vol-201/26.pdf
         Gobbleing over the Web with Semantic Turkey
                                Donato Griesi, Maria Teresa Pazienza, Armando Stellato
                                        DISP, Università di Roma “Tor Vergata”
                                      {griesi, pazienza, stellato }@info.uniroma2.it


                                                                    offering clear separation between knowledge data (the WHAT)
   Abstract—In this work we introduce Semantic Turkey, a            and web links (the WHERE), allowing for innovative
Semantic Extension for the popular web browser Mozilla Firefox.     navigation of the acquired information as well as of the pages
Semantic Turkey can be used to annotate information from            where it has been collected.
visited web sites and organize this information according to a
personally defined ontology. Clear separation between knowledge
data (the WHAT) and web links (the WHERE) is established into                           II. RELATED WORKS
the knowledge model of the system, which allows for innovative      As an evidence of the great interest for the matter, several
navigation of the acquired information and of the pages where it    actions have been undertaken in the last years towards the
has been collected. This paper describes the architecture of the
Semantic Turkey extension for Firefox, discusses its development
                                                                    realization of so called Semantic Browsing solutions for the
in the context of the FILAS technophore project, shows its most     Web. In this section we will briefly recall a few of them.
interesting features and presents our plans for future                 Haystack [14], developed inside the laboratories of the
improvements of the tool.                                           MIT, was conceived as an application that could be used to
                                                                    browse arbitrary Semantic Web information in much the same
  Index Terms—Semantic Annotation, Semantic Desktop, Web            fashion as a Web browser can be used to navigate the Web.
Navigation, Human Computer Interface
                                                                    Standard point-and-click semantics let the user navigate over
                                                                    aggregation of RDF repositories from different arbitrary
                      I. INTRODUCTION
                                                                    locations. The application is built as an extension for the

W      HILE new solutions for Semantic Desktops and
       Innovative Browsing of file systems ([13], [22]) are
arising in these days, one of the instruments which is mostly
                                                                    popular Integrated Development Environment Eclipse [5]; this
                                                                    choice facilitates extension of the tool thanks to Eclipse
                                                                    flexible plug-in mechanism, but requires the user to adopt
correlated to WWW – the Web Browser – and which should              Eclipse as a platform for browsing the web and collecting data
be more prone to the wind of innovation which is blowing            from it: a strong demand to the average user, who would just
from the Semantic Web, remains confined to its old fashioned        prefer to rely on his trusted personal web browser and try out
interaction modalities. Despite a few initiatives to extend their   other features which are not too invasive for his usual way of
standard functionalities, like Google Notebook [9], web             working.
browsers offer now no more than the classical services – for           The opposite approach is being followed by Magpie [3],
collecting and organizing bookmarks and for retrieving the          which is deployed as a plug-in for the Microsoft Internet
history of past navigation activity – which we have been used       Explorer Web Browser. In its first incarnation, Magpie
to in almost a decade. The web is however not the same of ten       allowed for semantic browsing, intended as the parallel
years ago: today almost every information can be accessed           navigation of purely “exposed” web content and of its
even (if not solely) from the WWW so that every web user is         associated semantic layer (an ontology associated to the web
exposed to a huge amount of information which is difficult to       resource, which semantically describes its content). Magpie
manage and retrieve. New paradigms are thus necessary to            also allows for collaborative semantic web browsing, in that
support web browsing and to aid in collecting and retrieving        different persons may gather information from the same web
the data which is observed during navigation.                       resource and exchange it on the basis of a common ontology.
   In this work we introduce Semantic Turkey, a Semantic            Recent work on Magpie [4] extended the platform more and
Extension for the popular web browser Mozilla Firefox [6],          more towards the vision of the Semantic Web as “an open web
which can be used to annotate information from visited web          of interoperable applications” [1], by allowing bi-directional
sites and organize this information according to a personally       exchange of information among users and services, which can
defined ontology. Semantic Turkey should not be addressed as        be opportunistically located and composed, either manually
a “Semantic Web Browser” (whatever the nature of this term,         (web services) or automatically (semantic web services).
which will probably take shape in the next future), but it is          From (part of) the same authors of Haystack, comes Piggy-
instead intended as a personal desktop solution for organizing      Bank [10], an extension for the Firefox web browser [6] that
and managing the knowledge acquired during web navigation,          lets Web users extract individual information items from
an advanced replacement for the traditional “Favorites” menu,       within web pages and save them in RDF, replete with
metadata. Piggy Bank then lets users make use of these items        empirical observations of Tauscher and Greenberg [19] (also
right inside the same web browser. These items, collected from      cited in [3]) which reported the following statistics on the
different sites, can then be browsed, searched, sorted, and         types of actions carried out by the typical web user:
organized together, regardless of their origins and types.
                                                                      -    58% of pages visited are revisits
Piggy-Bank users may also rely on Semantic Bank, a web
                                                                      -    90% of all user actions are related to navigation
server application that lets them share the Semantic Web              -    30% of navigation actions are through the ‘Back’
information they have collected, enabling, as for Magpie,                  button
collaborative efforts to build sophisticated Semantic Web             -    less than 1% of navigation actions use a history
information repositories from daily navigation through their               mechanism
enhanced web browser.                                                 -    ~ 5% of navigation actions use bookmarks lists (also
                                                                           known as “hotlists”, “favorites” etc...)
                      III. MOTIVATIONS
                                                                       What emerges is a great need for efficient recovery of
Our research work, funded by the FILAS (Finanziaria Laziale         already visited pages (and, more in general, of already
di Sviluppo) agency under contract C5748-2005, has been             accessed knowledge), which is not matched by an adequate use
focused on innovative solutions for browsing the web and for        of the available instruments (back buttons are only useful if the
organizing the information which is observed during                 visited page is among the last visited pages in the same
navigation. The interest of the FILAS agency in this project        session, which can occur quite often, while the instruments to
has been motivated by their necessity of developing useful          recover past knowledge, like history and bookmarks, are
tools for assisting the work of the technophore, a particular       scarcely adopted).
figure which has the role of identifying and suggesting
innovative technological solutions for industries. The                    IV. APPROACH: REQUIREMENTS AND DESIGN GOALS
technophore’s effort is devoted to improve the business
                                                                    We thus focused on finding innovative solutions for collecting,
processes of companies involved in a technology innovation
                                                                    managing and retrieving data observed during web navigation.
phase, as well as to suggest or promote new market directions
                                                                    Our key goal was to overcome the limited usability of
for their activity. These suggestions walk through the
                                                                    bookmarks lists, which:
discovery of proper technological solutions and possibly of the
identification of the right contacts (academic institutions,          -    see weblinks as first class citizens. They can be
research centers or even other companies) which reveal to be               categorized by implicitly adding them to a bookmarks
of interest for the objectives of the company.                             folder, but they are no way separated from the
   The technophore has generally an high level education and a             knowledge they represent. More links could be related
wide expertise in a given knowledge domain, though                         to the same subject, but there is no way to represent
originality of mind, creativity and attitude to research are key           this, except considering the subject as a folder itself,
aspects of his profile, as he is often exposed to strongly                 thus      betraying       the     intended      equation:
underspecified demands, where the problem must be identified               folder = category. Also, in some cases, it could be
even before solutions, and where interesting clues may emerge              important to identify the portion of a page which
from unexpected information sources.                                       contains the relevant information which caused it to be
                                                                           bookmarked (e.g., “John Doe” is cited in a long web
   In our interviews with one of the technophores working for
                                                                           document which is very generic and not directly related
the FILAS agency, unexpected aspects emerged putting
                                                                           to John Doe; we would like to take note of the page, but
serious doubts on the kind of contribution we could make to
                                                                           still maintain the focus on the real subject of our
aid their work: the interviewed technophore told us that she               interest and immediately recognize where it has been
often got ideas by listening to the radio, or by watching a given          identified).
spot on the TV (which were often unrelated to her original            -    do not foresee any kind of multiple categorization. Any
investigation), or simply by reading web sites and mailing lists.          folder cannot belong to two or more different folders (a
In many cases, good ideas were also accompanied by rapid                   kind of multiple inheritance between categories), nor
flashbacks over things seen “somewhere” and “somewhen” in                  can any single weblink belong to more than one folder
the past, but which were difficult to recall. No intelligent               (multiple instantiation).
system could be able to behave in such a fashion, suggesting          -    as a consequence of the two above, single knowledge
new ideas or interacting with such a wide variety of media (the            resources cannot assume any kind of structure. It is not
scenario is very similar to the Semantic Web vision described              possible to further characterize a weblink, or to relate it
by Tim Berners-Lee et al. in [1]), but, limiting to the Internet           with other ones (except putting them in the same
media, we could surely support technophores over the                       folder/category).
“where/when have I seen it?” aspect which is also fundamental       Our project headed towards the development of a sort of
for their work, and which often involves a lot of time required
to retrieve the desired information.
   Our experience is aligned with the outcomes of the
“semantic notepad”1 offering basic functionalities for:                         of the functionalities of a well assessed, stable and complete
                                                                                software for web browsing, and a non invasive offer for the
    1.   capturing information from web pages, both by
                                                                                user, who can still use his web browser he has been acquainted
         considering the page as a whole, as well as by
         annotating portions of their text                                      with.
    2.   editing a personal ontology for categorizing the                          The second layer, the service layer, is realized through a
         annotated information and, possibly, to exchange                       collection of Java Web Services, published through the Web
         information with other people. This ontology may also                  Server “Jetty” [11]. Jetty is implemented entirely in Java, and
         be used in different contexts: for example, a personally               the architecture foresees its use as an embedded component.
         populated FOAF ontology [7] could be used as a                         This means that the Web Server and the Web Application run
         contact list, possibly exporting it to the personal mail               in the same process, without interconnection overheads and
         browser                                                                other sort of complications. This solution also allows for a
    3.   navigating the structured information as an underlying                 flexible use of the tool, since it can both be adopted as a
         semantic net which, populated with the many                            completely autonomous web browser extension, as well as a
         relationships which bind the annotated objects                         personal access point for collaborative web exploration and
         between them, eases the process of retrieving the                      annotation: in the latter case, a centralized solution is being
         knowledge which was buried by the past of time. For                    adopted, in which every clients communicate with the same
         example, a user could discover that two persons which                  Jetty server.
         he has kept track of in separate sessions (by annotating                  The third layer, the persistence layer, is constituted by the
         their presence and some aspects of their profiles                      component for managing the ontology, which is written in the
         appearing in visited web pages), work in the same                      OWL language [15]. It has been realized by using Sesame [2]
         place, or have any kind of connection he would not
                                                                                and the OWLIM plugin [12]. Sesame is an open source RDF
         recall     with      any      kind     of     traditional
                                                                                database with support for RDF Schema inference and
         bookmarking/annotation service. This feature is
                                                                                querying. Since the Knowledge Model of Semantic Turkey is
         described in detail in section VI on User Interaction.
    4.   Clearly separates the business model from the user                     expressed in the OWL Lite [16] dialect of the Web Ontology
         interface, by adopting a “knowledge service”                           Language, the OWLIM plugin has been employed to provide
         architecture. This way, the same architecture could be                 OWL Lite reasoning to the Sesame component.
         exploited for an enhanced personal web browser as                        A. The three layers
         well as for a shared environment for collaborative
                                                                                   The following sections describe more in detail the three
         semantic tagging of web pages.
                                                                                layers which constitute the architecture of Semantic Turkey
In this sense, Semantic Turkey differentiates from similar,                       1) Presentation Layer: As previously mentioned, the
previously described, tools, as it offers a lightweight structure,              presentation layer has been realized as an extension to the web
which completely exploits the interface of the hosting web                      browser Firefox. The User Interface has been created through
browser (with respect to, for example, the complex HTML                         a combined use of the XML User Interface Language XUL
interface of Piggy-Bank) and which grants the user maximum                      [25], XBL [23] and Javascript language.
(and easy) control over its personal knowledge model (while                        The User Interface extension physically appears as a
Magpie adopts ontologies which have been defined                                sidebar, containing the ontology tree, which may be shown on
elsewhere). Our experience with and feedback received by the                    the left side of the window by selecting dedicated “ontology”
FILAS technophores have been completely successful, in that                     item added in “Tools” menu. The icons that represent the
they felt Semantic Turkey as a really ease-to-use add-on to                     nodes of the tree distinguish between classes and instances that
their traditional web browser, with an intuitive interface and                  belong to the ontology.
immediate response.                                                                The ontology is loaded/updated through calls to the server,
                                                                                carried out using the Ajax [8] technique: the data – in XML
                          V. ARCHITECTURE                                       format – is thus mainly exchanged between the two layers in
The architecture of Semantic Turkey consists in a web                           an asynchronous way, to preserve good performance and to
application, designed using a three layer approach.                             not penalize the activity of the browser.
  The first layer, the presentation layer, has been developed as                   The extension has also an other prerogative, which is not an
an extension for the web browser Firefox. Everything                            ordinary feature of the presentation layer: it has to assure that
regarding user interaction is directly managed by the Firefox                   the web server is being loaded as an embedded component, at
extension, thanks to a solution directly integrated in the                      the start of the browser process. To do that XPCOM [24]
browser. This approach has two main advantages: total reuse                     components, written in JavaScript, have been developed for
                                                                                linking the chrome part and the Java part.
1
  “Taccuino” is the italian translation of the term “Notepad”. In our lab, we      In order to load the Java component, the Simile Java Firefox
hate so much the silly Italian expression “Taccuino Semantico” (Semantic        Extension [18] has been used. This component permits to load
Notepad) that we started to use any kind of misspelling of its name, the        java classes or jar packages, instantiate objects and to invoke
funniest (and most used) of which was “Tacchino Semantico” (Semantic
Turkey). The rest is history…
                                                                                static methods or methods of the object previously instantiated.
                                              Figure 1: Semantic Turkey Architecture

   At the start of the browser process, after loading the java      is being performed, in order to decouple the data model with
components (the java server code and the required libraries), a     its manifestation in the presentation layer.
static method is being invoked with the role of instantiating the      The majority of invocations to the server are being
web server. This solution makes it possible to install all the      completed in an asynchronous way, so that, independently
application simply as a Firefox extension, without configuring      from the workload that is subjected the server, the browser can
other software.                                                     continue to respond to the user. This is a crucial issue for the
   2) Service / Persistence layer: This layer offers services       usability of the application: expensive computations blocking
which may be invoked through http requests submitted                normal behavior of the browser would otherwise not be
according to the Ajax paradigm, thus enabling communication         tolerated by the user.
between the client (Firefox extension) and the server. The             Besides supporting the communication with the client, the
server receives the requests coming from the client by GET or       service layer provides the functionalities for definition,
POST http calls, carries out the operations associated to these     management and treatment of the data. Several objects are
calls, and in case replies with an XML response. If a call          described through an ontological model (see next section), to
implies the return of a XHTML page, a XSLT transformation           represent both pure conceptual knowledge as well as
                  Figure 2: Annotating concepts from a web page and establishing relationships between them

application required information.                                 abstracts from the storage device used (in-memory storage,
   Finally, the service layer also provides another important     disk-based storage, RDBMS) and takes care of inference.
functionality linked with the presentation layer. It allows for      From the architecture perspective the Access APIs are the
the capability of visiting the ontology through a graph view,     most important component. These APIs provide high-level
using the TouchGraph library [21]. TouchGraph is an open          access functionality to client applications, either locally or
source tool for visualizing networks of interrelated              remotely (over HTTP or RMI).
information. It renders networks of information concepts as          Sesame can thus be deployed as an RDF database, with
interactive graphs that lend themselves to a variety of           persistence in an RDBMS, or as a Java library for embedded
transformations. By engaging with the visual image, a user is     use in applications. This last modality has been employed for
able to navigate through large networks of information and to     the definition of the architecture. In our case, the ontology data
explore different ways of arranging the network's components      is, by default, handled in memory and stored in the (local) File
on the screen.                                                    System, but it is possible to easily switch to the database
   In order to access TouchGraph from presentation layer, it      storage backend for managing very large ontologies. Also, the
has been used an apposite java applet, present in the library.    ontology repository may be located in a different site, thus
Since the applet must be loaded on the server side, a specific    offering different possibilities for decentralizing the
Java servlet has been written. The servlet works like a proxy,    application.
redirecting the applet loaded, with the correct parameters, to
                                                                    B. The Knowledge Model
the client side.
   3) Persistence Layer: Sesame provides the abstraction layer       The knowledge model of Semantic Turkey is based on four
over ontological data. The foundation of the component is the     different layers of ontological knowledge.
Storage And Inference Layer (SAIL). This SAIL is an API that
      1.    The Application ontology: This ontology contains                             VI. USER INTERACTION
            resources needed by Semantic Turkey to organize,          The user may interact with the tree in the ontology panel to
            retrieve and present information to the user.             modify the ontology, by performing the following operations:
      2.    The Top Ontology (which owl:import the Application
            Ontology): this ontology has originally been conceived       1.   Drag and drop of a selection of a text from an html
            inside our project for FILAS, and is thought for                  document displayed in the browser, on the icon that
            representing a minimal knowledge which should be                  represents a class, in order to create an individual of
            shared across the different technophores. This                    that class. The selection will become the ID of the new
            ontology can simply be seen as a guideline for driving            individual and a new icon will be shown below the
            the personal annotations of each of the technophores,             selected class.
            and could be used as well as a shared ontology for           2.   Drag and drop of a selection of text from an html
            exchanging information between them.                              document, on the icon that represents an individual, in
      3.    The Personal/Domain Ontology (which owl:import                    order to characterize a property which that individual
            the Top Ontology): The third ontological layer allows             owns. A specific window will open, prompting the
            for a personalized organization of the knowledge                  user to choose the fitting property. The selection will
            which is extracted and collected from the web.                    become the ID of a new individual that represents the
      4.    The Knowledge Base (which owl:import the Top                      instance of the range of the property chosen. If the
            Ontology), i.e. the set of instances which populate the           selected property is an object property, a new icon will
            personal ontology of the user.                                    be created relatively to the range class.
                                                                         3.   Drag and drop of a selection of text from an html
   The Application ontology is composed of resources useful
                                                                              document, on the icon that represents an individual, in
for managing the annotation functionalities. These, among the                 order to define a further lexicalization for that
others, include the classes:                                                  individual. The user can choose, from the same panel
  -        Annotable identifying the part of the ontology which               described before, if the selection characterizes a range
           can be annotated by the user                                       of a property or a lexicalization.
  -        URI which offers links to the visited pages                   4.   Direct editing of the ontology. In particular it is
  -        SemanticAnnotation containing the annotations                      possible to modify the names or delete the created
           performed by the user, described by their URL, related             classes/individuals The last operation may be
           concept etc…                                                       performed for the concepts only if they belong to the
                                                                              domain ontology (as described before). Furthermore a
  and the properties:                                                         user may create a subclass of a preexisting class,
  -        has_location linking URLs with Annotable concepts                  defining new properties besides the ones that are
  -        observed_lexicalization describing the form with                   inherited. Lastly, it is possible to directly create new
                                                                              individuals in the ontology, instead of generating them
           which a given object appeared in a specific annotation;
                                                                              through annotations from the web. All the operations
           this property has been preferred to a more precise
                                                                              are being carried out through specific panels that may
           information, like reporting the byte offset of the
                                                                              be selected by a dedicated menu which can be
           annotation inside the page, to make retrieval of the
                                                                              activated by right clicking on the nodes of the tree, in a
           annotated object more robust with respect to minor
                                                                              way much similar to traditional ontology editing tools,
           changes that occurred to the page over time.
                                                                              like Protégé [17] or TopBraid Composer [20]. By
   The Application ontology is invisible to the user and is only              offering complete interaction with the ontology via the
exploited by the application to get the proper logic for                      XUL interface (instead of an HTML interface, like in
administering the upper ontological layers. Resources                         Piggy-Bank), the user is not diverted from his current
originated from the Top ontology are read-only, and cannot be                 navigation (i.e. the main browser panel is still focused
deleted as a consequence of any edit operation by the user. In a              on the visited web page, which would otherwise be
really general perspective, the Top Ontology could even be left               replaced by the HTML UI) and may maintain its
empty (i.e. if there is no supposed shared conceptualization                  attention over the observed web page.
which must be adopted by users working on a common                       5.   Add synonyms for the concepts. By the apposite menu,
annotation framework; in this case, each user has to build from               which can be activated by right click on the tree
scratch its own conceptualization, which will be thus                         elements that represent concepts, it is possible to
                                                                              define other lexicalizations (in different languages) for
constituted by the sole Personal Ontology), or contain general
                                                                              the ontology concepts.
purpose resources, like the already cited FOAF ontology,
which could be adopted to maintain a list of contacts, possibly          As an additional feature, the user may graphically explore
exchanging information with other applications (like a mail           the ontology (see
browser or a client for instant messaging).                              Figure 3), thanks to the SemanticNavigation component. A
                                                                      Java applet will be loaded on a new tab of the browser,
                                                                      displaying the graph view of the ontology, allowing the user to
                                                                      navigate its content. The nodes of the graph will be displayed
              Figure 3: Semantic Navigation: recalling ontology and web links for the object “Armando Stellato”

in different manners, according to the nature of the ontological   assist their “usual” web navigation with the possibility of
entity: nodes represent classes and individuals while properties   annotating observed information, inside an ontological
are represented by the links between the nodes. For clarity of     framework, to define a multilayered architecture in which
view, instances are displayed in a different manner compared       platform independent software components have been merged
to the classes. Dragging the mouse pointer on a node that          (for portability purposes) and to realize and exploit a
represents an instance, it is possible to open a popup window,     structured knowledge representation model in which different
which contains the URLs of the pages where that instance has       ontologies coexist, still maintaining their independence, while
been annotated.                                                    appearing as a personal unique ontological world description
   Finally, Semantic Turkey reports to the user, through a         to the end user
dedicated status bar, the pages which have been previously            The first developed system, based on our prototype of
annotated. When the user visits an already annotated page, an      Semantic Turkey, received an enthusiastic feedback from its
icon with the shape of a pencil is being shown in the lower part   users (FILAS technophores), which mostly appreciated its
of the browser. If the icon is being clicked, the html text        robustness, easiness of use and non-invasive integration inside
entries that represent the past annotations will be emphasized     their usual way of searching over the web.
(providing the page still contains those entries) with a light        We are now in the direction of refining the overall
background color.                                                  architecture to support further needs of sharing different parts
                                                                   of represented knowledge among different users. This will
                     VII. CONCLUSIONS                              require managing concurrent accesses to update different
In this paper Semantic Turkey, a special environment for           levels of the ontology. The next short-term objective, which
supporting end users in annotating information caught from         we plan to reach in the next few months, is to make Semantic
visited web sites, has been described.                             Turkey pass from its first release, specifically tailored over
   The main objectives have been to allow users to extend and      FILAS needs, to a publicly available browser extension, which
will be usable by anyone to semantically annotate web pages.                    [9] Google Notebook: http://www.google.com/notebook
                                                                                [10] D. Huynh, S. Mazzocchi & D.R. Karger “Piggy Bank: Experience the
This will require a mechanisms for creating and managing new                         Semantic Web Inside Your Web Browser”. In proc. of the Fourth
ontologies and/or importing existing ones, and possibly adding                       International Semantic Web Conference (ISWC05), pages 413-430,
further functionalities for ontology editing.                                        Galway, Ireland, November, 2005
                                                                                [11] Jetty Java HTTP Servlet Server. http://jetty.mortbay.org/jetty/.
                                                                                [12] A. Kiryakov, D. Ognyanov & D. Manov OWLIM – a Pragmatic
                          ACKNOWLEDGMENT                                             Semantic Repository for OWL. In Proc. of Int. Workshop on Scalable
   We would like to thank the FILAS agency for supporting                            Semantic Web Knowledge Base Systems (SSWS 2005), WISE 2005,
                                                                                     New York City, USA, 20 November 2005
our research in the development of the first prototype of                       [13] Leaftag project: http://www.chipx86.com/wiki/Leaftag
Semantic Turkey.                                                                [14] D. Quan and D. Karger. How to Make a Semantic Web Browser. In
   Special thanks to the reviewers which gave valuable                               Proc. Of the Thirteenth International World Wide Web Conference
                                                                                     (WWW2004), New York City, USA, May, 2004
feedback for the final drawing of this paper and useful                         [15] Web Ontology Language: http://www.w3.org/TR/owl-features/
suggestions for improving our work.                                             [16] OWL Lite Description:
                                                                                     http://www.w3.org/TR/2004/REC-owl-features-20040210/#s3
                              REFERENCES                                        [17] J. Gennari, M. Musen, R. Fergerson, W. Grosso, M. Crubézy, H.
                                                                                     Eriksson, N. Noy, and S. Tu. The evolution of Protégé-2000: An
[1]   T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web: A new           environment for knowledge-based systems development. International
      form of Web content that is meaningful to computers will unleash a             Journal of Human-Computer Studies, 58(1):89–123, 2003
      revolution of new possibilities”. Scientific American, 279(5): p.34-43.   [18] Simile Java Firefox Extension:
      May 2001                                                                       http://simile.mit.edu/java-firefox-extension/
[2]   J. Broekstra, A. Kampman & F.v. Harmelen I. Horrocks & J. Hendler         [19] L. Tauscher, and S.Greenberg. “How People Revisit Web Pages:
      (ed.) Sesame: “A Generic Architecture for Storing and Querying RDF             Empirical Findings and Implications for the Design of History
      and RDF Schema”. Springer Verlag, Proceedings of the First                     Systems”. International Journal of Human Computer Studies, 2001.
      International Semantic Web Conference, Sardinia, Italy, pages 54-68,           47(1): p. 97-138.
      July 2002                                                                 [20] TopBraid Composer: http://topbraidcomposer.info/
[3]   M. Dzbor,, J. Domingue and E. Motta. “Magpie: Towards a Semantic          [21] Touchgraph Development Page: http://touchgraph.sourceforge.net/
      Web Browser”. In proc. of the 2nd International Semantic Web              [22] S. Wheeler. “Tenor: A Contextual Linkage Framework for KDE”
      Conference (ISWC03), Florida, USA.                                             downloadable from:
[4]   M. Dzbor, E. Motta and J. B. Domingue. “Opening Up Magpie via                  http://websvn.kde.org/*checkout*/trunk/playground/base/tenor/docs/ten
      Semantic Services”. In Proc. of the 3rd Intl. Semantic Web Conference          or-architecture.pdf?rev=475778
      (ISWC04), November 2004, Japan                                                 April 6, 2005
[5]   Eclipse Platform Technical Overview:                                      [23] Extensible Binding Language:
      http://www.eclipse.org/articles/Whitepaper-Platform-3.1/eclipse-               http://www.mozilla.org/projects/xbl/xbl.html
      platform-whitepaper.html                                                  [24] XPCOM. http://www.mozilla.org/projects/xpcom/
[6]   Firefox home page: http://www.mozilla.com/en-US/firefox/                  [25] XML User Interface Language (XUL) Project.
[7]   Friend Of A Friend Ontology (FOAF): http://xmlns.com/foaf/0.1/                 http://www.mozilla.org/projects/xul/
[8]   J.J. Garrett. “Ajax: A New Approach to Web Applications”. Feb. 18,
      2005
      http://www.adaptivepath.com/publications/essays/archives/000385.php