<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Semantic Annotation of Web APIs with SWEET</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maria Maleshkova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlos Pedrinaci</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Domingue</string-name>
          <email>j.b.domingueg@open.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Knowledge Media Institute (KMi) The Open University</institution>
          ,
          <addr-line>Milton Keynes</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Recently technology developments in the area of services on the Web are marked by the proliferation of Web applications and APIs. The development and evolution of applications based on Web APIs is, however, hampered by the lack of automation that can be achieved with current technologies. In this paper we present SWEET{ Semantic Web sErvices Editing Tool{ a lightweight Web application for creating semantic descriptions of Web APIs. SWEET directly supports the creation of mashups by enabling the semantic annotation of Web APIs, thus contributing to the automation of the discovery, composition and invocation service tasks. Furthermore, it enables the development of composite SWS based applications on top of Linked Data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Since the advent of Web service technologies, research on semantic Web services
(SWS) has been devoted to reduce the extensive manual e ort required for
manipulating Web services. The main idea behind this research is that tasks such
as the discovery, negotiation, composition and invocation of Web services can
have a higher level of automation, when services are enhanced with semantic
descriptions of their properties. Recently, technology developments in the area
of services on the Web are marked by the proliferation of Web applications and
APIs. The development and evolution of applications based on Web APIs is,
however, hampered by the lack of automation that can be achieved with current
technologies. Research on semantic Web services is therefore trying to adapt the
principles and technologies that were devised for traditional Web services, to
deal with this new kind of services.</p>
      <p>
        Web APIs are characterized by their relative simplicity and their natural
suitability for the Web, which is indeed closely related to the growing
popularity and use of Web 2.0 technologies. Many Web 2.0 applications like Facebook,
Google, Flickr and Twitter o er easy-to-use Web APIs, which not only provide
simple access to di erent resources but also enable combining heterogeneous data
coming from diverse sources, in order to create mashups. However, despite their
success, Web APIs are currently facing the same limitations that were identi ed
for traditional Web service technologies and present even further di culties. In
particular, as opposed to WSDL services, there is no widely accepted structured
language for describing Web APIs, even though there are some initial approaches
in the area [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. As a consequence, in order to use Web APIs, developers are
obliged to manually locate, retrieve, read and interpret heterogeneous
documentations commonly given in HTML, and subsequently develop custom tailored
software that is able to invoke and manipulate these Web APIs.
      </p>
      <p>In order to support the creation of mashups and the more automated
handling of Web APIs in general, we have developed SWEET1 { Semantic Web
sErvices Editing Tool. SWEET is a lightweight Web application, which requires
no installation and can be invoked directly in the Web browser. It is realized
by using JavaScript and ExtGWT2 and supports the development of mashups
based on linked open data and services, by enabling the creation of semantic
descriptions of Web APIs. In particular, SWEET can be used to annotate Web
APIs, which results in semantic descriptions that are amenable to automated
reasoning and can therefore support a higher level of automation during the
discovery, composition and invocation of Web APIs. As a consequence SWEET
contributes to better supporting the creation of mashups and applications based
on linked open data and Web APIs.</p>
      <p>The remainder of this paper is structured as follows: Section 2, provides an
overview of the existing formalisms for the semantic description of Web APIs,
while Section 3 exempli es how semantically annotated Web APIs can contribute
to the scalability and exibility of the creation of mashups. Section 4 introduces
SWEET, including its components, functionalities and user support. An example
for creating semantic descriptions of Web APIs is given in Section 5. Section 6
presents an overview of comparable tools, related formalisms and approaches.
Finally, Section 7 presents future work that will be carried out and concludes
the paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Semantic Annotation of Web APIs</title>
      <p>
        Recently, the world around services on the Web, thus far limited to \classical"
Web services based on SOAP and WSDL, has signi cantly evolved with the
proliferation of Web applications and APIs, often referred to as RESTful Web
services [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], when conforming to the REST architectural style [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The majority
of the Web API descriptions are usually given in the form of unstructured text
in a Web page, which contains a list of the available operations, their URIs and
parameters, expected output, error messages and an example. Since currently
most Web applications and Web APIs rely only on HTML documentation, with
no xed structure or content, we use the hRESTS [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] microformat [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which
enables the creation of machine-processable descriptions on top of existing HTML
descriptions.
      </p>
      <p>hRESTS contains only a few elements, is very lightweight and easy to use.
Microformats, in general, facilitate the translation of the HTML tag structure
into objects and properties, while hRESTS in particular, uses class and rel</p>
      <sec id="sec-2-1">
        <title>1 http://sweetdemo.kmi.open.ac.uk/war/MicroWSMOeditor.html</title>
        <p>2 ExtGWT is a Java library for building rich internet applications with Google Web</p>
        <p>Toolkit (GWT). http://extjs.com/products/gxt/
XHTML attributes to mark key service properties (see Listing 1.1), leaving the
visualization of the HTML description unchanged. hRESTS introduces tags for
marking the service description as a whole, the used HTTP method, the
operation with corresponding input and output, and the service or operation names
in the form of labels. Therefore, hRESTS marks the key properties of the Web
API and provides a machine-readable description based on the available HTML
documentation. The result can be used as the basis for adding complementary
information and annotations.</p>
        <p>
          We use MicroWSMO [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for the semantic annotation of RESTful services,
which enables the creation of SAWSDL-like [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] annotations. It has three main
elements, which represent links to URIs of semantic concepts and data
transformations. The model tag indicates that the URI is a link to an ontology entity,
while lifting and lowering point to links for lifting and lowering
transformations between the level of technical descriptions (for example XML, used as a
data exchange format) and the level of semantic knowledge (for example RDF,
used for semantic-based manipulation such as reasoning). The MicroWSMO
microformat is relatively simple but it provides all the elements necessary for
attaching semantic information to Web API descriptions.
        </p>
        <p>In summary, we use MicroWSMO and hRESTS, to support the automation
of Web API-related tasks, such as discovery, composition and invocation. The
here presented approach is very lightweight because it relies on the use of
microformats, which only enhance existing HTML descriptions with a few simple
tags, without modifying the existing visualization. It only relies on the use of
incremental extensions, which results in a low overhead of its uptake and practical
use. In addition, the annotation process does not require extensive user training
or ontology knowledge, and is very intuitive. In particular, SWEET supports
users in creating semantic annotations of Web APIs by abstracting away from
the technical details and assisting in the location of suitable domain ontologies
from the Web.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Supporting the Creation of Mashups</title>
      <p>In this section we describe a data-oriented composition, i.e. a mashup, that we
implemented in order to exemplify the importance of the semantic annotation
of Web APIs for the creation of compositions, based on linked open data and
Web APIs.</p>
      <p>The availability of linked open data, such as the one published by the open
government data initiative3, provides the foundation for the development of
diverse mashups, where distinct sources can be combined to provide added-value
solutions. Moreover, these data compositions can be enhanced by integrating the
existing Web APIs as additional data sources. As a result, Web applications can
be created to display or synthesize linked open data and data retrieved through
Web APIs.</p>
      <sec id="sec-3-1">
        <title>3 http://data.gov.uk/</title>
        <p>Undoubtedly such applications can be very useful and there are already a
number of existing implementations, the most common ones probably being
the visualization of data by using the Google Maps API. However, currently,
a developer needs to manually search for suitable Web APIs, implement the
data composition and realize its invocation. The result is a mashup based on
open data and Web APIs. However, applications created in this way have very
restricted potential when it comes to reusability, maintenance and extensibility.
In order to enable the reusability of Web APIs within mashups and to add
a higher level of automation to the composition process, we propose the use of
semantic descriptions of Web APIs. Figure 1 visualizes a Web application
implemented by combining open government data about schools in Milton Keynes
with APIs for retrieving location-based crime statistic and visualizing it together
in Google Maps. However, instead of hard-coding the implementation, we use
the latitude and longitude as search parameters for nding relevant Web APIs.
In this way, based on the semantic descriptions, we are able to discover and
provide a set of services, which take as input latitude and longitude and return
location-based information such as crime statistic or local businesses.</p>
        <p>In order to support the creation of semantic descriptions of Web APIs and
contribute to the exible and easier creation of mashups, we use SWEET.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>SWEET</title>
      <p>
        SWEET (http://sweet.kmi.open.ac.uk/) is a Web application developed
using JavaScript and ExtGWT, which is started in a Web browser by calling the
host URL. It implementation is mainly based on using scripting programming
languages and is part of a fully- edged framework supporting the lifecycle of
services, particularly targeted at enabling the creation of semantic descriptions
of Web APIs. SWEET takes as input an HTML Web page describing a Web API
and o ers functionalities, which enable users to annotate the service properties
and to associate semantic information to them. In comparison to previously
published versions of SWEET [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] this version of the tool has some additional
features, is more stable, uses a new API of Watson for searching ontologies and
has proven to support the creation of composite Web applications based on
joining linked open data and semantically annotated Web APIs.
      </p>
      <p>As it can be seen in Figure 2, the architecture of SWEET consists of three
main components, including the visualization component, the data preprocessing
component and the annotations recommender. The annotations recommender
assists the user in annotating a service by suggesting suitable annotations for
the service as a whole (domain ontology recommendation) and for its individual
properties. This component is still under development and will be available soon.
The data preprocessing component implements functionalities for data
preparation for the visualization component, caching mechanisms and simple rule-based
analysis.</p>
      <p>
        The GUI of the visualization component is shown in Figure 3 and it has
three main panels. The the HTML description of the Web API is loaded in
the Navigator panel, which implements a reverse proxy [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] that enables the
communication between the annotation functions and the HTML by rerouting all
sources and connections from the original HTML through the Web application.
The result is a local representation of the HTML, which is used as a basis for the
annotation process. In this way, the HTML DOM can freely be manipulated and
di erent HTML tags can be added by using functionalities of the Annotation
Editor panel. The current status of the annotation is visualized in the form of
a tree structure in the Semantic Description panel. It is implemented using the
Model-View-Control architecture pattern [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], automatically synchronizing the
visualization of the service annotation with an internal model representation,
every time the user manipulates it.
      </p>
      <p>
        In addition to these three main panels, SWEET o ers a number of
supplementary useful functionalities. It guides the user thorough the process of marking
service properties with hRESTS tags, by limiting the available tags depending
on the current state of the annotation. This implements measures for reducing
possible mistakes during the creation of annotations. In addition, based on the
hRESTS tagged HTML, which provides the structure of the Web API, the user
can link service properties to semantic content. This is done by selecting service
properties, searching for suitable domain ontologies by accessing Watson [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] in
an integrated way, and by browsing ontology information. In particular, Watson
assist users in locating appropriate annotations and enables the accessing of
existing ontological data on the Web, in order to increase the level of reusability of
services through ontology reuse. The search results include matching concepts,
properties and instances from di erent ontologies. Based on this details the user
can decide to associate a service property with particular semantic information
by inserting a MicroWSMO model reference tag.
      </p>
      <p>
        SWEET e ectively supports users in creating semantic descriptions of Web
APIs by marking service properties, by searching for suitable ontologies, and by
attaching semantic information. When the user completes the semantic
annotation of the HTML description, the Web API annotation can be locally saved as
annotated HTML or as extracted RDF. In addition, both the annotated HTML
and the RDF can be directly published to the iServe4 [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] repository for
semantic Web service descriptions. iServe can then be used to discover services, which
can e ectively be integrate in data mashups.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Annotation of Web APIs with SWEET</title>
      <p>This section exempli es how SWEET supports each of the tasks along the
process of creating semantic descriptions of Web APIs. SWEET takes as input the</p>
      <sec id="sec-5-1">
        <title>4 http://iserve.kmi.open.ac.uk/</title>
        <p>HTML Website describing the Web API and returns a semantically annotated
version of the HTML or an RDF MicroWSMO description. In order to do this
the user needs to complete the following four mains steps:
1. Identifying service properties by inserting hRESTS tags in the HTML service
description.
2. Searching for domain ontologies suitable for annotating the service
properties.
3. Annotating service properties with semantic information.
4. Saving or exporting the annotated Web API.</p>
        <p>The rst step can easily be completed by simply selecting the part of the HTML,
which describes a particular service property, and double-clicking on the
corresponding tag in the inset hTags pane (Figure 3). In the beginning, only the
Service node of the hRESTS tree is enabled. After the user marks the body of
the service, additional tags, such as the Operation and Method, are enabled. In
this way, the user is guided through the process of structuring the Web API
description and we limit the potential mistakes that a user could make, thus
avoiding the generation of incorrect service description structures. The marking
of HTML content with a particular hRESTS tag results in the insertion of a
corresponding class HTML attribute. This formalism complexity is hidden from the
user, and instead, he/she only sees the current status of the annotation re ected
in the Semantic Description panel. In addition, each inserted tag is highlighted
by a custom cascading style sheet (CSS), which visualizes the annotations the
user has made. An example of an HTML with identi ed service properties is
given in Listing 1.1.</p>
        <p>Listing 1.1. Example hRESTS Service Description
1 &lt;div class="service" id="s1"&gt;&lt;h1&gt;happenr API&lt;/h1&gt;
2 &lt;span class="label"&gt;Happenr &lt;/span&gt;has two main methods to call "getEvents" and ...
3 &lt;p&gt;All operations should be directed at http://happenr.3scale .net/&lt;/p&gt;
4 &lt;h2&gt;Example usage&lt;/h2&gt;
5 &lt;span class="address"&gt;http://happenr.3scale.ws/webservices/getEvents.php?user key=xxx&lt;/span&gt;
6 &lt;p&gt;where the userkey is the key issues with the signup you made.&lt;/p&gt;
7 &lt;div class="operation" id="op1"&gt;&lt;h2&gt;&lt;span class="label"&gt;getEvents &lt;/span&gt;Method&lt;/h2&gt;
8 &lt;span class="input"&gt;
9 &lt;h3&gt;username&lt;/h3&gt;
10 &lt;p&gt;Your username that you received from Happenr in order to query this webservice.&lt;/p&gt;
11 &lt;h3&gt;password&lt;/h3&gt;
12 &lt;p&gt;Your password that you received from Happenr in order to query this webservice.&lt;/p&gt;
13 &lt;h3&gt;eventid&lt;/h3&gt;
14 &lt;p&gt;The id of the event.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</p>
        <p>
          After the user structures the HTML description and identi es all service
properties, the adding of semantic information can begin. SWEET supports users
in searching for suitable domain ontologies by providing an integrated search
with Watson [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The search is done by selecting a service property and sending
it as a search request to Watson. The result is a set of ontology entities, matching
the service property search, which are displayed in the Service Properties panel
visualized in Figure 4. If the rst set of ontology results is insu cient, the user
can search for more results by clicking on \view more". In addition, the search
is session based and the user preserves his/her ontology search while annotating
di erent service descriptions.
        </p>
        <p>The implementation of the Service Properties and Domain Ontologies panels
supports the user in choosing a suitable ontology for annotating the individual
service properties or the complete Web API. These supporting functionalities
are visualized in Figure 5. The user can view the URI of each of the matching
concepts, properties or instances and the corresponding ontology. Additional
information is available in the Domain Ontologies panel, which shows all service
properties that can be annotated with one particular ontology as well as a list
of all concepts. The entries of both panels can be expanded or collapsed in order
to ease the navigation.</p>
        <p>Once the user has decided, which ontology to use for the service property
annotation, he/she can do an annotation by selecting a part of the service HTML
description and clicking on Semantic Annotation in the Service Properties
context menu. This results in inserting a model attribute and a reference pointing
to the URI of the linked semantic entity. MicroWSMO also contains elements
for lifting and lowering, which point to links for lifting and lowering
transformations. Even though, the current version of SWEET does not support the
insertion of these elements, they can still be manually added by the user. The
result is a semantically annotated HTML description, with inserted model and
href tags marking the association of the particular HTML elements with the
semantic entities. A summary of the already made annotations is given in the
Annotations panel. These annotations can be removed by choosing \Delete"
from the context menu. In this way, the user can remove incorrect annotations
and substitute them with new ones without having to reload the tool and start
the annotation process from the very beginning.</p>
        <p>Listing 1.2. Example MicroWSMO Service Description
&lt;div class="service" id="s1"&gt;&lt;h1&gt;happenr API&lt;/h1&gt;
&lt;a rel="model" href="http://example.com/events/getEvents"&gt;
&lt;span class="label"&gt;Happenr &lt;/span&gt;has two main methods to call "getEvents" and ...&lt;/a&gt;
&lt;p&gt;All operations should be directed at http://happenr.3scale .net/&lt;/p&gt;
&lt;h2&gt;Example usage&lt;/h2&gt;
&lt;span class="address"&gt;http://happenr.3scale.ws/webservices/getEvents.php?user key=xxx&lt;/span&gt;
&lt;p&gt;where the userkey is the key issues with the signup you made.&lt;/p&gt;
&lt;div class="operation" id="op1"&gt;&lt;h2&gt;&lt;span class="label"&gt;getEvents &lt;/span&gt;Method&lt;/h2&gt;
&lt;span class="input"&gt;
&lt;h3&gt;&lt;a rel="model" href="http://example.com/data/onto.owl#Username"&gt;username&lt;/a&gt;
(&lt;a rel="lowering" href="http://example.com/data/event.xsparql"&gt;lowering&lt;/a&gt;)&lt;/h3&gt;
&lt;p&gt;Your username that you received from Happenr in order to query this webservice.&lt;/p&gt;
&lt;h3&gt;&lt;a rel="model" href="http://example.com/data/onto.owl#Password"&gt;password&lt;a&gt;
(&lt;a rel="lowering" href="http://example.com/data/event.xsparql"&gt;lowering&lt;/a&gt;)&lt;/h3&gt;
&lt;p&gt;Your password that you received from Happenr in order to query this webservice.&lt;/p&gt;
Listing 1.2 shows our example service description annotated with MicroWSMO
by using SWEET. Line 2 uses the model relation to indicate that the service
searches for events, while line 10 associates the input parameter username with
the class Username. The lowering schema for the recipient is also provided in line
11. The annotated HTML of the Web API can be directly transformed into RDF
(Listing 1.3), which serves as the basis for discovery and manipulation directly
over the semantic properties.</p>
        <p>Listing 1.3. Example RDF Service Description
&lt;rdf:RDF&gt;&lt;wsl:Service&gt;
&lt;rdfs:isDe nedBy rdf : resource="http://open.3scale.net/happenr/happenr#code"/&gt;
&lt;sawsdl:modelReference rdf:resource="http://example.com/events/getEvents"/&gt;
&lt;rdfs: label &gt;Happenr&lt;/rdfs:label&gt;
&lt;hr:hasAddress rdf:datatype="http://www.wsmo.org/ns/hrests#URITemplate"&gt;
http://happenr.3scale .ws/webservices/getEvents.php?user key=xxx&lt;/hr:hasAddress&gt;
&lt;wsl:hasOperation&gt;&lt;wsl:Operation&gt;&lt;rdfs:label&gt;getEvents &lt;/rdfs:label&gt;
&lt;wsl:hasInputMessage&gt;&lt;wsl:Message&gt;
&lt;sawsdl:modelReference rdf:resource="http://example.com/data/onto.owl#Username"/&gt;
&lt;sawsdl:modelReference rdf:resource="http://example.com/data/onto.owl#Password"/&gt;
&lt;sawsdl:loweringSchemaMapping rdf:resource="http://example.com/data/event.xsparql" /&gt;
&lt;/wsl:Message&gt;&lt;/wsl:hasInputMessage&gt;
&lt;/wsl:Operation&gt;&lt;/wsl:hasOperation&gt;&lt;/wsl:Service&gt;&lt;/rdf:RDF&gt;</p>
        <p>SWEET also provides options for customizing the way service descriptions
are viewed. First, if the Navigator panel displays HTML service descriptions,
which already contain MicroWSMO elements, these elements will be recognized
and automatically highlighted so that the user can manipulate them and
integrate them in his/her own annotation of the service. Second, the way the service
properties and semantic information is highlighted can be modi ed by simply
substituting the current CSS le with a new one, which uses di erent text fonts
and colors.</p>
        <p>In summary, SWEET e ectively supports users in creating semantic
descriptions of Web APIs by using the hRESTS and the MicroWSMO microformats. In
particular, it provides functionalities for marking service properties by inserting
tags, for searching for suitable domain ontologies, for linking service properties
with semantic entities and for saving and exporting the resulting semantic
description both as annotated HTML or directly as RDF. In this way, SWEET
contributes to a higher level of automation of common service tasks, such as
discovery, composition and invocation.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work</title>
      <p>
        Current research in the area of Web APIs and, in particularly on semantic
RESTful services, is mostly focused around the de nition of formalisms for creating
semantic annotations. As already mentioned, MicroWSMO is one such
formalism, which relies on hRESTS for describing the main aspects of a service and
uses hooks for linking these to semantic information. SA-REST [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], on the other
hand, uses the grounding principles of SAWSDL [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and RDFa for marking
service properties. Even though, there is some research done targeted at supporting
the use of semantic descriptions, for example in the form of mashups [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], there
are no existing tools or approaches supporting the creation of semantic
descriptions of Web APIs, which therefore hinders the applicability.
      </p>
      <p>
        hRESTS is not the only alternative that can be used for the creation of
machine-readable descriptions of Web APIs. WADL (Web Application
Description Language) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and even WSDL 2.0 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] can be used as description formats.
However, probably due to the user-centered context of Web 2.0 and of the
resulting API descriptions, WADL and WSDL seem to add complexity and still
the majority of the API descriptions are provided in unstructured text. Another
description approach is o ered by RDFa [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. RDFa can be e ectively used for
embedding RDF data in HTML. A parallel approach to RDFa would be the
use of GRDDL [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] on top of hRESTS. GRDDL is a mechanism for
extracting RDF information from Web pages and is particularly suitable for processing
microformats.
      </p>
      <p>
        In the area of tools supporting the semantic annotation of services, ASSAM
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] enables the annotations of services with WSDL-based descriptions. It
provides user interface tools as well as some automatic recommendation
components, however, it can only be used on WSDL-based descriptions. There are also
a number of tools and approaches developed for enhancing Web content with
semantics in general. Tabulator [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] supports the modi cation and addition of
information directly, however, its use can be a bit challenging for people
unfamiliar with the RDF data model. Loomp [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] aims at providing a user interface
for both creating textual content as well as annotating this content using
semantic representations. Finally, in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] the authors introduce a JavaScript API that
allows the independent creation of editing widgets for embedded RDFa.
7
      </p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion and Future Work</title>
      <p>Currently, Web APIs are becoming increasingly popular, however, their
general adoption is hindered by the fact that they cannot be found, interpreted
and invoked without the extensive user involvement and a multitude of manual
tasks. Web APIs play a particularly important task in the context of mashups,
where existing linked open data can be combined with related services in
order to develop applications, which facilitate a synergy e ect over the combined
information.</p>
      <p>The challenges faced by Web APIs can be addressed through the creation of
machine-readable descriptions, which server as the basis for automatically
nding services, through crawlers and search engines, and processing them.
Moreover, extended with semantic annotations, Web APIs can even be discovered and
included in compositions automatically, following the principles of the SWS.</p>
      <p>In this paper, we have presented SWEET, which facilitates an integrated
lightweight approach for creating semantic descriptions of Web APIs. These
semantic descriptions serve as the basis for creating more exible mashups
composed of linked open data and Web APIs, as demonstrated by our example
application. SWEET uses two microformats: the hRESTS microformat that
enables the tagging of key service properties and therefore supports the creation of
machine-readable service descriptions; and the MicroWSMO microformat that
enables the linking of semantic information to service properties. As a result,
SWEET e ectively supports users in creating semantic descriptions of Web
APIs, by providing functionalities for both the creation of machine-readable
descriptions and the addition of semantic annotations based on hRESTS and
MicroWSMO.</p>
      <p>Future work will focus on further developing SWEET's annotations
recommender component, in order to reduce the number of manual tasks that the user
has to complete. This will result in the faster and more correct creation of
semantic descriptions of Web APIs. Future work will also include the development
of supplementary functionalities of SWEET, which will provide additional user
support. In addition, some work will be devoted to the automatic recognition of
service properties such as operations and input parameters, so that the user only
has to verify the pre-marked service properties. The goal is that future versions
of SWEET will even better support users in creating semantic descriptions of
Web APIs.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments</title>
      <p>SWEET is based upon work partially supported by the EU funding under the
project SOA4All (FP7 - 215219).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>L.</given-names>
            <surname>Richardson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ruby: RESTful Web Services. O'Reilly Media</surname>
          </string-name>
          , May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. R. T. Fielding:
          <article-title>Architectural styles and the design of network-based software architectures</article-title>
          .
          <source>PhD thesis</source>
          , University of California,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gomadam</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Vitvar: hRESTS: an HTML Microformat for Describing RESTful Web Services</article-title>
          .
          <source>Proceedings of the 2008 IEEE/WIC/ACM International Conference on Web Intelligence (WI-08)</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.</given-names>
            <surname>Khare</surname>
          </string-name>
          , T. Celik:
          <article-title>Microformats: a pragmatic path to the semantic web (Poster)</article-title>
          .
          <source>Proceedings of the 15th international conference on World Wide Web</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>Gomadam: hRESTS &amp; MicroWSMO</article-title>
          .
          <source>Technical report</source>
          , available at http://cms-wg.
          <year>sti2</year>
          .org/TR/d12/,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bournez</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Farrel.</surname>
          </string-name>
          <article-title>SAWSDL: Semantic Annotations for WSDL and XML Schema</article-title>
          . IEEE Internet Computing,
          <volume>11</volume>
          (
          <issue>6</issue>
          ):
          <fpage>60</fpage>
          -
          <lpage>67</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>T.</given-names>
            <surname>Vitvar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kopecky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Viskova</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Fensel</surname>
          </string-name>
          .
          <article-title>WSMO-Lite Annotations for Web Services</article-title>
          .
          <source>In the Semantic Web: Research and Applications</source>
          ,
          <string-name>
            <surname>ESWC</surname>
          </string-name>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Description</surname>
          </string-name>
          <article-title>Language (WSDL) Version 2</article-title>
          .0. Recommendation, W3C,
          <year>June 2007</year>
          . Available at http://www.w3.org/TR/wsdl20/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>M. J. Hadley</surname>
          </string-name>
          <article-title>: Web Application Description Language (WADL)</article-title>
          .
          <source>Technical report</source>
          , Sun Microsystems,
          <year>November 2006</year>
          . Available at https://wadl.dev.java.net.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. E. Gamma,
          <string-name>
            <given-names>R.</given-names>
            <surname>Helm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Johnson</surname>
          </string-name>
          , J. M.
          <article-title>Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Professional</given-names>
          </string-name>
          ,
          <year>November 1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Watson - The Semantic</surname>
          </string-name>
          Web Gateway: Ontology Editor Plugins. http://watson. kmi.open.ac.uk.
          <source>Online November</source>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gomadam</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Lathem: SA-REST: Semantically Interoperable and Easier-to-Use Services and Mashups</article-title>
          .
          <source>In IEEE Internet Computing</source>
          ,
          <volume>11</volume>
          (
          <issue>6</issue>
          ):
          <fpage>9194</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <article-title>RDFa in XHTML: Syntax and Processing</article-title>
          . Proposed Recommendation, W3C,
          <year>September 2008</year>
          . Available at http://www.w3.org/TR/rdfa-syntax/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>F.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Ekeland: Gleaning Resource Descriptions from Dialects of Languages</article-title>
          . Recommendation, W3C,
          <year>September 2007</year>
          . http://www.w3.org/TR/grddl/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hess</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Johnston</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Kushmerick: ASSAM: A tool for semi-automatically annotating semantic web services</article-title>
          .
          <source>In Proceedings of International Semantic Web Conference</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>M. Maleshkova</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Pedrinaci</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <article-title>Domingue: Supporting the Creation of Semantic RESTful Service Descriptions</article-title>
          .
          <article-title>Service Matchmaking and Resource Retrieval in the Semantic Web (SMR2) at</article-title>
          8th International Semantic Web Conference,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>C. Pedrinaci</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Domingue</surname>
          </string-name>
          , R. Krummenacher:
          <article-title>Services and the Web of Data: An Unexploited Symbiosis</article-title>
          .
          <source>Workshop on Linked Data Meets Arti cial Intelligence at AAAI Spring Symposium</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>S.</given-names>
            <surname>Dietzold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hellmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Peklo</surname>
          </string-name>
          .
          <article-title>Using JavaScript RDFa Widgets for Model/View Separation inside Read/Write Websites</article-title>
          .
          <source>In Proceedings of the 4th Workshop on Scripting for the Semantic Web</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>T.</surname>
            Berners-Lee,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Hollenbach</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Presbrey</surname>
          </string-name>
          , E. Pru d'ommeaux, and m.c. schraefel. Tabulator Redux:
          <article-title>Writing Into the Semantic Web</article-title>
          .
          <source>Technical Report ECSIAMeprint14773</source>
          , Electronics and Computer Science, University of Southampton.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. M.
          <string-name>
            <surname>Luczak-Roesch</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Heese</surname>
          </string-name>
          .
          <article-title>Linked Data Autoring for non-Experts</article-title>
          .
          <source>In Workshop on Linked Data on the Web</source>
          ,
          <year>2009</year>
          , Madrid,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>