<!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>The DODA Ontology: Lightweight Integration of Semantic Data Access Technologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giovanni Tummarello</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Morbidoni</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Nucci</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Cyganiak</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institut für Produktion, Wirtschaftsinformatik und OR Freie Universität Berlin</institution>
          ,
          <country country="DE">GERMANY</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SEMEDIA - Dipartimento di Elettronica, Intelligenza Artificiale e Telecomunicazioni Università Politecnica delle Marche</institution>
          ,
          <addr-line>Ancona</addr-line>
          ,
          <country country="IT">ITALY</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- Over the years, a number of studies and practical efforts have proposed technologies to retrieve, publish, cooperatively edit, lookup and query RDF models. Also, other studies and practices have shown that standard communication channels, e.g. e-mail, RSS and IM, can be successfully used in Semantic Web scenarios. In this paper we collectively refer to such technologies as “Semantic Web data access" and present the "description of data access" ontology (DODA). DODA is a lightweight formalization which features a simple structure and specifically targets Social Semantic Desktop use cases. DODA supports client software in providing meaningful and assisted user interfaces; as a result, the software con provide the user with a seamless view of heterogeneous data sources and facilitate giving external access to local data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Index Terms – Ontology, Semantic data access, Integration,
RDF, RSS, communication channels, Semantic Desktop.</p>
    </sec>
    <sec id="sec-2">
      <title>I. INTRODUCTION</title>
      <p>I(DODA) formalization. DODA is a lightweight ontology to</p>
      <p>N this work we introduce the Description of a Data Access
describe sources and channels for RDF and simple data access
services related to Semantic Web scenarios. Descriptions
expressed in DODA enable software clients to understand the
basic functionalities of heterogeneous semantic channels and
present them to the user in a uniform way, e.g. according to
their capabilities and intended purpose. The idea is to provide
a mean to express, for example, that a given URL contains an
RDF dump, that this is updated at a given expected time
interval, and is called "about Alice's projects". Similarly, one
can express that a given URL provides an RSS feed named
"pictures" with semantic attachments, or that RDF models as
attachments are processed if sent to a specific email address
(i.e. email as personal incoming Semantic Web channel).
Finally, DODA can be used to enhance WSDL/RDF
descriptions with indications that enable a general web service
to participate to the scenarios that DODA aims to facilitate.</p>
      <p>In the first part of this paper we will give definitions and
present the scenario and the design goal of the ontology.</p>
      <p>
        In the second part we provide a review of RDF
communication channels either specifically meant to handle
RDF (e.g. URIQA or RDFGrowth P2P algorithm) or that can
be someway used for it, especially in Semantic Desktop
scenarios (e.g. semantic email). In the third part we define the
specific features of the DODA ontology. Finally, we provide
examples of FOAF and DOAP files enhanced with DODA
constructs. This paper is a refined and extended version of [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
where a first overview of the idea and implementation has
been presented.
      </p>
      <p>
        II. SUPPORTING A SOCIAL SEMANTIC DESKTOP SCENARIO
DODA is inspired by the requirements of the "Social
Semantic Desktop" scenario. To explain such requirements
and associated use case, lets consider tools such as the
forthcoming Nepomuk [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], DBin [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Haystack [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this
paper we will refer to these applications as Semantic Personal
Knowledge Managers (SPKM). SPKMs are rich local
applications which handle semantically structured knowledge
either created by users, extracted from local resources,
retrieved or exchanged with remote sources or peers.
      </p>
      <p>SPKM applications usually provides:
 A Semantic repository
 Advanced (e.g. adaptive with respect to the context)
GUI over the local RDF knowledge. Both
visualization and editing are supported. Editing may
include simple tagging as well as editing of complex
RDF structures.
 Readers and writers for a variety of information
channels.</p>
      <p> Host for a number of specific plug-ins</p>
      <p>In DBin, for example, a user might import her local RDF
data, edit it, make binary files such as photos available on-line
automatically and describe them in the graph, share the
resulting model and cooperatively edit it in RDF P2P groups,
and create full or partial RDF dumps that can be posted
manually or automatically as HTTP retrievable files or RSS
feeds.</p>
      <p>
        Semantic Desktop is a term chosen for the vision of a
computing environment that offers practical and convenient
ways for the user to employ semantic technologies in
everyday information related activities. The idea is that
semantics might help in better organizing and locating
documents and other everyday information objects such as
emails, contacts, and calendar events, regardless that they are
physically stored locally or remotely on the Web. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] gives an
overview of the basic ideas behind the Semantic Desktop and
its current state. SPKMs provide a great base for Distributed
Semantic Desktop functionalities. Once such RDF
representation of the local "desktop information space" is
paired with appropriate semantic communication and data
access channels across among users, the end result would be
what has been called a Social Semantic Desktop [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <sec id="sec-2-1">
        <title>A. The role of DODA: use cases and requirements</title>
        <p>DODA aims at providing the minimum of formalism
needed to set up an infrastructure that supports Social
Semantic Desktop scenarios.</p>
        <p>On-line resources described by DODA are likely to have a
very simple logic, most of the time this simply being the fact
that a RDF model is served, published, shared or shipped to
one or more recipients, along with a human legible description
which enables the user to decide whether that channel is of
interest for the specific task at hand.</p>
        <p>
          DODA therefore focuses on use cases in which a human is
directly involved. It provides a level of formalization which
enables social semantic desktop clients to present channels,
heterogeneous in origin and kind, in a uniform way along with
human readable information to support use cases such as
these:
 Alice's personal FOAF [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] profile contains DODA
information to specify the location of her semantic news
feed that announces her new blog posts, photos, pictures
and public calendar events. She also publishes an RDF
representation of her shared documents folder, uploaded
daily by her social semantic desktop software, but it is
access restricted. Her profile also states that she has an
incoming semantic channel: her semantic desktop client is
configured to co-read her email, taking care of RDF
attachments.
 Bob is in the audience at Alice's talk at a conference. He
googles her and visits her homepage. It is equipped with
FOAF auto-discovery1. Bob's social semantic desktop
client is configured to automatically retrieve and display
RDF information found on visited pages, similar to
PiggyBank [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The FOAF file, including its DODA
annotations, are processed. At this point, Bob can decide
to subscribe to Alice's news feeds channel.
 Carl is a new co-worker of Alice. He opens her FOAF file
in his client, configured to automatically process DODA
channel descriptions: Alice is added as a potential source
and destination of semantic data to his address book. Carl
passes the Access Control List requirements to Alice's
shared documents, so his client retrieves the dump and
Carl sees it merged with his local knowledge. He sends a
semantic email to Alice's incoming interface with his own
profile, including the DODA indication of his channels.
He also sends her the indication of an RDFGrowth
channel, which is a P2P cooperative model, for their next
project. Alice can now hook up to this channel.
 Later, Alice visits the DBin project homepage. Her client
auto-discovers the Description Of A Project (DOAP [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ])
file (footnote: our DOAP file). From there it discovers that
the list of related publications is available as an RDF file,
that project news are available as a semantic news feed,
and that discussion about the project is available either in
an RDFGrowth P2P group or as an archived RDF dump of
the same. She forwards the DODA descriptions of the
DBin news channels to the shared model so Carl will
automatically know about it. She also publishes a blog
post about it and attaches the description. Bob, who is
subscribed to her blog, will thus learn about it as well.
 After the project has finished, Alice decides to enable
public URIQA [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] access to the knowledge base
accumulated during the project. The semantic desktop
software will update her FOAF file with a DODA
description of the new channel. Alice also sends the
description to the input channels of those coworkers and
colleagues in her address book that are able to receive
semantic messages.
        </p>
        <p>
          In most of these scenarios, existing technologies can be
used for the actual data exchange. Applications and tools
like PiggyBank [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and Semantic Bank [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], Annotea,
SPARQL [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] endpoints, RDFGrowth [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], URIQA, RSS
and others provides specific functionalities for exposing
and consuming RDF payloads, being in fact semantic
channels. The challenge is to discover where to find the
data, or where to send a message, and using which protocol.
        </p>
        <p>Over the years, a number of studies and practical efforts
have proposed technologies to retrieve, publish, cooperatively
edit, lookup and query RDF models. Also, other studies and
practice have shown that standard channels, usually meant for
generic text messaging and un-typed data attachments, can be
used successfully in Semantic Web scenarios and especially
within the context of Social Semantic Desktop. In this paper,
we collectively refer to such technologies as Semantic Web
"data access".</p>
        <p>In the analysis performed in this section, we identifying
distinctive tracts and features of the most representative such
technologies. Such “decomposition and factorization” will
form the bases for the construction of the DODA ontology.</p>
        <p>Given the specific purpose of this ontology, we ignore
differences in performance, scalability, complexity of
implementation etc. We are instead interested in the
peculiarities which distinguish these technologies from a high
level usage point of view: signature of the high level API and
semantics of the service.</p>
        <p>To be noticed that the interface we extract here for each
featured technology is not representative of the whole
technology but just of the novel aspect over the other ones.
We will see later, in detailing the content of the DODA
ontology, how the actual instances of the specific technologies
are instead modeled by giving each as many interfaces of
different nature as needed to cover the complete
functionalities.</p>
        <p>The API and semantic elicitation will be expressed as
follows:</p>
        <p>SIGNIFICATIVE INTERFACE NAME: Description of
the intended semantics</p>
        <p>Input: Description of each input datatype and semantics
Output [on callback]: Description of each output
datatype and semantics. Asynchronous interfaces might
generate callbacks.</p>
        <p>When not specified, Inputs and Outputs are Null, or merely
control codes (e.g. An HTTP return code).</p>
      </sec>
      <sec id="sec-2-2">
        <title>A. Plain Old Published Model (POPM))</title>
        <p>The simplest access technology for an RDF model is the
plain HTTP call to retrieve a serialized version of it, which
might be an actual server side file or generated on the fly upon
receiving the request. We call such sources "POPM"
(Pronounced Pop-em), Plain Old Published Models. The
usage API of a channel to a POPM, initialized using its URL,
supports one operation:</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>POPM: an RDF model is available for web retrieval</title>
      <p>Output: the RDF model</p>
      <p>
        A number of more advanced technologies also offer this
access modality. An RSS 1.0 feed, for example, can be seen as
a simple published model. SPARQL endpoints can also
provide complete models via specially crafted construct
queries. Semantic Wiki engines such as Semantic MediaWiki
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] can also provide HTTP URLs which act as POPMs while
generated from the parsed content of the page.
      </p>
      <sec id="sec-3-1">
        <title>B. Semantic RSS</title>
        <p>
          RSS feeds are lists of items, with associated metadata,
usually listed in order of publication. This is the case both for
its RDF-based flavors (e.g. RSS 1.0 [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]) and the simple
XML versions (e.g. RSS 2.0 [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]). With either version it is
possible to ship RDF payloads instead of or in addition to
human-readable content. The main function of RSS is that of
providing notifications about new content to users which have
subscribed.
        </p>
        <p>While this has historically been achieved by the use of
mailing lists, RSS seems to be better suited to the job. As it is
based on client side polling of a publicly available feed, this
method is perceived as less invasive than subscribing to a
mailing list, which usually requires email confirmations and
idiosyncratic ways of unsubscribing.</p>
        <p>
          While RSS usually gives no guarantee of how long a
published item will be available in the feed, sometimes these
are comprehensive lists of items. This the case of projects
such as OpenAcademia [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], an RDF powered Internet
application which enables users to get personalized RSS with
lists of publications. Such RSS feeds which can be used as
usual, but are especially suited in social semantic desktop
purposes (e.g. exchanged between colleagues) or simply to
drive the list of publications on one's homepage. The ability to
create personalized feeds is given via a user accessible
interface. Under a machine accessible point of views,
OpenAcademia feeds are regular RSS 1.0 so OpenAcademia
does not constitute a separate case. Similarly, and for the
purpose of our analysis the important part is the the ability of
notifying the receiver, rather than the information that the feed
contains, which can be considered as a POPM.
        </p>
        <p>Notification Interface: A notification from a usually
public source of information of a new item</p>
        <p>Output on Callback: an RDF representation with a
guaranteed list of items</p>
      </sec>
      <sec id="sec-3-2">
        <title>C. Annotea / URIQA</title>
        <p>
          Annotea [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is a web based system which enables users to
attach metadata to a Web page or to a part of it. The metadata
is stored in specialized servers which take care of retrieving it
once the user browses a previously annotated resource.
Regardless of the specific use case that it was meant to
address, Annotea is generic in scope as it enables a client to
submit a generic annotation, as long with a specific indication
of which resource which is to be considered the "main topic"
of it. Similarly, Annotea can be queried with a URI to obtain a
set of RDF models which are "about" that resource.
Decomposing Annotea's functionalities, one could say that at
publishing level it can be though equivalent to a
Publish/Replace interface, if one consider acceptable that a
model is reposted somewhere, or to something as follows;
        </p>
        <p>Annotea Publish: Informs a lookup service that a POPM is
available “about” a specified URI</p>
        <p>Input: URI , URL</p>
        <p>Output: URL[]</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Annotea Lookup: returns a list of POPM considered related to the resource</title>
      <p>Input: URI
Output: URL[]</p>
      <p>URIQA is similar as far as interface is concerned, but the
semantic differs. URIQA presupposes the existence of a base
model and enables the client to "peek" into it asking "about" a
resource. To return a result, the URIQA server extracts from
the well specified database a set of triples which it considers
related to the request, usually forming a Concise Bound
Description. At interface level, we can consider URIQA a
sub-case of Annotea, one that returns a single authoritative
graph instead of an arbitrary number of non-authoritative
graphs.</p>
      <p>URIQA lookup: The knowledge about a URI in a specific
model is returned.</p>
      <p>Input: URI</p>
      <p>Output: RDF model</p>
      <sec id="sec-4-1">
        <title>D. RDFGrowth / DBin</title>
        <p>
          RDFGrowth is the P2P technology currently featured in the
DBin project [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Using RDFGrowth [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], groups of users can
synchronize RDF models about topics of common interest. By
using an underlying monotonic model plus a revision system
based on digital signatures, it is possible for group participants
to keep different local "views" on what should go in the model
while still contributing to and taking contribution from others.
With respect to the scope of this work, an RDFGrowth group
can be seen as having an interface which is a POPM
(emulated by joining a group and collecting the knowledge
from the others), as well as a public publishing interface. The
Semantics is however different and requires a standalone
category, as it is allowed for a peer to "revoke" statements
said by others etc.
        </p>
        <p>Share: a model is shared, it might be edited by others, local
modifications are reflected remotely</p>
        <p>Input: RDF model (reference)</p>
        <p>Output on Callback: RDF model (reference), URIs
which involved changes or RDF patches</p>
      </sec>
      <sec id="sec-4-2">
        <title>E. Semantic Email / Semantic IM</title>
        <p>
          Email and Instant Messaging (IM) convey text and possibly
binary attachment from in a person to person basis. E-mails, in
particular, have been investigated as a channel to exchange
semantic recommendations in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], where a Thunderbird
plugin is described which automatically attach meaningful RDF
data to e-mails. Characteristic peculiarity of these
communication means is that they imply direct involvement of
the receiver, which means that the sender also knows he will
have some attention by the human receiver. Once an email (or
IM) address is known (e.g. one has learned that a receiver is
capable of processing semantic attachments), the interaction
interface can be simply modeled as the ability to send a model
and the implicit sending of one's own email or IM address,
which can be expressed as a URI.
        </p>
        <p>An outgoing predefined email: A model is sent and
brought to the attention of the other side</p>
        <p>Input: RDF model, own URI Output: none</p>
        <p>One's own email: A channel for incoming models sent by
senders</p>
        <p>Output on Callback: an RDF model, a URI (sender)</p>
      </sec>
      <sec id="sec-4-3">
        <title>F. SPARQL endpoint</title>
        <p>
          As a result of the work of the Data Access W3C Working
Group (DAWG), the SPARQL protocol and query language
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] is now in an advanced standardization phase. While
limitations exist, SPARQL is a powerful query language, and
it draws from previous experiences in the database area and of
early adopters of semantic technologies.
        </p>
        <p>SPARQL can provide ways of accessing a remote model
which range from transferring the whole remote model (a
subcase of the CONTRUCT kind of query) or one of the many
"named" models a SPARQL enabled knowledge base might
contain. SPARQL CONSTRUCT queries can also transfer
pieces of models either as they are in the original model or
transformed.</p>
        <p>SELECT queries will produce a table of variable bindings
as output. Although such variables have a name, they do not
have a predefined or machine interpretable semantics that
could be interpreted without looking at the originating query.
SPARQL also supports DESCRIBE queries which have
similar semantics to the URIQA metadata-get request.</p>
        <p>SPARQL construct: a graph extracted or transformed
from the knowledge of a remote DB</p>
        <p>Input: CONSTRUCT query</p>
        <p>Output: RDF model</p>
        <p>SPARQL select: executes the query remotely. The
semantics of the result varies according to the query.</p>
        <p>Input: SELECT query</p>
        <p>Output: structured information (SparQL XML)</p>
      </sec>
      <sec id="sec-4-4">
        <title>G. EDUTELLA AND PUBLISH/SUBSCRIBE</title>
        <p>
          The Edutella P2P distributed querying system [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] is
dedicated to providing access to a network of database hosts
which are willing to answer semantically structured queries.
Successive modifications have shown how it is possible to
have service servers enable the use of "long standing queries"
which express the interest for a client peer to know when a
new item with the given characteristics is available at some of
the database peer, without requiring continuous "refresh"
queries. If the requesting client peer is not logged in at the
time a new result appears, this is stored and later notified
when the client reconnects.
        </p>
        <p>For the purpose of this analysis, direct queries have the
same general interface of a SPARQL endpoint, albeit
requiring a different query language.</p>
        <p>The new element is the ability to provide a query as a
parameter to later receive notifications, similar to RSS feeds
produced directly by a query.</p>
        <p>Edutella Query Publish Subscribe: long standing query
results notification</p>
        <p>Input: a query</p>
        <p>Output on Callback: a set of URI of matching elements
and URI of sources</p>
        <p>IV. THE DODA ONTOLOGY</p>
        <p>The formalization in input/output APIs as summarized in
the previous chapter forms the bases of the Description Of
Data Access ontology. The center idea is to model a set of
"data access technologies", e.g. the POPM concept, and
enable one to declare the existence of a "deployment" of one
such technology.</p>
        <p>Since the tools for description are on purpose coarse
grained, modeling a technology is not difficult. This task is
furthermore seldom necessary as DODA includes instances
which model many well known data access technologies
(including the ones considered in the previous chapter). Using
DODA to express that a deployment of a specific technology
is made available at a specified address is simple: one just
needs to create an instance of the DODAInstallation class
connected with the preexisting instance of the appropriate
technology within DODA. In general the URI of the
installation instance will be a URL where the service is being
offered. In such a simple case a single triple is all it takes:
&lt;http://myBlog/myFeed&gt;
doda:isDeploymentOf</p>
        <p>doda:RSSNewsFeedTechnology .</p>
        <p>The UML diagram in Figure 1 shows the main classes in
DODA and their relationships. A DODATechnology (e.g. a
POPM) can expose one or more interfaces, expressed as
instances of the SemanticInterface class hierarchy. Figure
2shows the SemanticInterface hierarchy together with
premodeled instances (smaller dots). Such instances are
connected by providesInterface properties, to the appropriate
instances of DODATechnologies (e.g.
RSSNewsFeedTechnology) .</p>
        <p>The class of the interface (e.g. for a POPM, is a
PublishedModelInterface class) provides the semantic
interpretation. A specific class might say, for example, that its
instances are meant to retrieve RDF models by name, or , as a
second example, to search for resources 'related' to a given
one.</p>
        <p>The first semantic distinction the interface hierarchy makes
is between "sender" and "receiver" interfaces. While both
“sender” and “receiver” instances have inputs and outputs, the
semantic interpretation of “sender” interfaces is that of
transmitting or communicating information, while “receiver”
interfaces are meant to serve as sources of information. The
hierarchy then goes on with more specialized classes.</p>
        <p>The API provided by each interface has input and output
parameters with precise meanings. An URIQAGetInterface
instance, for example, takes a URI that represents a request for
information and returns a RDF model containing metadata
related to such a URI; a PublishedModelInterface instance
gets the last version of a model posted on-line. In DODA, as
shown in the previous example, such 'semantic specifications'
of the APIs are modeled by means of the input and output
properties hierarchies.</p>
        <p>It is to be noticed that the specific technology names (e.g.
URIQA in URIQAGetInterface) used to define names of
interfaces and properties do not imply that that property or
interface is used only to model that specific technology
instance. Rather, the technology name serves as a placeholder
for the specific characteristic behavior/role of that interface as
elicited in the 'semantic technologies factorization process'
made in the previous chapter.</p>
        <p>:requestedURI rdfs:subPropertyOf :output ;
rdfs:domain :RelatedInfoInterface ;
rdfs:range :URIParameter .
:relatedModel rdfs:subPropertyOf :input ;
rdfs:domain :ResourceRelatedInfoInterface;
rdfs:range :RDFModelParamenter .
:RDFModelDefaultP a :URIParameter .
:URIDefaultP a :RDFModelParamenter .
:URIQAGetInterface a :ResourceRelatedInfoInterface;
rdf:label "gets the CBD of the requested URI"@en;
:relatedModel :RDFModelDefaultP ;
:requestedURI :URIDefaultP&gt; .</p>
        <p>In this example the relatedModel and the requestedURI
properties are sub-properties of the more generic input and
output properties. They are used by the URIQAGetInterface to
specify the meaning of its input and output: the interface
returns a model which the service states to be 'related' to the
input URI. These predicates connect the interface instance
with two parameters (RDFModelParameter and
URIParameter). The datatype of parameters is specified by
the class type; The hierarchy of typed parameters, shown in
Figure 3, might not be the only possible alternative but the
current design supports the use cases currently considered by
DODA (e.g. An RSS 1.0 can be imported and processed as an
RDF/XML but also as a simple XML) .</p>
        <p>Figure 3 The DODAParamenter class hierarchy.</p>
        <p>In the example, these parameter instances are built-in
default values, however the service advertiser is free to create
his/her own instance of DODAParamenter and to assign a
meaningful URL to it.</p>
        <p>
          This is done, for example, to map DODA input and outputs
with web services descriptions written in WSDL WSDL/RDF
[
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] as illustrated in the following chapter.
        </p>
        <p>In DODA, the user level semantics, expressed in the
interfaces class hierarchy, is separated from the binding to a
particular technology, specified by the interface instance, and
as much as possible from the API (just the mandatory
parameters are modeled as required properties, other might be
added by specific instances of the interface). Decoupling these
aspects is important for specifying clearly how the ontology is
to be used and, at the same time, for limiting the complexity of
the ontology, e.g. the depth of the class hierarchy.</p>
        <p>Whenever a technology has aspects which are not captured
by the means of the existing interfaces (e.g. both a way to
send data and a way to receive), the modeling is done by
creating more interfaces for it.</p>
        <p>The ontology is currently available on the web1, and it is
expressed in OWL Lite. DODA use cases inside an
implementing application (such as asking, e.g., which are the
known installations of technologies which support the wanted
interface and their parameter names) can be performed with a
query language operating on top of a simple RDFS repository,
that is without the need of a full featured reasoners. This fits
the scope and lightweight nature of DODA, and enables its
use in simpler environments such as hosted PHP applications.</p>
      </sec>
      <sec id="sec-4-5">
        <title>A. DODA in use</title>
        <p>To see DODA in use, there is clearly the need of an
application supporting it. For an application to support
DODA, it means to have single known interface instances
map directly to drivers that know how to use the specific
technology. Drivers need not to be complex implementations,
they can be as simple as a regular expression constructing an
appropriate HTTP request.</p>
        <p>Interface instances/drivers, on the other hand, should be
reused when creating new instance of technologies. To model
a read only Annotea services, for example, one creates a new
technology but reuses the existing "receiver" interface. The
StaticURLResolver, which represents simple HTTP get to
obtain a model, is in fact reused in many instances of
technology.</p>
        <p>Coming back to the use cases sketched in section II.A, we
show here how the involved communication means can be
described in DODA, thus be understood and made available to
users by the client application.</p>
        <p>In order to advertise her services and communication
channel, Alice would need only to build upon predefined
DODA instances which wrap existing technologies:
AtomCollection for her news feed, SimplePublishedModel for
the dump of her documents folder, Email for specifying that
her mail folder supports Semantic Web data. Here is the N3
notation with the definitions of the deployments of such
technologies. The URLs of the installations define the access
point to the interfaces.
&lt;mailto:alice@gmail.com&gt; a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:Email ;
rdfs:comment "You can send me RDF via e-mail here" .
&lt;http://semedia.deit.univpm.it/dumps/29788973&gt;</p>
        <p>a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:SimplePublishedModel ;
rdfs:comment
"Here is the RDF dump of my Documents folder" .
&lt;http://semedia.deit.univpm.it/feeds/alice&gt;</p>
        <p>a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:AtomCollection ;
rdfs:comment "My public news feeds" .</p>
        <p>In this examples we use some of the predefined
technologies included in DODA. Lets consider the
AtomCollection instance and its provided interfaces definition,
built-in in DODA:
:DODATechnology a :AtomCollection ;
:providesInterface :AtomPublishInterface;
:providesInterface :AtomGetInterface .
:AtomPublishInterface a :PostNewsInterface ;
rdfs:comment
"Interface to post a the link to an RDF model using
Atom."@en ;
:hasInput :PublishedRDFModelURL .
:AtomGetInterface a :NewsNotificationInterface ;
rdfs:comment
"Interface for receiving notification about freshly
published Atom news"@en ;
:hasOutput :NewsListP .</p>
        <p>When Bob imports Alice's DODA installations definition,
his SPKM client will find out that the service available at
http://semedia.deit.univpm.it/feeds/alice is a AtomCollection
and exposes two interfaces, one of them is a
NewsNotificationInterface. As the semantics of this interface
is defined, the client can notify Bob that a new feed is
available and show him the proper GUI for subscribing to a
feed channel, but also have to check for the appropriate driver:
this can be uniquely identified by the deployed instance (i.e.
AtomGetInterface).</p>
        <p>In the same way Alice's client can use the
AtomPublishInterface definition to provide advanced
publishing functionalities. Say that Alice is using a
deployment of DBinPublishingService to publish its semantic
blog postings. Since the interface provided by this technology
has an output which exactly maps with the input of an
AtomPublishInterface, Alice might automatically be
suggested, after having posted a semantic blog, to advertise it
on her personal feed at
http://semedia.deit.univpm.it/feeds/alice.</p>
        <p>A strong point of this approach is that of using the
semantic interfaces abstraction to connect specific
technologies and semantically defined, user level operations.
The GetRelatedInfoInterface, for example, represents a way to
search information related to a URI. Suppose Bob finds
online a paper his interested in, then he might be able to ask his
client application for a list of known services which can
provide him with related metadata. The application, analyzing
the DODA description which it owns, might present to Bob a
URIQA services and/or RDFGrowth p2p group (as both have
interfaces which are instances of GetRelatedInfoInterface).
............
&lt;http://dbin.org/news&gt; a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:AtomCollection ;
rdfs:comment "News about the DBin project" .
&lt;http://semedia.deit.unimp.it/RDFGrowth/groups/DBinProject&gt;
a doda:DODAInstallation;
doda:IsDeploymentInstanceof doda:RDFGrowth ;
rdfs:comment</p>
        <p>"An RDFGrowth group about the DBin project".
&lt;http://semedia.deit.unimp.it/RDFGrowth/DBinProject/dump&gt;
a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:SimplePublishedModel ;
rdfs:comment
"An RDF dump containing a moderated version of what has
been posted in the p2p group within the last month" .
&lt;http://public.dbin.org&gt; a doda:DODAInstallation ;
doda:IsDeploymentInstanceof doda:DBinPublishingService ;
rdfs:comment</p>
        <p>"A service for publishing RDF graphs or retrieving them
once the URL is known" .
.................</p>
      </sec>
      <sec id="sec-4-6">
        <title>B. DODA and Access Control</title>
        <p>Most of the data access technologies modeled in the current
version of DODA consider access control as an orthogonal
facet - e.g. SPARQL protocol specifications say that
implementations may impose several kind of limitations as
needed but does not provide any detail. In general, most of
these services are made available over HTTP so the related
security mechanism would apply directly. In certain cases it
might be useful to enrich a DODA descriptions to express
such policies in RDF.</p>
        <p>
          The ACL Schema [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] can be used to model access control
to each interface of a specific installation of a technology by
groups and single users.
        </p>
        <p>Going back to our example use case, to express that just
Carl can access Alice RDF dump of her
"c:\work_documents\" folder, Alice could attach access
control restrictions to her advertised installation node,
meaning that the access to each interface provided by the
deployed technology is restricted by the rule. This in practice
would require that such rules are understood and enforced at
least by Alice HTTP server, details of which are outside the
scope of this discussion.
:SemanticInterfaceAccessRule a acl:ResourceAccessRule ;
rdfs:label "Semantic Interface Access Privilege" ;
rdfs:comment
"Represents the privilege to write/read into/from a
Semantic Interface" ;
acl:hasAccessTo</p>
        <p>&lt;http://semedia.deit.univpm.it/dumps/29788973&gt;
acl:access "Send News" ;
acl:acessor :Giovanni, :Christian, :Michele .
:Christian a foaf:Person ;
a acl:Identity ;
foaf:name "Christian Morbidoni" ;
foaf:mbox_sha1sum</p>
        <p>"c1d4cb076b0eac7d6dece499de92133b0af138f4"
ex:publickey
&lt;http://public.dbin.org/useraccounts/de46498/9523639c53
e80192d8cfe09f11c36840.asc&gt;.</p>
        <p>In more advanced cases, one might want to provide a
service, e.g. a SPARQL endpoint, granting public access to
some of the interfaces (e.g. a simple SPARQL Describe
query), while defining precise policies for others (e.g. a
generic query interface, which can be more expansive to
answer). Attaching access policies at single interface
granularity is also supported by DODA with a specific access
rule class.</p>
      </sec>
      <sec id="sec-4-7">
        <title>C. DODA wrapping of RDF/WSDL descriptions</title>
        <p>The Web Service Description Language is an XML based
specification to describe interfaces of Web Services. Although
sometime criticized for its complexity, WSDL has enjoyed
increased support by tool vendors e.g. To provide automatic
creation of code which can access WSDL described services.
Mappings from WSDL to RDF has been proposed as a way to
make WSDL descriptions processable with semantic web
technologies. DODA fits exactly this scenario, as it
semantically enrich the bare Interface Definition provided by
the base WSDL/RDF description. With a small number of
RDF triples, it is possible to map WSDL interfaces to
instances of DODA interfaces, and specific input output
parameters with WSDL input and output messages.
Interestingly, as WSDL specifies details about the binding.
Applications need only to support a single DODA/WSDL
driver to be able to automatically connect to any kind of
DODA/WSDL described service. Details about such
mappings are left to the DODA documentation available
online.</p>
        <p>V. RELATED WORKS AND ONTOLOGIES</p>
        <p>Other than considering data access technologies, this work
draws from and takes into consideration a number of other
related formalizations, first of all the WSDL and OWL-D.
While some part of DODA might resemble WSDL, DODA
target and scope is well defined and supported by specific
hierarchies, and pre-modeled instances. As we have seen in
the previous section, rather than substituting WSDL, DODA
integrates with it enabling WSDL/RDF described Semantic
Web Data Access technologies to, e.g., participate in the use
cases we have considered.</p>
        <p>Under a semantic point of view, DODA presents a terse and
specialized vocabulary of classes and specific instances within
the specific task domain, as opposed to OWL-S which is
general in scope but much more complex and therefore
challenging with respect to use, deployment, interpretation
and ultimately acceptance. The process happening inside
DODA interfaces are simple to explain and our use cases of
interest do not require that the machine understands the
difference between said processes more than how made
possible by DODA interface hierarchies. If needed however, it
would be possible to associate OWL-S descriptions to DODA
interfaces to make such inner models machine interpretable.</p>
        <p>
          A number of other works are relevant and have been
considered during DODA design. In [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] and [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] the
importance of an "unified messaging" ontology is advocated.
Messaging refer to Human to Human communications and the
work focus is studying the way toward a unified view, for the
end user, of "received and sent messages" no matter by which
medium they were sent or received.
        </p>
        <p>
          A similar concept, albeit with a more detailed and task
specific ontology is presented in [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] where instant messaging
is semantically enhanced with a descriptive ontology to model
concepts such as "conversation" and the stream of individual
messages. Such enhanced messages can also carry metadata,
although this is still expected to be strictly related to the
content of the message itself (e.g. a tag related to the message)
rather than a generic channel for annotation exchange. In [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]
the relationship between semantic web and blogging is
explored and a system which enables the user to publish
semantically enhanced RSS feeds is presented.
        </p>
        <p>In [sharing context], the use of e-mails to exchange
contextual information, along with documents, in a working
group is discussed. The approach makes use of an extension
of the FOAF vocabulary to semantically describe a group of
users which share a context (a set of ontologies). A Firefox
plug-in is described which enables users to automatically
send, along with a document, an RDF file containing metadata
related to the document (e.g. author, quotations, etc...) and to
the specific context shared in the group.</p>
        <p>
          Other works such as [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] have further shown interaction
directly with desktop applications such as wikies [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ]. Similar
Use cases which are covered in DODA have been informally
described in recent postings about "Subscribing to one's
Brain" or "Life as RSS"1, where it is reported to be of high
interest to have a convenient way to manually select among
aspects of semantically structured information produced by
someone of whom one might have a high consideration.
        </p>
        <p>
          Semantic Desktop and RSS has been explored in
WonderDesk/WonderServer, part of the WonderSpace
project, an e-Science tool. WonderDesk [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] uses RSS 1.0 to
describe resources metadata and Hybrid solution
(P2P[Jxta]/Server) as communication channel (WonderServer
acts as a super-node of the network). WonderServer also acts
as information aggregator for all WonderDesk peer in a
specific group. In WonderDesk the RSS 1.0 vocabulary has
been extended to describe specific metadata of various kinds
of resource.
        </p>
      </sec>
      <sec id="sec-4-8">
        <title>A. Related Ontologies</title>
        <p>Several ontologies exist which cover aspects somehow
related to DODA or that can be used in conjunction with it.
The Friend of a Friend (FOAF) as well as the Description of a
Project (DOAP) vocabulary are commonly used to talk about
persons and projects respectively, they can both make ready
use of DODA extensions, e.g. to indicate data sources and
contact channels.</p>
        <p>
          EMiR2, DOAML3 and SIOC [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] are vocabularies for
email, mailing lists, forums posts and users-modeled
respectively. WikiOnt [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ] aims at integrating Wikipedia (and
by extension other MediaWiki-based sites) into the Semantic
Web, it describes the internal working of a wiki as a medium
itself.
        </p>
        <p>
          PIMO [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ] introduces an ontology language that can be
used to express personal mental models. It includes an
simplified "domain upper ontology", but does not cover the
specifically modeling of communication channels. Also
potentially of interest, for future works, is the OWL Atom
ontology [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ], which models services provided trough this
protocol.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>VI. CONCLUSION AND OUTLOOK</title>
      <p>In this paper we give the following contributions. First we
provide an ordered overview and an API/Semantic factoring
of a number of technologies that have appeared in Semantic
Web literature and practice and that might be considered
either as "transport layer" or "data access services". Such
factoring serves then as basis for the proposed DODA,
ontology. DODA is an ontology for describing
communication channels which groups them according to
their peculiarity at the user interaction level. DODA enables a
“lightweight” integration: it greatly facilitates the process and
provides abstraction but, for example, expects humans in the
end to decide, for example, which source among those which
a client has learned about is meaningful to import or which
export channel should be use to advertise a specific bit of
information.</p>
      <p>In our use cases, content publishers and communities use
DODA to describe way by which they share, acquire, publish
or give access to semantically structured information. As
DODA comes loaded with a great number of pre-modeled
well known technologies, using DODA can be as simple as
adding a single triple to a FOAF or DOAP file.</p>
      <p>Applications, on the other end, import such RDF
descriptions and, supported by the ontology, can present
proper user interfaces to interact with or interconnect
channels. Such applications might be Semantic PKI as
previously illustrated, but it can be foreseen DODA used in
other situations, e.g., in server side software.</p>
      <p>While one might think such use cases to be far off
futuristic, we believe they are actually quite simple once the
proper technological infrastructure and UI is in place and
provides assistance to the end user.</p>
      <p>One of the most promising and awaited results of the
Semantic Web initiative is the improvement of the way
everyday information and knowledge is stored, retrieved and
processed. To foster such a scenario, the ability of connecting
to heterogeneous semantic data access services and channels
published freely by individuals or organizations seems
particularly important.</p>
      <p>Simplicity and task specialization are the most important
and interesting aspect in DODA stands out especially when
confronted with complex proposal such as OWL-S; much like
as happened with FOAF, which with its simplicity and task
oriented nature, has undoubtedly received a lot of acceptance
and ultimately widespread as opposed to more powerful yet
complex vocabularies.</p>
      <p>DODA 0.1 is currently made available on the web and
further works will give the highest priority to gathering
community feedbacks and practical validation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.</given-names>
            <surname>Tummarello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morbidoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nucci</surname>
          </string-name>
          , R. Cyganiak,
          <source>“DODA 0</source>
          .
          <article-title>1: An Oontology for Lightweight Integration of Semantic Data Access Technologies”</article-title>
          ,
          <source>Semantic Information Integration on Knowledge Discovery</source>
          , Yogyakarta, Indonesia,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>NEPOMUK - The Social</surname>
          </string-name>
          Semantic Desktop, http://nepomuk.semanticdesktop.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] DBin project</article-title>
          , http://dbin.org
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Haystack</given-names>
            <surname>Project</surname>
          </string-name>
          , http://haystack.lcs.mit.edu/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Leo</given-names>
            <surname>Sauermann</surname>
          </string-name>
          , Ansgar Bernardi, Andreas Dengel, “
          <article-title>Overview and Outlook on the Semantic Desktop”</article-title>
          ,
          <source>1st Workshop on The Semantic Desktop at the ISWC 2005 Conference</source>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Stefan</given-names>
            <surname>Decker</surname>
          </string-name>
          , Martin Frank, “
          <article-title>The Social Semantic Desktop”</article-title>
          ,
          <source>DERI Technical Report</source>
          ,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>FOAF</given-names>
            <surname>Project</surname>
          </string-name>
          , http://www.foaf-project.org/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>[8] DOAP: Description of a Project</source>
          , http://usefulinc.com/doap
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>The</given-names>
            <surname>URI Query Agent</surname>
          </string-name>
          <string-name>
            <surname>Model</surname>
          </string-name>
          , http://sw.nokia.com/uriqa/URIQA.html
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Piggy</surname>
            <given-names>Bank</given-names>
          </string-name>
          , http://simile.mit.edu/piggy-bank/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Semantic</surname>
            <given-names>Bank</given-names>
          </string-name>
          , http://simile.mit.edu/semantic-bank/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>SPARQL</given-names>
            <surname>Query</surname>
          </string-name>
          <article-title>Language for RDF, W3C Candidate Recommendation</article-title>
          , http://www.w3.org/TR/rdf-sparql-query/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>G.</given-names>
            <surname>Tummarello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Morbidoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Petersson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Piazza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Puliti</surname>
          </string-name>
          ,
          <article-title>"RDFGrowth, a P2P annotation exchange algorithm for scalable Semantic Web applications"</article-title>
          , Mobiquitous, Boston,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Semantic</surname>
            <given-names>MediaWiki</given-names>
          </string-name>
          , http://wiki.ontoworld.org/index.php/Semantic_MediaWiki
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>RDF</given-names>
            <surname>Site</surname>
          </string-name>
          <article-title>Summary (RSS) 1</article-title>
          .0, http://web.resource.
          <source>org/rss/1</source>
          .0/
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>[16] RSS 2.0 Specification</source>
          , http://blogs.law.harvard.edu/tech/rss
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Open</surname>
            <given-names>Academia</given-names>
          </string-name>
          , http://www.openacademia.org/
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Annotea</surname>
            <given-names>Project</given-names>
          </string-name>
          , http://www.w3.org/2001/Annotea/
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Stefania</surname>
            <given-names>Ghita</given-names>
          </string-name>
          , Wolfgang Nejdl, Raluca Paiu ,
          <article-title>"Semantically Rich Recommendations in Social Networks for Sharing, Exchanging and Ranking Semantic Context" 2005 4th International Semantic Web Conference</article-title>
          , Galaway, Ireland,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Wolfgang</surname>
            <given-names>Nejdl</given-names>
          </string-name>
          , Boris Wolf, “
          <article-title>EDUTELLA: A P2P Networking Infrastructure Based on RDF”</article-title>
          , 11th International World Wide Web Conference, Honolulu,
          <year>2002</year>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Description</surname>
          </string-name>
          <article-title>Language (WSDL) Version 2</article-title>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Mapping</surname>
          </string-name>
          , W3C Working Draft,
          <year>2006</year>
          , http://www.w3.org/
          <year>2002</year>
          /02/21- WSDL-RDF-mapping/
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>W3C ACL Schema</surname>
          </string-name>
          , http://www.w3.org/
          <year>2001</year>
          /04/ACLS/Schema
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23] WITW: NSDL, http://norman.walsh.name/
          <year>2005</year>
          /03/12/nsdl
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>SMEX-D</surname>
          </string-name>
          , http://www.tbray.org/ongoing/When/200x/
          <year>2005</year>
          /05/03/SMEX-D
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <article-title>The Message without the Medium: Unifying Modern Messaging Paradigms through the Semantic Web</article-title>
          , http://citeseer.ist.psu.edu/bakshi04message.html
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>Dennis</given-names>
            <surname>Quan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Karun</given-names>
            <surname>Bakshi</surname>
          </string-name>
          , David Karger, “
          <article-title>A Unified Abstraction for Messaging on the Semantic Web”</article-title>
          ,
          <source>Proceedings of WWW</source>
          ,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>T.</given-names>
            <surname>Franz</surname>
          </string-name>
          , S. Staab, “SAM:
          <article-title>Semantics Aware Instant Messaging for the Networked Semantic Desktop”</article-title>
          ,
          <source>Workshop on the Semantic Desktop at the ISWC</source>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Karger</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Quan</surname>
          </string-name>
          , “
          <article-title>What would it mean to blog on the semantic web?”</article-title>
          , Third International Semantic Web Conference,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>M¨oller, U. Boj¯ars, and</article-title>
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Breslin</surname>
          </string-name>
          , “
          <article-title>Using Semantics to Enhance the Blogging Experience”</article-title>
          ,
          <source>Third European Semantic Web Conference</source>
          , Montenegro,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>R.</given-names>
            <surname>Tazzoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Castagna</surname>
          </string-name>
          , S. Emilio Campanini, “
          <article-title>Towards a Semantic Wiki Wiki Web”</article-title>
          ,
          <source>Demo Session at ISWC</source>
          ,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Xiang</surname>
            <given-names>Zhang</given-names>
          </string-name>
          , Wennan Shen,
          <string-name>
            <given-names>Yuzhong</given-names>
            <surname>Qu</surname>
          </string-name>
          ,
          <article-title>"WonderDesk - A Semantic Desktop for Resource Shating and Management"</article-title>
          , Workshop on The Semantic Desktop,
          <string-name>
            <surname>ISWC</surname>
          </string-name>
          <year>2005</year>
          , Ireland,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>SIOC</given-names>
            <surname>Project</surname>
          </string-name>
          , http://sioc-project.org/
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>WikiOnt</given-names>
            <surname>Vocabulary Specification</surname>
          </string-name>
          , http://sw.deri.org/
          <year>2005</year>
          /04/wikipedia/wikiont.html
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <article-title>PIMO - a PIM Ontology for the Semantic Desktop</article-title>
          , http://www.dfki.unikl.de/~sauermann/
          <year>2006</year>
          /01-pimoreport/pimOntologyLanguageReport.html
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>AtomOwl</given-names>
            <surname>Vocabulary Specification</surname>
          </string-name>
          , http://bblfish.net/work/atomowl/2006-06-06/AtomOwl.html
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>