3 SEMANTIC MEDIATION
Our Semantic Mediation Architecture seeks to make
wrappers independent entities and to eliminate their
ties to the mediator, thus increasing their reusability
in different applications. We emulate P2P
(Schollmeier, 2001) hybrid systems, which
implement a directory with location information of
available resources. In these systems the applications
access the resources directly by means of point to
point connections provided by the directory.
Our proposal for semantic mediation stems from
the need in several domains for dynamic integration,
and from two main considerations on the basic
architecture of mediation: (1) on the one hand the
isolation of wrappers, which are encapsulated as
web services (W3C, 2002) (Data Services for us);
and (2) on the other hand, the added directory
(Semantic Directory) with information about these
Data Services (See Figure 1). This architecture
allows wrappers to contribute data, schemas of
information and query capabilities in a decentralized
and easily extensible way. Public interfaces of data
services and semantic directories will allow other
applications, which share its communication
protocol, to take advantage of knowledge about
available directory resources. Next we briefly
present the components of the proposed architecture.
3.1 Semantic Directory
Semantic directories are at the core of this
architecture because they provide essential services
for solving user queries. We can define a semantic
directory as “a server that offers information about
available web resources (data services), a domain
ontology, mappings between resource schemas and
this ontology, and provides a query planner”.
A semantic directory stores an ontology described
with OWL (OWL, 2003), which must be generic for
the application domain. This ontology describes the
core knowledge that is shared by a set of users.
Information about data services will be added to a
semantic directory when services register in it. This
information includes the Resource’s Schemas, the
location of these resources (the URL of the Data
Service, the Query Web Method, etc.) and several
mappings between the domain ontology and the
resource’s schemas. Note that all this information
allows the system to solve any kind of query, and
not only predefined queries like most mediation
systems.
3.2 Data Services
Semantic directories offer essential services for
query processing, and data services provide minimal
elements for solving queries. We have designed an
extensible and adaptive architecture in which we can
define a data service as “a service that offers
wrapper query capabilities using web protocols”.
That is, this type of service will solve specific
queries for a data source and offer its query
capabilities as a web service. The publication of
these online web services using UDDI (Universal
Description Discovery Integration) (UDDI, 2003)
could allow other applications to dynamically
discover wrappers by means of an easy interface.
However, our data services have been devised for
publication in a specialized and previously described
type of directory: the semantic directory. Thus, a
data service needs to be registered in one or more
semantic directories in order to be used by a
mediator or other software agent.
4 USE CASES
In this section we present a use case of the proposal
described for the integration of digital library data
sources. After that, we describe several advanced
queries that highlight the advantages of the
proposed architecture. As a first step we have
generated a domain ontology to be used in a
semantic directory. This ontology represents the
domain knowledge of a group of digital library users
(see Figure 2). This ontology is based on terms
described by the Dublin Core Metadata Initiative
(Dublin, 2003). Then we implement the application
that will use this directory and includes an evaluator
and user interface.
Once semantic directories have been developed,
they are autonomous and do not need human actions,
but a semantic directory and an application are not
enough to solve user queries. In order to illustrate
how our architecture works we present a simple
example, together with all the elements that are
necessary to solve the query example. Suppose that
we have developed several data services about
computer science publications and added them to the
semantic directory. For example, we can add to our
system data services that access to the BNE (Spanish
National Library), DBLP (Database & Logic
Programming) and CSB (The Collection of
Computer Science Bibliographies).
Now, we can solve a query like: “Find articles
whose author is Ullman and were published the
same year as the book titled ‘Data on the Web’”.
SEMANTIC INTEGRATION OF DIGITAL LIBRARIES
315