<!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>
      <journal-title-group>
        <journal-title>Feb</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Configuring Semantic Web Interfaces by Data Mapping</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michiel Hildebrand</string-name>
          <email>Michiel.Hildebrand@cwi.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jacco van Ossenbruggen</string-name>
          <email>Jacco.van.Ossenbruggen@cwi.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Author Keywords</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CWI Amsterdam</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>CWI/VU University Amsterdam</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Interface design</institution>
          ,
          <addr-line>heterogeneous data, ClioPatria, YUI</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2009</year>
      </pub-date>
      <volume>8</volume>
      <issue>2009</issue>
      <abstract>
        <p>We demonstrate how to develop Web-based user interfaces for Semantic Web applications using commonly available, off-the-shelf Web widget libraries. By formally defining the underlying data model that is assumed by these widgets, Semantic Web application developers can use familiar RDF constructs to map their own data to the model implemented by the Widgets. As an example, we briefly describe the interface model underlying our own framework, and provide concrete examples showing how it has been used to create Semantic Web applications in two different domains. We conclude by discussing the advantages and limitations of our approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Semantic Web data is typically rich in interconnections and
highly heterogeneous. Designing user interfaces for
applications that use this type of data is intrinsically hard.
Designing interfaces for highly diverse data tends to lead to overly
generic interfaces that do not communicate the richness of
the data to the end user. On the other hand, interfaces that
communicate this richness effectively tend to work well for
only a set of fixed schemas and not for the entire dataset.
Finding a sweet spot that balances these two forces is not
trivial, especially if one takes into account that most
Semantic Web developers are not UI specialists, and often have
even little affinity with UI design. The problem is even
deepened because many Semantic Web developers tend to build
UIs from scratch, as the fixed data model that is assumed
by many off-the-shelf UI toolkits seems to conflict with the
heterogeneity of their data.</p>
      <p>In this paper, we argue that for a wide range of applications,
such a sweetspot can be identified and formally modeled in</p>
      <p>RDFS or OWL. By building standard interface components
on top of this model, building an initial interface can be as
easy as mapping the application’s data model to this
interface model.</p>
      <p>This approach has the advantage that it leverages the
significant amount of design, implementation and testing effort
already invested in today’s Web UI toolkits, and we believe
that reuse of these commonly available toolkits will, in
general, lead to better interfaces than interfaces that are designed
and implemented from scratch by a (small) Semantic Web
research team.</p>
      <p>In addition, it replaces the traditional configuration and
tailoring that is needed to adapt a generic interface to a
local dataset by a straight forward RDF data mapping task,
a skill most Semantic Web developers will have. By
providing default mappings, it is even possible to provide a
noconfiguration, first crude version of a user interface, very
early in the application development life cycle. This will
give RDF data developers the “instant gratification” that has
made many Web 1.0 and 2.0 applications so popular. It also
encourages them to, during their data modeling and data
development tasks, think about how their data will be used in
the end-user applications, and how their modeling decisions
may impact the interface.</p>
      <p>
        Finally, while our approach provides pre-packaged solutions
for common tasks, it does not prohibit application
developers to go beyond those solutions in order to add more
advanced or more application specific interface components. It
is built to be extended or to build other layers on top of it.
This paper is structured as follows. In the next section, we
discuss related work and compare it to the approach
proposed in this paper. As an example user interface model
and its binding to a Web UI toolkit, we discuss the interface
model upon which the ClioPatria [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] interface components
are built, and how these components are implemented on top
of the Yahoo! User Interface (YUI) library. We show how
this model can be used to easily create two interfaces, one
in the cultural heritage domain and one in the news domain.
We provide some details of the current implementation and
in the last section, we discuss the pros and cons of our
approach.
      </p>
    </sec>
    <sec id="sec-2">
      <title>RELATED WORK</title>
      <p>
        Modeling part of the user interface in RDF is in itself not
new. Fresnel [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a good example of an RDF vocabulary
that can be used to specify the presentation details of RDF
data. Fresnel provides vocabularies for the selection and
formatting of the data. A Fresnel engine generates a tree
structure with selected resources and formatting information. The
actual visualization of this tree is left to the application or
widget. Our interface widgets depend on configurable search
functionality on the server, for example, vocabulary-based
prefix search for autocompletion, faceted queries and graph
search. This functionality goes beyond Fresnel’s selection
vocabulary. Our approach targets the configuration of the
server-side search algorithms instead of providing a
vocabulary for selection. Furthermore, the visualized data often
becomes part of the widget’s interactive behavior, for example,
extra information for a result needs to be shown in a popup,
trees need to be dynamically extended and facets may be
interactively removed or added. Fresnel’s formatting
vocabulary is not suited for describing this type of interaction. We
propose a method that takes the widget’s functionality as the
starting point and provides a means to configure the widget’s
selection, organization and visualization methods. An
interface model captures these configuration dimensions and by
providing mappings to domain specific data a developer can
fully exploit the widget’s behavior for a specific task.
Simile’s faceted browser Longwell supports Fresnel for the
visualization of the results [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In addition, the set of facets
displayed in the interface can be defined in a configuration
file in RDF. The individual facets are, however, not
configurable. Simile’s Exhibit [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] provides a more extended
vocabulary to define the visualization and organization of the
facet values. The content of a facet in Exhibit is defined
by a property that refers to a key in the native JSON
format. This prevents the use of RDFS reasoning facilities, such
as rdfs:subPropertyOf. Our approach combines the
reasoning facilities of a server-side triple store with a lightweight
client-side widget.
      </p>
      <p>
        Web interface widgets have become a standard in web
development. The choice among JavaScript libraries is numerous
and all provide a convenient abstraction of low-level issues,
such as cross-browser support. Interface widgets for
semantic content are also available. Eetu Ma¨kela¨ et. al. provide
several interface widgets that work on top of their ontology
service infrastructure ONKI [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Example widgets are
autocompletion and faceted navigation. They also so seem to
strive for easy configuration of the widgets, but have not
presented a clear model for this.
      </p>
      <p>The approach of semantic widgets is also used by the
Semantic Web company Mondeca 1.</p>
    </sec>
    <sec id="sec-3">
      <title>COMBINING THE YAHOO! USER INTERFACE LIBRARY</title>
    </sec>
    <sec id="sec-4">
      <title>WITH THE CLIOPATRIA INTERFACE MODEL</title>
      <p>
        In many domains there is a central role for persons,
locations, times and artifacts. Sometimes these are modeled
together as an event. For example, in the cultural heritage
domain works of art are created by persons at a specific time
1http://www.mondeca.com/index.php/en/
intelligent topic manager/applications/
semantic portal semantic widgets
and location. In a figurative art it may also be important
to know which persons, times and locations are depicted.
News images are also made on a specific time and place by
a specific photographer and depict an event often involving
persons, times and locations. Persons, locations and times
are thus good candidates for a central model which is
sufficiently generic, while sufficiently specific to answer the
classic who, where and when questions to the end user.
Manmade artifacts also play a central role in many domains and
their specific properties can often be abstracted from by
using, for example, a general vocabulary such as Dublin Core.
In addition, different domains often deploy their own set of
specific thesaurus concepts that describe the properties of
events. We found that SKOS provides a sufficiently rich and
abstract model to describe these concepts and their relations.
Within the semantic search and annotation framework
ClioPatria [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] we have developed several interface widgets. When
deploying ClioPatria in a specific application domain we use
persons, locations, times, artifacts and thesaurus concepts as
an intermediate model between the interface model and the
domain specific details of the underlaying RDF data. In the
following paragraphs we explain the configuration
dimensions of two interface widgets, autocompletion and faceted
navigation, and show how this can be captured in an RDF
interface model. In the next section we show how the
intermediate model sketched above can be mapped to these
widget’s interface models.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Example 1: Autocompletion</title>
      <p>
        Autocompletion is an interface feature that allows users to
type only a few characters instead of a full word or phrase.
After the user has entered the first characters, the system
responds by completing the word or phrase. If the characters
typed in so far can be completed in more than one way, most
interfaces present a list of multiple options. The user can
than either select one of the options from the list, or
continue typing to narrow down the number of options.
In context of the Semantic Web autocompletion is useful to
quickly find a resource by one of its labels2. In previous
work we argued that for different tasks and data sets
autocompletion widgets require a different configuration [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
The screenshots in Fig. 1 and Fig. 2 show autocompletion
2For sake of simplicity we do not consider finding resources by a
label of a related resource.
suggestions of historical persons and thesauri concepts. In
the next section we discuss the configurations of these two
widgets, here, we focus on the main differences between
these two widgets. First, the widgets suggest a different type
of resource (e.g. persons and concepts), thus, requiring a
different selection of the right RDF resources. Second, the
persons are organized in an alphabetically ordered list, while
the concepts are grouped by different thesauri and ranked
according to popularity. Finally, the individual suggestions are
visualized differently in each widget. The suggested persons
are shown with extra biographical information, whereas, the
concepts are shown within their hierarchy.
      </p>
      <p>The two examples are built on top of the YUI
autocompletion widget. The YUI widget contains several client side
configuration parameters, it supports custom functions for
result formatting, construction of remote data requests and
it provides many event handlers. Although this is sufficient
to configure the widget for an RDF data source, we
experienced that it required extensive JavaScript programming to
obtain the appropriate configurations. For example,
visualizing different types of information requires the configuration
of the server request as well as the client side JavaScript
formatting functions.</p>
      <p>An interface model for an autocompletion widget provides a
single focal point for the configuration of a widget and only
requires Semantic Web modeling skills. Note, we do not
claim that this is a complete model for autocompletion, we
merely want to illustrate that it is possible to define an
interface model for an autocompletion widget in RDF. The model
we present is for an extended version of the YUI
autocompletion widget. We added support for clustered presentation
of search results, a secondary display that is shown when
the user hovers over a suggestion, a single configurable
result formatting function and support for easy configuration
:selection
:organization
:visualization
:target rdfs:Class
:match (rdf:Property)
:sort (exact || inlink</p>
      <p>|| rdf:Property)
:group (rdf:Property)
:smush true || false
:max integer
:primaryDisplay
:preLabel (rdf:Property)
:altLabel (rdf:Property)
:subLabel (rdf:Property)
:postLabel (rdf:Property)
:secondaryDisplay
of the server side search algorithm.</p>
      <p>An interface model for the RDF concept autocompletion
widget is shown in Fig. 3. The widget contains three main
configuration properties that correspond with the three phases of
the search process: selection, organization and visualization.
For the selection of the appropriate resource it should be
known what type of resources should be selected and which
literals should be used to find these resource? The first is
configured by providing an rdfs:Class for :target3. The
second requires the definition of a collection of RDF label
properties for :match. The order of the properties
indicates which property has preferences in case the same
resource is found by multiple labels. The selected resources
can then be organized in a list or in groups of different lists.
The grouping is performed on the values of the RDF
properties provided for :group. The resources in the list can
be ordered according to several criteria and are defined in a
collection as a value of :sort. The built in constant,
exact puts all resources with an exact matching label before
resources with partial matching labels. Another built in
constant is inlink that sorts the resources by the number of
incoming links they have in the graph. Further sorting criteria
are the display labels (explained in the next paragraph) or
any rdf:Property. The number of results that are returned can
be limited by defining :max. In a grouped organization the
maximum applies to the number of items within a group.
Finally, resources that are defined as equivalent (owl:sameAs
or skos:exactMatch) are shown as a single suggestion when
:smush is set to true.</p>
      <p>The results are visualized in a primary and secondary display
panel. The primary display contains all suggestions, while
the secondary display is shown when the user hovers over
one of these. The default display format of these panels,
as shown in Fig. 4, is fixed. The primary display contains
3The properties and classes used in the interface models
are contained in our own namespace http://e-culture.
multimedian.nl/ns/interface/. In this paper we omit
this namespace and simply write a colon.
place markers for four labels besides the matching label
itself. The developer defines which labels are shown by
mapping domain specific properties to the properties of the
interface model (e.g. mapping skos:broader to :subLabel).
If the default display format is not sufficient a new
formatting function can be created in the JavaScript widget, which
might also require updates to the interface model.</p>
    </sec>
    <sec id="sec-6">
      <title>Example 2: Faceted browsing</title>
      <p>
        Facet browser interfaces provide a convenient way to
navigate through a wide range of data collections. Originally
demonstrated in the Flamenco system [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], facet browsing
has also become popular in the Semantic Web community
thanks to MUSEUMFINLAND [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and other systems [
        <xref ref-type="bibr" rid="ref3 ref6 ref9">3, 6,
9</xref>
        ]. An individual facet highlights one dimension of the
underlying data. Often, the values of this dimension are
hierarchically structured. By visualizing and navigating this
hierarchy in the user interface, the user is able to specify
constraints on the items selected from the repository.
The facet browser we developed within ClioPatria, /facet,
could be applied to any RDF dataset [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. By considering the
Class and Property hierarchy as special facets the user could
configure the interface to her needs. In the Class facet the
user selects the target resources (e.g. documents or persons)
and from the Property facet she selects the facets she wants
to navigate (e.g. creator and subject for documents or
birthplace and birthdate for persons). This approach provides an
instant interface for Semantic Web engineers. Presenting the
raw data is, however, not suited for end user applications. In
the project HealthFinland it was demonstrated that through
careful user studies a more user-friendly configuration of the
facets can be achieved [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Consider a faceted interface on a collection of documents.
Each individual facet contains the values within one
dimension. For example, one facet might display all the creators,
whereas, another might display the subject categories. On an
RDF data source this type of value selection corresponds to
the values of a particular RDF property (e.g. dc:creator and
dc:subject). Other selection criteria are also possible, such
as all instances of a particular Class. In a similar fashion
rdfs:Class</p>
      <p>:target
:target (rdfs:Class)
:property rdf:Property
:FacetNavigation
:FacetView
:facets
:Facet
:selection
:organization</p>
      <p>:visualization
:sort (exact || rdf:Property)
:group (rdf:Property)
:smush true || false
:max integer
:hierarchy
:relation rdf:Property
:root (rdfs:Resource)</p>
      <p>:FacetView
:Facet</p>
      <p>:Facet
as the autocompletion suggestions, different types of facet
values require different methods of organization. The
creators might be best organized in an alphabetically ordered
list, while the hierarchical structure is important for the
subject categories. Also the visualization of facet values shows
similarities with the autocompletion widget. Adding extra
information in the display may help to disambiguate similar
values. In addition, specific types of values (e.g.
geographical locations and dates) are suited for alternative
visualization (geographical map and timeline).</p>
      <p>When the number of defined facets is too large to be shown
in the interface, it has to be defined which facets are shown.
In Longwell a facet view can be defined as a collection of
facets for a particular target. The facets defined in this view
are shown, while all other facets are collapsed and available
on requested. An alternative method is to allow multiple
views and allow the user to select the most appropriate view.
For example, the creation view contains all facets that cover
the creation of a document, whereas, the content view
contains the facets about the topic. In either solution, a view
defines which facets are selected for display.</p>
      <p>As an example we describe a possible model for a faceted
navigation widget. A screenshot of this widget, used for a
collection of news items, is shown in Fig. 6. The widget
displays multiple facets that are defined in a facet view and
allows the selection of alternative views. The individual facets
are built on top of the autocompletion widget, which allows
re-use of its organization and visualization methods. In
addition, it allows autocompletion within each facet. Again,
we make the disclaimer that our purpose is not to provide
a complete model for faceted navigation, but merely to
illustrate that it is possible to define an interface model for a
faceted navigation widget in RDF.</p>
      <p>An interface model for a faceted navigation widget is shown
in Fig. 5. The widget can contain multiple facet views, that
each apply to the resources of a particular Class. Each facet
view contains an RDF list of facets. A facet is configurable
in the selection of facet values, the organization and
visualization of these values. At the moment our widget only
supports the selection of facet values from an rdf:Property. The
configuration of the organization and visualization is similar
to that of the autocompletion widget. In addition, the facet
values can be organized hierarchically, meaning that initially
only the root values of the hierarchy are shown and after
selection of one of these its children become available.</p>
    </sec>
    <sec id="sec-7">
      <title>CONFIGURING INTERFACE WIDGETS: A MAPPING TASK</title>
      <p>Given an interface model the configuration of a Semantic
Web application becomes a task of mapping the right
properties and classes to this model. In practice, this often means
first finding a suited intermediate model for the domain. For
example, in terms of persons, locations and times. Second
mapping this intermediate model to the widget’s interface
model. We illustrate the mapping task with two use cases:
configuring autocompletion components for a cultural
heritage annotation application and configuring faceted
navigation for a news application.</p>
    </sec>
    <sec id="sec-8">
      <title>Use case 1: Rijksmuseum annotation user experiment</title>
      <p>
        Within the MultimediaN E-Culture project [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] we developed
a prototype interface for the subject annotation performed at
the Rijksmuseum in Amsterdam, the Netherlands. The
professional annotators of the Rijksmuseum describe thousands
of artworks a year by assigning terms from controlled
vocabularies. Finding the right term is complicated because the
vocabularies used are large, very detailed, contain similar
terms (or even duplicates) and often the annotator does not
know exactly how to spell a term. We experienced that
autocompletion helps professional annotators to find the right
terms, but only when the widget is properly configured.
In an extensive study with these professionals we gathered
the requirements for term search from multiple thesauri.
During an iterative process of prototyping and discussion we
tested several configurations of autocompletion widgets. A
screenshot of the interface of the final prototype is shown in
Fig. 7. On the right side the interface contains three
autocompletion fields to lookup terms from thesauri and a free
text field to input dates. One of the results of the study is
that the three autocompletion fields all required a different
configuration.
      </p>
      <p>The interface model for the autocompletion widget, as
described in the previous section, is based on our findings at the
Rijksmuseum. We acknowledge that a single study might
not be sufficient to determine a complete interface model
that applies to other domains. On the other hand, all three
autocompletion fields required different features and
configurations. Furthermore, the three fields cover generic types
of resources (persons, thesaurus concepts and locations) that
are very likely to be used in other domains as well.
We first introduce the vocabularies used in the annotation
interface, before describing the configuration of the person and
concept autocompletion fields. We used three thesauri with
persons: Getty’s United List of Artist Names4 (ULAN),
DBPedia’s RDF version of person data5 from Wikipedia (WP)
and the Rijkmuseum’s own people thesaurus. All three
thesauri were mapped to the generic “Person” scheme of ULAN.
For places we also used, Getty’s Thesaurus of Geographic
Names6 (TGN) and aligned it with the Rijksmuseum’s place
thesaurus. We used SKOS for the geographical
containment relations in combination with location-specific
properties from TGN. The concepts used in this domain were also
modeled or mapped to SKOS. In addition to the
Rijksmuseum’s events thesaurus we added the RKD IconClass7
thesaurus and, as a source for more general terms, W3C’s
RDF version of Princeton’s WordNet8.</p>
      <sec id="sec-8-1">
        <title>Autocompletion on persons</title>
        <p>Listing 1 shows the configuration of the autocompletion
widget in the Who field. The selection is restricted to resources
of type ulan:Person. Note, the class of persons in the
Rijkmuseum thesaurus and DBPedia people are subclasses of
ulan:Person. We only consider literal values of skos:prefLabel
and rdfs:label, where preference is given to the skos:prefLabel
4http://www.getty.edu/research/conducting
research/thesauri/ulan/
5http://dbpedia.org/
6http://www.getty.edu/research/conducting
research/thesauri/tgn/
7http://www.iconclass.nl/
8http://www.w3.org/2006/03/wn/wn20/
as this is first in the list. The results are organized
alphabetically on the label and first showing all resources with an
exactly matching label. The professionals at the Rijksmuseum
explicitly indicated that they expect alphabetical ordering for
a list of person names. As the autocompletion field gives
access to the resources from different overlapping vocabularies
it turned out essential to smush equivalent results to a single
suggestion.</p>
        <p>The primary display contains three labels in addition to the
matching label. The :altLabel is only shown in case the
match was not found an a skos:prefLabel. Thus, when a hit
is found by a skos:altLabel it’s skos:prefLabel is also shown.
The :endLabel contains the value of the skos:inScheme
property. Thus indicating the thesaurus the term comes from.
The professional annotators requested this information as
terms are suggested from their own as well as other
thesauri. The :subLabel shown beneath the main label is
composed out of the values of four properties. Together
these compose a short biography of the person. The
annotators use this information to disambiguate similar persons
from one another. The secondary display contains an image
depicting the person and a longer biography.
: P e r s o n A u t o c o m p l e t e
a : A u t o c o m p l e t e ;
: l a b e l ” s e a r c h p e r s o n ”@en ;
: l a b e l ” zoek p e r s o o n ”@nl ;
: s e l e c t i o n [
: t a r g e t u l a n : P e r s o n ;
: match ( s k o s : p r e f L a b e l r d f s : l a b e l )</p>
        <p>Listing 1. Person autocompletion allows autocompletion on instances
of ulan:Person. The results are sorted first on exact matches and then
alphabetically on the matching label. Results that are defined as
equivalent (skos:exactMatch or owl:sameAs) are smushed. Each result is
displayed with extra information. The primary display contains a short
biography composed out of the values different properties and it
contains the thesaurus source. The secondary display contains a full
description and an artwork that depicts the person.
: C o n c e p t A u t o c o m p l e t e
a : A u t o c o m p l e t e ;
: l a b e l ” s e a r c h c o n c e p t ”@en ;
: l a b e l ” zoek c o n c e p t ”@nl ;
: s e l e c t i o n [
: t a r g e t [
owl : u n i o n O f (
i c : C o n c e p t ;
wn : S y n s e t ;
rma : E v e n t
)
] ;
: o r g a n i z a t i o n [
: s o r t ( ” e x a c t ” ” i n l i n k ” ) ;
: g r o u p s k o s : inScheme
] ;
: p r i m a r y D i s p l a y [</p>
        <p>: s u b L a b e l s k o s : b r o a d e r
] ;
: s e c o n d a r y D i s p l a y [
: d e s c r i p t i o n s k o s : n o t e ;
: image v r a : s u b j e c t</p>
        <p>] ;
: m a t c h L a b e l ( s k o s : p r e f L a b e l r d f s : l a b e l ) ;
Listing 2. Concept autocompletion allows autocompletion on instances
of skos:Concept. The results are sorted first on exact matches and then
on the number of inlinks. The suggestions from the same thesaurus are
grouped together. In the secondary display a tree is shown with the all
ancestors and direct children of the result.</p>
      </sec>
      <sec id="sec-8-2">
        <title>Autocompletion on thesaurus concepts</title>
        <p>Listing 2 shows the configuration of the autocompletion
widget in the What field. We only describe the configurations
that are different from the Who field. The target is defined as
an owl:union of three classes, iconclass and wordnet terms
and the events from the Rijksmuseum thesaurus. The
resources from the three thesauri are each shown in a separate
group. The Rijksmuseum wanted to give preference to terms
from IconClass and only use WordNet as a backup.
Organizing the results in different groups allowed the annotators to
easily compare terms from the different thesauri to one and
other. Within each group the results are ordered by the
number of links that are pointing to the resource. Intuitively, this
means that the popular resources are shown first.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Use case 2: K-Space Semantic News Browser</title>
      <p>
        ClioPatria is used to support search and browsing of news
items [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. These news items are described with
multimedia standards, news codes from the IPTC standard and
additional metadata from various thesauri modeled (mapped)
to SKOS. The additional metadata is acquired through
extraction of named entities such as persons, organizations and
locations, from the textual stories. The extracted named
entities are mapped to existing resources available on the Web,
such as locations from Geonames, and persons from
DBPedia. The data set in this use case consists of news items from
2006, including the World Cup football.
      </p>
      <p>A screenshot of the faceted interface from ClioPatria is shown
in Fig. 6. The top part contains four facets: document
type, creation site, event and person. The
result viewer, visible below the facets, contains news items
related to the keyword “zidane”. The current query is shown
in the header of the result viewer. The user can extend the
query by selecting values from the facets. In this case the
value “photo” is selected from the document type facet.
The other facets only contain values that correspond with
the current result set. Note, this prevents the user from
constructing queries that lead to an empty result set.
: C r e a t i o n S i t e
a : F a c e t ;
: l a b e l ” c r e a t i o n s i t e ”@en ;
: t a r g e t ( newsml : newsItem ) ;
: p r o p e r t y newsml : l o c C r e a t e d ;
: h i e r a r c h y [
a : H i e r a r c h y ;
: l a b e l ” Geonames l o c a t i o n h i e r a r c h y ”@en ;
: r e l a t i o n geo : p a r e n t F e a t u r e ;
: r o o t geo : World
] .
: D e p i c t e d P e r s o n
a : F a c e t ;
. . .
: Co nt e nt Vi ew
a : F a c e t V i e w ;
: l a b e l ” c o n t e n t ”@en ;
: l a b e l ” c o n t e n t ”@nl ;
: t a r g e t ( newsml : newsItem ;
: f a c e t s
( : DocumentType
: D e p i c t e d E v e n t
: D e p i c t e d P e r s o n
: C r e a t i o n S i t e</p>
      <p>Listing 3. Excerpt of the facet and facet view configuration for a news
demonstrator</p>
      <sec id="sec-9-1">
        <title>Server</title>
        <p>web application
generator</p>
        <p>API
RDF store</p>
      </sec>
      <sec id="sec-9-2">
        <title>Client</title>
        <p>"static HTML"</p>
        <p>JS widget 1
JS widget 2
JS widget n
c
o
n
t
r
o
ll
e
r
Listing 3 shows an excerpt of the facet and facet view
configuration for a news demonstrator. The creationSite facet
applies to instances of the class NewsItem, as indicated by
the value of the :facetTarget property. This facet will
display values from the property newsml property
locCreated. As the values are part of a geographical containment
hierarchy, this is used for the organization. In the screenshot
of Fig. 6 the creationSite facet it is visible that initially only
the children of the hierarchy root (e.g. World) are shown
(e.g. Europe, Africa and Asia). When one of these values
is selected, the children available through the
hierarchyRelation, geo:parentFeature, become available. Four facets are
grouped into a facet view that covers the content of news
items. In a similar fashion other facets can be grouped into
views on the production and document characteristics. The
facet view menu shown in the screenshot on the top left
allows the user to select one of these facet views.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>IMPLEMENTATION</title>
      <p>
        The interface models have been implemented within the open
source semantic search and annotation ClioPatria framework 9.
The overall architecture of ClioPatria is described in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
here we focus on the parts that are relevant for the
interface model. Figure 8 shows a simplified overview of the
ClioPatria architecture. Server-side the system has a single
triple store that contains all RDF data including the interface
models and the mappings between the domain specific data
and these models. In response to a request from the user the
server generates an HTML page with static HTML and
parameterized JavaScript widgets. ClioPatria uses the interface
mappings to generate the appropriate parameter settings for
the widgets. For example, the JavaScript initialization
function of the Who field in the annotation application would be
generated as:
9http://e-culture.multimedian.nl/software/
ClioPatria
&lt;script type="text/javascript"&gt;
var WhoField = new YAHOO.mazzle.AutoComplete(
"elInput",
"elContainer",
"/api/autocomplete",
{ callback: {fn:addTag, args:["person"]},
filter:[type:"ulan:Person"],
match:[skos:prefLabel, rdfs:label],
sort:["exact", "label"],
smushing:true,
info:{
altLabel:"skos:prefLabel",
subLabel:[
"ulan:role", "ulan:nationality",
"ulan:birthDate", "ulan:deathDate"
],
postLabel:"skos:inScheme",
description:"ulan:biography",
image:"vra:subject"
The widgets populate themselves by requesting JSON data
from the server through one of the HTTP APIs. The
configuration of the widget determines what information is
requested. Widgets within a single web application
communicate with each other through a controller, which is itself
a JavaScript component. For example, selecting a value in
one facet sends an update message to the controller that
updates the internal state and tells the registered components to
update themselves. A client-side widget can also be used
independent of ClioPatria’s web application generator and the
RDF interface model by manually defining the JavaScript
function in a static HTML page.
      </p>
    </sec>
    <sec id="sec-11">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>We have shown how we can use RDF to model the interface
widgets of a specific Web application, an abstract
intermediate data model, and the mapping between these two models.
We argue that this approach can provide developers with an
interface early in the development cycle of a Semantic Web
application. As long as the chosen widgets, associated
interface model and intermediate model prove to be sufficiently
rich, all the developer needs to do is to provide the mappings
(in RDF) between his own data model and the
intermediate model, using skills that Semantic Web developers can be
safely assumed to possess. This approach also allows
Semantic Web UIs to be built on top of existing Web tool kits,
without sacrificing the heterogeneity and semantic richness
of the underlying data.</p>
      <p>A first drawback of our approach is that our interface models
are typically specific for a given interface widget or toolkit.
If the same RDF data needs to be displayed the same way
in multiple interfaces, a vocabulary such as Fresnel, that
abstracts from the interface technology used, might be a
better alternative. In our applications, we have aimed to fully
exploit the functionality of the interface widgets, and have
traded the advantages of extra functionality against
generality. Other developers might make a different trade off.
A second drawback surfaces when a given set of widgets and
the associated interface model provides insufficient
functionality. Then, extensions will require traditional Web scripting
skills to develop extensions to widget set, typically
involving a mix of HTML, CSS and JavaScript. But it also requires
skills to be able to model these extensions in RDF or OWL,
and this combination of skills might be hard to find.
For future work, we would improve upon our current
interface model and its implementation. The current
implementation is realized as an integral part of the ClioPatria server
framework, and we are investing ways to be able to apply
the same approach to create interfaces on top of arbitrary
SPARQL endpoints.</p>
    </sec>
    <sec id="sec-12">
      <title>ACKNOWLEDGEMENTS</title>
      <p>The dataset used in the NewsML demonstrator has been kindly
provided by AFP. We like to thank all members of the
MultimediaN E-Culture Project for creating an environment that
allows experimenting with Semantic Web technologies in a
real life setting. In particular, we like to thank Jan
Wielemaker for the cooperative development on ClioPatria and
the inspiring feedback. We also like to thank our colleagues
Raphae¨l Troncy and Michiel Kauw-A-Tjoe for the
contributions to ClioPatria and setting up the news demonstrator.
This research was supported by the MultimediaN project
funded through the BSIK programme of the Dutch
Government and by the European Commission under contract
FP6027026, Knowledge Space of semantic inference for
automatic annotation and retrieval of multimedia content —
KSpace.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Hildebrand</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. van Ossenbruggen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Amin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Aroyo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wielemaker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Hardman</surname>
          </string-name>
          .
          <article-title>The design space of a configurable autocompletion component</article-title>
          .
          <source>Technical Report INS-E0708</source>
          ,
          <string-name>
            <surname>CWI</surname>
          </string-name>
          ,
          <year>November 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Hildebrand</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. van Ossenbruggen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Hardman</surname>
          </string-name>
          .
          <article-title>/facet: A Browser for Heterogeneous Semantic Web Repositories</article-title>
          .
          <source>In The Semantic Web - ISWC</source>
          <year>2006</year>
          , pages
          <fpage>272</fpage>
          -
          <lpage>285</lpage>
          ,
          <year>November 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Huynh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Karger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Miller</surname>
          </string-name>
          . Exhibit:
          <article-title>Lightweight structured data publishing</article-title>
          .
          <source>In 16th International World Wide Web Conference</source>
          , Banff, Alberta, Canada,
          <year>2007</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. E. Hyvo¨nen, M. Junnila,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kettula</surname>
          </string-name>
          , E. Ma¨kela¨, S. Saarela,
          <string-name>
            <given-names>M.</given-names>
            <surname>Salminen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Syreeni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Valo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Viljanen. MuseumFinland -</surname>
          </string-name>
          <article-title>Finnish museums on the semantic web</article-title>
          .
          <source>Journal of Web Semantics</source>
          ,
          <volume>3</volume>
          (
          <issue>2</issue>
          -3):
          <fpage>224</fpage>
          -
          <lpage>241</lpage>
          ,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. E. Ma¨kela¨,
          <string-name>
            <given-names>K.</given-names>
            <surname>Viljanen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Alm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tuominen</surname>
          </string-name>
          , O. Valkeapa¨a¨,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kauppinen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kurki</surname>
          </string-name>
          , R. Sinkkila¨, T. Ka¨nsa¨la¨,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lindroos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Suominen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ruotsalo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Hyvo</surname>
          </string-name>
          <article-title>¨nen. Enabling the semantic web with ready-to-use web widgets</article-title>
          .
          <source>In Proceedings of the First Industrial Results of Semantic Technologies Workshop</source>
          , ISWC2007, November 11
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. m.c. schraefel,
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Owens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Harris</surname>
          </string-name>
          , and
          <string-name>
            <surname>M. L. Wilson.</surname>
          </string-name>
          <article-title>The evolving mSpace platform: leveraging the Semantic Web on the Trail of the Memex</article-title>
          .
          <source>In Proceedings of Hypertext</source>
          <year>2005</year>
          , pages
          <fpage>174</fpage>
          -
          <lpage>183</lpage>
          , Salzburg,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>E.</given-names>
            <surname>Pietriga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Karger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>Fresnel: A browser-independent presentation vocabulary for rdf</article-title>
          . In I. F. Cruz,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Allemang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Preist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schwabe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mika</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Uschold</surname>
          </string-name>
          , and L. Aroyo, editors,
          <source>International Semantic Web Conference</source>
          , volume
          <volume>4273</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>158</fpage>
          -
          <lpage>171</lpage>
          . Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>G.</given-names>
            <surname>Schreiber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Amin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Aroyo</surname>
          </string-name>
          , M. van
          <string-name>
            <surname>Assem</surname>
            , V. de Boer, L. Hardman,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Hildebrand</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Omelayenko</surname>
            ,
            <given-names>J. van Ossenbruggen</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tordai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wielemaker</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. J.</given-names>
            <surname>Wielinga</surname>
          </string-name>
          .
          <article-title>Semantic annotation and search of cultural-heritage collections: The multimedian e-culture demonstrator</article-title>
          .
          <source>J. Web Sem</source>
          .,
          <volume>6</volume>
          (
          <issue>4</issue>
          ):
          <fpage>243</fpage>
          -
          <lpage>249</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. SIMILE. Longwell RDF Browser. http://simile.mit.edu/longwell/, 2003-
          <fpage>2005</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>O.</given-names>
            <surname>Suominen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Viljanen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Hyvo</surname>
          </string-name>
          <article-title>¨nen. User-centric faceted search for semantic portals</article-title>
          .
          <source>In Proceedings of the European Semantic Web Conference ESWC</source>
          <year>2007</year>
          , Innsbruck, Austria. Springer, June 4-5
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>R.</given-names>
            <surname>Troncy</surname>
          </string-name>
          .
          <article-title>Bringing the iptc news architecture into the semantic web</article-title>
          . In A. P. Sheth,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paolucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maynard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Thirunarayan, editors,
          <source>International Semantic Web Conference</source>
          , volume
          <volume>5318</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>483</fpage>
          -
          <lpage>498</lpage>
          , Berlin Heidelberg,
          <year>November 2008</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>J. Wielemaker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Hildebrand</surname>
            ,
            <given-names>J. van Ossenbruggen</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Schreiber</surname>
          </string-name>
          .
          <article-title>Thesaurus-based search in large heterogeneous collections</article-title>
          . In A. P. Sheth,
          <string-name>
            <given-names>S.</given-names>
            <surname>Staab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Paolucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maynard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Finin</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Thirunarayan, editors,
          <source>International Semantic Web Conference</source>
          , volume
          <volume>5318</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>695</fpage>
          -
          <lpage>708</lpage>
          , Berlin Heidelberg,
          <year>November 2008</year>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>K.-P. Yee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Swearingen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Hearst</surname>
          </string-name>
          .
          <article-title>Faceted Metadata for Image Search and Browsing</article-title>
          .
          <source>In CHI '03: Proceedings of the SIGCHI conference on Human factors in computing systems</source>
          , pages
          <fpage>401</fpage>
          -
          <lpage>408</lpage>
          , Ft. Lauderdale, Florida, USA,
          <year>2003</year>
          . ACM Press.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>