=Paper=
{{Paper
|id=Vol-443/paper-4
|storemode=property
|title=Configuring Semantic Web Interfaces by Data Mapping
|pdfUrl=https://ceur-ws.org/Vol-443/paper4.pdf
|volume=Vol-443
}}
==Configuring Semantic Web Interfaces by Data Mapping==
Configuring Semantic Web Interfaces
by Data Mapping
Michiel Hildebrand Jacco van Ossenbruggen
CWI Amsterdam CWI/VU University Amsterdam
Michiel.Hildebrand@cwi.nl Jacco.van.Ossenbruggen@cwi.nl
ABSTRACT RDFS or OWL. By building standard interface components
We demonstrate how to develop Web-based user interfaces on top of this model, building an initial interface can be as
for Semantic Web applications using commonly available, easy as mapping the application’s data model to this inter-
off-the-shelf Web widget libraries. By formally defining the face model.
underlying data model that is assumed by these widgets, Se-
mantic Web application developers can use familiar RDF This approach has the advantage that it leverages the sig-
constructs to map their own data to the model implemented nificant amount of design, implementation and testing effort
by the Widgets. As an example, we briefly describe the in- already invested in today’s Web UI toolkits, and we believe
terface model underlying our own framework, and provide that reuse of these commonly available toolkits will, in gen-
concrete examples showing how it has been used to create eral, lead to better interfaces than interfaces that are designed
Semantic Web applications in two different domains. We and implemented from scratch by a (small) Semantic Web
conclude by discussing the advantages and limitations of our research team.
approach.
In addition, it replaces the traditional configuration and tai-
Author Keywords loring that is needed to adapt a generic interface to a lo-
Interface design, heterogeneous data, ClioPatria, YUI cal dataset by a straight forward RDF data mapping task,
a skill most Semantic Web developers will have. By pro-
viding default mappings, it is even possible to provide a no-
ACM Classification Keywords
configuration, first crude version of a user interface, very
H.5.2 Information Interfaces and Presentation: Miscellaneous
early in the application development life cycle. This will
give RDF data developers the “instant gratification” that has
INTRODUCTION made many Web 1.0 and 2.0 applications so popular. It also
Semantic Web data is typically rich in interconnections and encourages them to, during their data modeling and data de-
highly heterogeneous. Designing user interfaces for applica- velopment tasks, think about how their data will be used in
tions that use this type of data is intrinsically hard. Design- the end-user applications, and how their modeling decisions
ing interfaces for highly diverse data tends to lead to overly may impact the interface.
generic interfaces that do not communicate the richness of
the data to the end user. On the other hand, interfaces that Finally, while our approach provides pre-packaged solutions
communicate this richness effectively tend to work well for for common tasks, it does not prohibit application develop-
only a set of fixed schemas and not for the entire dataset. ers to go beyond those solutions in order to add more ad-
Finding a sweet spot that balances these two forces is not vanced or more application specific interface components. It
trivial, especially if one takes into account that most Seman- is built to be extended or to build other layers on top of it.
tic Web developers are not UI specialists, and often have
even little affinity with UI design. The problem is even deep- This paper is structured as follows. In the next section, we
ened because many Semantic Web developers tend to build discuss related work and compare it to the approach pro-
UIs from scratch, as the fixed data model that is assumed posed in this paper. As an example user interface model
by many off-the-shelf UI toolkits seems to conflict with the and its binding to a Web UI toolkit, we discuss the interface
heterogeneity of their data. model upon which the ClioPatria [12] interface components
are built, and how these components are implemented on top
In this paper, we argue that for a wide range of applications, of the Yahoo! User Interface (YUI) library. We show how
such a sweetspot can be identified and formally modeled in 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 ap-
proach.
RELATED WORK
Workshop on Visual Interfaces to the Social and the Semantic Web
Modeling part of the user interface in RDF is in itself not
(VISSW2009), IUI2009, Feb 8 2009, Sanibel Island, Florida, USA. Copy- new. Fresnel [7] is a good example of an RDF vocabulary
right is held by the author/owner(s)
1
that can be used to specify the presentation details of RDF
data. Fresnel provides vocabularies for the selection and for-
matting of the data. A Fresnel engine generates a tree struc-
ture 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 Figure 1. Autocompletion suggestions of historical persons. Under-
vocabulary. Our approach targets the configuration of the neath the name a short biography is displayed. This contains the na-
server-side search algorithms instead of providing a vocabu- tionality, role/profession and birth/death date. Note that for the first
lary for selection. Furthermore, the visualized data often be- person listed, only the profession is available in the data. The abbrevi-
ation RMA, shown to the right, indicates the thesaurus source.
comes 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 and location. In a figurative art it may also be important
interactively removed or added. Fresnel’s formatting vocab- to know which persons, times and locations are depicted.
ulary is not suited for describing this type of interaction. We News images are also made on a specific time and place by
propose a method that takes the widget’s functionality as the a specific photographer and depict an event often involving
starting point and provides a means to configure the widget’s persons, times and locations. Persons, locations and times
selection, organization and visualization methods. An inter- are thus good candidates for a central model which is suffi-
face model captures these configuration dimensions and by ciently generic, while sufficiently specific to answer the clas-
providing mappings to domain specific data a developer can sic who, where and when questions to the end user. Man-
fully exploit the widget’s behavior for a specific task. made artifacts also play a central role in many domains and
their specific properties can often be abstracted from by us-
Simile’s faceted browser Longwell supports Fresnel for the ing, for example, a general vocabulary such as Dublin Core.
visualization of the results [9]. In addition, the set of facets In addition, different domains often deploy their own set of
displayed in the interface can be defined in a configuration specific thesaurus concepts that describe the properties of
file in RDF. The individual facets are, however, not config- events. We found that SKOS provides a sufficiently rich and
urable. Simile’s Exhibit [3] provides a more extended vo- abstract model to describe these concepts and their relations.
cabulary to define the visualization and organization of the
facet values. The content of a facet in Exhibit is defined Within the semantic search and annotation framework ClioPa-
by a property that refers to a key in the native JSON for- tria [12] we have developed several interface widgets. When
mat. This prevents the use of RDFS reasoning facilities, such deploying ClioPatria in a specific application domain we use
as rdfs:subPropertyOf. Our approach combines the reason- persons, locations, times, artifacts and thesaurus concepts as
ing facilities of a server-side triple store with a lightweight an intermediate model between the interface model and the
client-side widget. domain specific details of the underlaying RDF data. In the
following paragraphs we explain the configuration dimen-
Web interface widgets have become a standard in web devel- sions of two interface widgets, autocompletion and faceted
opment. The choice among JavaScript libraries is numerous navigation, and show how this can be captured in an RDF
and all provide a convenient abstraction of low-level issues, interface model. In the next section we show how the in-
such as cross-browser support. Interface widgets for seman- termediate model sketched above can be mapped to these
tic content are also available. Eetu Mäkelä et. al. provide widget’s interface models.
several interface widgets that work on top of their ontology
service infrastructure ONKI [5]. Example widgets are au-
Example 1: Autocompletion
tocompletion and faceted navigation. They also so seem to
Autocompletion is an interface feature that allows users to
strive for easy configuration of the widgets, but have not pre-
type only a few characters instead of a full word or phrase.
sented a clear model for this.
After the user has entered the first characters, the system re-
The approach of semantic widgets is also used by the Se- sponds by completing the word or phrase. If the characters
mantic Web company Mondeca 1 . 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 con-
COMBINING THE YAHOO! USER INTERFACE LIBRARY tinue typing to narrow down the number of options.
WITH THE CLIOPATRIA INTERFACE MODEL
In many domains there is a central role for persons, loca- In context of the Semantic Web autocompletion is useful to
tions, times and artifacts. Sometimes these are modeled to- quickly find a resource by one of its labels2 . In previous
gether as an event. For example, in the cultural heritage do- work we argued that for different tasks and data sets au-
main works of art are created by persons at a specific time tocompletion widgets require a different configuration [1].
1 The screenshots in Fig. 1 and Fig. 2 show autocompletion
http://www.mondeca.com/index.php/en/
2
intelligent topic manager/applications/ For sake of simplicity we do not consider finding resources by a
semantic portal semantic widgets label of a related resource.
2
:AutocompletionWidget
:selection :organization :visualization
:target rdfs:Class :sort (exact || inlink :primaryDisplay
:match (rdf:Property) || rdf:Property)
:group (rdf:Property) :preLabel (rdf:Property)
:smush true || false :altLabel (rdf:Property)
:max integer :subLabel (rdf:Property)
:postLabel (rdf:Property)
:secondaryDisplay
:image rdf:Property
:description rdf:Property
:tree rdf:Property
Figure 3. Interface model for ClioPatria’s thesaurus concept autocom-
pletion widget. All organization and visualization properties are op-
Figure 2. Autocompletion suggestions of thesauri concepts. Results tional.
from both IconClass and WordNet are shown, each presented in
a separate group. A secondary panel shows more information for the
highlighted term (“[45K] siege, position war”), including the hierarchi-
cal structure the term is part of. The hierarchy contains the term itself of the server side search algorithm.
in bold, its ancestors and the direct children.
An interface model for the RDF concept autocompletion wid-
get is shown in Fig. 3. The widget contains three main con-
suggestions of historical persons and thesauri concepts. In figuration properties that correspond with the three phases of
the next section we discuss the configurations of these two the search process: selection, organization and visualization.
widgets, here, we focus on the main differences between For the selection of the appropriate resource it should be
these two widgets. First, the widgets suggest a different type known what type of resources should be selected and which
of resource (e.g. persons and concepts), thus, requiring a literals should be used to find these resource? The first is
different selection of the right RDF resources. Second, the configured by providing an rdfs:Class for :target3 . The
persons are organized in an alphabetically ordered list, while second requires the definition of a collection of RDF label
the concepts are grouped by different thesauri and ranked ac- properties for :match. The order of the properties indi-
cording to popularity. Finally, the individual suggestions are cates which property has preferences in case the same re-
visualized differently in each widget. The suggested persons source is found by multiple labels. The selected resources
are shown with extra biographical information, whereas, the can then be organized in a list or in groups of different lists.
concepts are shown within their hierarchy. The grouping is performed on the values of the RDF prop-
erties provided for :group. The resources in the list can
The two examples are built on top of the YUI autocomple- be ordered according to several criteria and are defined in a
tion widget. The YUI widget contains several client side collection as a value of :sort. The built in constant, ex-
configuration parameters, it supports custom functions for act puts all resources with an exact matching label before
result formatting, construction of remote data requests and resources with partial matching labels. Another built in con-
it provides many event handlers. Although this is sufficient stant is inlink that sorts the resources by the number of in-
to configure the widget for an RDF data source, we experi- coming links they have in the graph. Further sorting criteria
enced that it required extensive JavaScript programming to are the display labels (explained in the next paragraph) or
obtain the appropriate configurations. For example, visualiz- any rdf:Property. The number of results that are returned can
ing different types of information requires the configuration be limited by defining :max. In a grouped organization the
of the server request as well as the client side JavaScript for- maximum applies to the number of items within a group. Fi-
matting functions. nally, resources that are defined as equivalent (owl:sameAs
or skos:exactMatch) are shown as a single suggestion when
An interface model for an autocompletion widget provides a :smush is set to true.
single focal point for the configuration of a widget and only
requires Semantic Web modeling skills. Note, we do not The results are visualized in a primary and secondary display
claim that this is a complete model for autocompletion, we panel. The primary display contains all suggestions, while
merely want to illustrate that it is possible to define an inter- the secondary display is shown when the user hovers over
face model for an autocompletion widget in RDF. The model one of these. The default display format of these panels,
we present is for an extended version of the YUI autocom- as shown in Fig. 4, is fixed. The primary display contains
pletion widget. We added support for clustered presentation 3
The properties and classes used in the interface models
of search results, a secondary display that is shown when are contained in our own namespace http://e-culture.
the user hovers over a suggestion, a single configurable re- multimedian.nl/ns/interface/. In this paper we omit
sult formatting function and support for easy configuration this namespace and simply write a colon.
3
:FacetNavigation
preLabel Label (altLabel) postLabel
subLabel
description
image :FacetView :FacetView
tree :target :facets
node
node rdfs:Class
:Facet :Facet :Facet
:selection :organization :visualization
Figure 4. Layout of an autocompletion result. Primary display with
a preLabel, the label itself, an alternative label between brackets, a
postLabel aligned on the right side and a subLabel on a second line. :target (rdfs:Class) :sort (exact || rdf:Property) :preLabel (rdf:Property)
:property rdf:Property :group (rdf:Property) :altLabel (rdf:Property)
The secondary panel provides additional space for larger content, such :smush true || false :subLabel (rdf:Property)
as images, descriptions and trees. :max integer :postLabel (rdf:Property)
:hierarchy
:relation rdf:Property
place markers for four labels besides the matching label it- :root (rdfs:Resource)
self. The developer defines which labels are shown by map-
ping domain specific properties to the properties of the in-
terface model (e.g. mapping skos:broader to :subLabel). Figure 5. Interface model for ClioPatria’s faceted navigation widget.
If the default display format is not sufficient a new format-
ting function can be created in the JavaScript widget, which
might also require updates to the interface model. as the autocompletion suggestions, different types of facet
values require different methods of organization. The cre-
ators might be best organized in an alphabetically ordered
Example 2: Faceted browsing list, while the hierarchical structure is important for the sub-
Facet browser interfaces provide a convenient way to nav- ject categories. Also the visualization of facet values shows
igate through a wide range of data collections. Originally similarities with the autocompletion widget. Adding extra
demonstrated in the Flamenco system [13], facet browsing information in the display may help to disambiguate similar
has also become popular in the Semantic Web community values. In addition, specific types of values (e.g. geograph-
thanks to M USEUM F INLAND [4] and other systems [3, 6, ical locations and dates) are suited for alternative visualiza-
9]. An individual facet highlights one dimension of the un- tion (geographical map and timeline).
derlying data. Often, the values of this dimension are hi-
erarchically structured. By visualizing and navigating this When the number of defined facets is too large to be shown
hierarchy in the user interface, the user is able to specify in the interface, it has to be defined which facets are shown.
constraints on the items selected from the repository. In Longwell a facet view can be defined as a collection of
facets for a particular target. The facets defined in this view
The facet browser we developed within ClioPatria, /facet, are shown, while all other facets are collapsed and available
could be applied to any RDF dataset [2]. By considering the on requested. An alternative method is to allow multiple
Class and Property hierarchy as special facets the user could views and allow the user to select the most appropriate view.
configure the interface to her needs. In the Class facet the For example, the creation view contains all facets that cover
user selects the target resources (e.g. documents or persons) the creation of a document, whereas, the content view con-
and from the Property facet she selects the facets she wants tains the facets about the topic. In either solution, a view
to navigate (e.g. creator and subject for documents or birth- defines which facets are selected for display.
place and birthdate for persons). This approach provides an
instant interface for Semantic Web engineers. Presenting the As an example we describe a possible model for a faceted
raw data is, however, not suited for end user applications. In navigation widget. A screenshot of this widget, used for a
the project HealthFinland it was demonstrated that through collection of news items, is shown in Fig. 6. The widget dis-
careful user studies a more user-friendly configuration of the plays multiple facets that are defined in a facet view and al-
facets can be achieved [10]. lows the selection of alternative views. The individual facets
are built on top of the autocompletion widget, which allows
Consider a faceted interface on a collection of documents. re-use of its organization and visualization methods. In ad-
Each individual facet contains the values within one dimen- dition, it allows autocompletion within each facet. Again,
sion. For example, one facet might display all the creators, we make the disclaimer that our purpose is not to provide
whereas, another might display the subject categories. On an a complete model for faceted navigation, but merely to il-
RDF data source this type of value selection corresponds to lustrate that it is possible to define an interface model for a
the values of a particular RDF property (e.g. dc:creator and faceted navigation widget in RDF.
dc:subject). Other selection criteria are also possible, such
as all instances of a particular Class. In a similar fashion An interface model for a faceted navigation widget is shown
4
Figure 6. Faceted interface of the NewsML demonstrator. Four facets are active: document type, creation site, event and person. The
value “photo” is selected from the document type facet. The full query also contains the keyword “Zidane”, as is visible in the header above the
results.
in Fig. 5. The widget can contain multiple facet views, that ularies. Finding the right term is complicated because the
each apply to the resources of a particular Class. Each facet vocabularies used are large, very detailed, contain similar
view contains an RDF list of facets. A facet is configurable terms (or even duplicates) and often the annotator does not
in the selection of facet values, the organization and visual- know exactly how to spell a term. We experienced that au-
ization of these values. At the moment our widget only sup- tocompletion helps professional annotators to find the right
ports the selection of facet values from an rdf:Property. The terms, but only when the widget is properly configured.
configuration of the organization and visualization is similar
to that of the autocompletion widget. In addition, the facet In an extensive study with these professionals we gathered
values can be organized hierarchically, meaning that initially the requirements for term search from multiple thesauri. Dur-
only the root values of the hierarchy are shown and after se- ing an iterative process of prototyping and discussion we
lection of one of these its children become available. tested several configurations of autocompletion widgets. A
screenshot of the interface of the final prototype is shown in
CONFIGURING INTERFACE WIDGETS: A MAPPING TASK Fig. 7. On the right side the interface contains three auto-
Given an interface model the configuration of a Semantic completion fields to lookup terms from thesauri and a free
Web application becomes a task of mapping the right prop- text field to input dates. One of the results of the study is
erties and classes to this model. In practice, this often means that the three autocompletion fields all required a different
first finding a suited intermediate model for the domain. For configuration.
example, in terms of persons, locations and times. Second
mapping this intermediate model to the widget’s interface The interface model for the autocompletion widget, as de-
model. We illustrate the mapping task with two use cases: scribed in the previous section, is based on our findings at the
configuring autocompletion components for a cultural her- Rijksmuseum. We acknowledge that a single study might
itage annotation application and configuring faceted naviga- not be sufficient to determine a complete interface model
tion for a news application. that applies to other domains. On the other hand, all three
autocompletion fields required different features and config-
urations. Furthermore, the three fields cover generic types
Use case 1: Rijksmuseum annotation user experiment of resources (persons, thesaurus concepts and locations) that
Within the MultimediaN E-Culture project [8] we developed are very likely to be used in other domains as well.
a prototype interface for the subject annotation performed at
the Rijksmuseum in Amsterdam, the Netherlands. The pro- We first introduce the vocabularies used in the annotation in-
fessional annotators of the Rijksmuseum describe thousands terface, before describing the configuration of the person and
of artworks a year by assigning terms from controlled vocab-
5
Figure 7. Interface of the Rijksmuseum subject annotation interface. The four annotation fields in the right column are configured to support effective
search in different thesauri.
concept autocompletion fields. We used three thesauri with as this is first in the list. The results are organized alphabeti-
persons: Getty’s United List of Artist Names4 (ULAN), DB- cally on the label and first showing all resources with an ex-
Pedia’s RDF version of person data5 from Wikipedia (WP) actly matching label. The professionals at the Rijksmuseum
and the Rijkmuseum’s own people thesaurus. All three the- explicitly indicated that they expect alphabetical ordering for
sauri were mapped to the generic “Person” scheme of ULAN. a list of person names. As the autocompletion field gives ac-
For places we also used, Getty’s Thesaurus of Geographic cess to the resources from different overlapping vocabularies
Names6 (TGN) and aligned it with the Rijksmuseum’s place it turned out essential to smush equivalent results to a single
thesaurus. We used SKOS for the geographical contain- suggestion.
ment relations in combination with location-specific proper-
ties from TGN. The concepts used in this domain were also The primary display contains three labels in addition to the
modeled or mapped to SKOS. In addition to the Rijksmu- matching label. The :altLabel is only shown in case the
seum’s events thesaurus we added the RKD IconClass7 match was not found an a skos:prefLabel. Thus, when a hit
thesaurus and, as a source for more general terms, W3C’s is found by a skos:altLabel it’s skos:prefLabel is also shown.
RDF version of Princeton’s WordNet8 . 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
Autocompletion on persons terms are suggested from their own as well as other the-
Listing 1 shows the configuration of the autocompletion wid- sauri. The :subLabel shown beneath the main label is
get in the Who field. The selection is restricted to resources composed out of the values of four properties. Together
of type ulan:Person. Note, the class of persons in the Ri- these compose a short biography of the person. The anno-
jkmuseum thesaurus and DBPedia people are subclasses of tators use this information to disambiguate similar persons
ulan:Person. We only consider literal values of skos:prefLabel from one another. The secondary display contains an image
and rdfs:label, where preference is given to the skos:prefLabel depicting the person and a longer biography.
4
http://www.getty.edu/research/conducting
research/thesauri/ulan/
5
http://dbpedia.org/
6
http://www.getty.edu/research/conducting
research/thesauri/tgn/
7
http://www.iconclass.nl/
8
http://www.w3.org/2006/03/wn/wn20/
6
: PersonAutocomplete that are different from the Who field. The target is defined as
a : Autocomplete ; an owl:union of three classes, iconclass and wordnet terms
: l a b e l ” s e a r c h p e r s o n ”@en ; and the events from the Rijksmuseum thesaurus. The re-
: l a b e l ” z o e k p e r s o o n ” @nl ;
: selection [ sources from the three thesauri are each shown in a separate
: t a r g e t ulan : Person ; group. The Rijksmuseum wanted to give preference to terms
: match ( s k o s : p r e f L a b e l r d f s : l a b e l ) from IconClass and only use WordNet as a backup. Organiz-
] ; ing the results in different groups allowed the annotators to
: organization [
: sort ( ” exact ” ” label ” ) ;
easily compare terms from the different thesauri to one and
: smushing ” t r u e ” other. Within each group the results are ordered by the num-
] ; ber of links that are pointing to the resource. Intuitively, this
: primaryDisplay [ means that the popular resources are shown first.
: subLabel (
ulan : role
ulan : n a t i o n a l i t y Use case 2: K-Space Semantic News Browser
ulan : birthDate ClioPatria is used to support search and browsing of news
ulan : deathDate items [11]. These news items are described with multime-
) ;
: a l t L a b e l skos : prefLabel ; dia standards, news codes from the IPTC standard and ad-
: p o s t L a b e l s k o s : inScheme ditional metadata from various thesauri modeled (mapped)
] ; to SKOS. The additional metadata is acquired through ex-
: secondaryDisplay [ traction of named entities such as persons, organizations and
: d e s c r i p t i o n ulan : biography ;
: image v r a : s u b j e c t
locations, from the textual stories. The extracted named en-
] . tities are mapped to existing resources available on the Web,
such as locations from Geonames, and persons from DBPe-
Listing 1. Person autocompletion allows autocompletion on instances dia. The data set in this use case consists of news items from
of ulan:Person. The results are sorted first on exact matches and then 2006, including the World Cup football.
alphabetically on the matching label. Results that are defined as equiv-
alent (skos:exactMatch or owl:sameAs) are smushed. Each result is
displayed with extra information. The primary display contains a short
A screenshot of the faceted interface from ClioPatria is shown
biography composed out of the values different properties and it con- in Fig. 6. The top part contains four facets: document
tains the thesaurus source. The secondary display contains a full de- type, creation site, event and person. The re-
scription and an artwork that depicts the person. sult viewer, visible below the facets, contains news items
related to the keyword “zidane”. The current query is shown
: ConceptAutocomplete in the header of the result viewer. The user can extend the
a : Autocomplete ;
query by selecting values from the facets. In this case the
: l a b e l ” s e a r c h c o n c e p t ”@en ;
: l a b e l ” z o e k c o n c e p t ” @nl ; value “photo” is selected from the document type facet.
: selection [ The other facets only contain values that correspond with
: target [ the current result set. Note, this prevents the user from con-
owl : u n i o n O f ( structing queries that lead to an empty result set.
i c : Concept ;
wn : S y n s e t ; : CreationSite
rma : E v e n t a : Facet ;
) : 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 : n e w s I t e m ) ;
: matchLabel ( skos : p r e f L a b e l r d f s : l a b e l ) ; : p r o p e r t y newsml : l o c C r e a t e d ;
] ; : hierarchy [
: organization [ a : Hierarchy ;
: sort ( ” exact ” ” inlink ” ) ; : l a b e l ” Geonames l o c a t i o n h i e r a r c h y ”@en ;
: g r o u p s k o s : inScheme : 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
: primaryDisplay [ ].
: subLabel skos : broader : DepictedPerson
] ; a : Facet ;
: secondaryDisplay [ ...
: d e s c r i p t i o n skos : note ;
: image v r a : s u b j e c t : ContentView
] . a : FacetView ;
: l a b e l ” c o n t e n t ”@en ;
Listing 2. Concept autocompletion allows autocompletion on instances : l a b e l ” c o n t e n t ” @nl ;
of skos:Concept. The results are sorted first on exact matches and then : t a r g e t ( newsml : n e w s I t e m ;
on the number of inlinks. The suggestions from the same thesaurus are : facets
grouped together. In the secondary display a tree is shown with the all ( : DocumentType
ancestors and direct children of the result. : DepictedEvent
: DepictedPerson
: CreationSite
) .
Autocompletion on thesaurus concepts
Listing 2 shows the configuration of the autocompletion wid- Listing 3. Excerpt of the facet and facet view configuration for a news
get in the What field. We only describe the configurations demonstrator
7
Server Client
The widgets populate themselves by requesting JSON data
from the server through one of the HTTP APIs. The con-
Listing 3 shows an excerpt of the facet and facet view con- figuration of the widget determines what information is re-
figuration for a news demonstrator. The creationSite facet quested. Widgets within a single web application commu-
applies to instances of the class NewsItem, as indicated by nicate with each other through a controller, which is itself
the value of the :facetTarget property. This facet will a JavaScript component. For example, selecting a value in
display values from the property newsml property locCre- one facet sends an update message to the controller that up-
ated. As the values are part of a geographical containment dates the internal state and tells the registered components to
hierarchy, this is used for the organization. In the screenshot update themselves. A client-side widget can also be used in-
of Fig. 6 the creationSite facet it is visible that initially only dependent of ClioPatria’s web application generator and the
the children of the hierarchy root (e.g. World) are shown RDF interface model by manually defining the JavaScript
(e.g. Europe, Africa and Asia). When one of these values function in a static HTML page.
is selected, the children available through the hierarchyRe-
lation, geo:parentFeature, become available. Four facets are
grouped into a facet view that covers the content of news CONCLUSION AND FUTURE WORK
items. In a similar fashion other facets can be grouped into We have shown how we can use RDF to model the interface
views on the production and document characteristics. The widgets of a specific Web application, an abstract intermedi-
facet view menu shown in the screenshot on the top left al- ate data model, and the mapping between these two models.
lows the user to select one of these facet views. 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 inter-
face model and intermediate model prove to be sufficiently
IMPLEMENTATION rich, all the developer needs to do is to provide the mappings
The interface models have been implemented within the open (in RDF) between his own data model and the intermedi-
source semantic search and annotation ClioPatria framework 9 . ate model, using skills that Semantic Web developers can be
The overall architecture of ClioPatria is described in [12], safely assumed to possess. This approach also allows Se-
here we focus on the parts that are relevant for the inter- mantic Web UIs to be built on top of existing Web tool kits,
face model. Figure 8 shows a simplified overview of the without sacrificing the heterogeneity and semantic richness
ClioPatria architecture. Server-side the system has a single of the underlying data.
triple store that contains all RDF data including the interface
models and the mappings between the domain specific data A first drawback of our approach is that our interface models
and these models. In response to a request from the user the are typically specific for a given interface widget or toolkit.
server generates an HTML page with static HTML and pa- If the same RDF data needs to be displayed the same way
rameterized JavaScript widgets. ClioPatria uses the interface in multiple interfaces, a vocabulary such as Fresnel, that ab-
mappings to generate the appropriate parameter settings for stracts from the interface technology used, might be a bet-
the widgets. For example, the JavaScript initialization func- ter alternative. In our applications, we have aimed to fully
tion of the Who field in the annotation application would be exploit the functionality of the interface widgets, and have
generated as: traded the advantages of extra functionality against general-
ity. Other developers might make a different trade off.
9
http://e-culture.multimedian.nl/software/ A second drawback surfaces when a given set of widgets and
ClioPatria the associated interface model provides insufficient function-
8
ality. Then, extensions will require traditional Web scripting 6. m.c. schraefel, D. A. Smith, A. Owens, A. Russell,
skills to develop extensions to widget set, typically involv- C. Harris, and M. L. Wilson. The evolving mSpace
ing a mix of HTML, CSS and JavaScript. But it also requires platform: leveraging the Semantic Web on the Trail of
skills to be able to model these extensions in RDF or OWL, the Memex. In Proceedings of Hypertext 2005, pages
and this combination of skills might be hard to find. 174–183, Salzburg, 2005.
For future work, we would improve upon our current inter- 7. E. Pietriga, C. Bizer, D. R. Karger, and R. Lee. Fresnel:
face model and its implementation. The current implemen- A browser-independent presentation vocabulary for rdf.
tation is realized as an integral part of the ClioPatria server In I. F. Cruz, S. Decker, D. Allemang, C. Preist,
framework, and we are investing ways to be able to apply D. Schwabe, P. Mika, M. Uschold, and L. Aroyo,
the same approach to create interfaces on top of arbitrary editors, International Semantic Web Conference,
SPARQL endpoints. volume 4273 of Lecture Notes in Computer Science,
pages 158–171. Springer, 2006.
ACKNOWLEDGEMENTS 8. G. Schreiber, A. Amin, L. Aroyo, M. van Assem,
The dataset used in the NewsML demonstrator has been kindly V. de Boer, L. Hardman, M. Hildebrand,
provided by AFP. We like to thank all members of the Mul- B. Omelayenko, J. van Ossenbruggen, A. Tordai,
timediaN E-Culture Project for creating an environment that J. Wielemaker, and B. J. Wielinga. Semantic annotation
allows experimenting with Semantic Web technologies in a and search of cultural-heritage collections: The
real life setting. In particular, we like to thank Jan Wiele- multimedian e-culture demonstrator. J. Web Sem.,
maker for the cooperative development on ClioPatria and 6(4):243–249, 2008.
the inspiring feedback. We also like to thank our colleagues
9. SIMILE. Longwell RDF Browser.
Raphaël Troncy and Michiel Kauw-A-Tjoe for the contribu-
http://simile.mit.edu/longwell/, 2003-2005.
tions to ClioPatria and setting up the news demonstrator.
10. O. Suominen, K. Viljanen, and E. Hyvönen.
This research was supported by the MultimediaN project User-centric faceted search for semantic portals. In
funded through the BSIK programme of the Dutch Govern- Proceedings of the European Semantic Web Conference
ment and by the European Commission under contract FP6- ESWC 2007, Innsbruck, Austria. Springer, June 4-5
027026, Knowledge Space of semantic inference for auto- 2007.
matic annotation and retrieval of multimedia content — K-
Space. 11. R. Troncy. Bringing the iptc news architecture into the
semantic web. In A. P. Sheth, S. Staab, M. Dean,
M. Paolucci, D. Maynard, T. W. Finin, and
REFERENCES K. Thirunarayan, editors, International Semantic Web
1. M. Hildebrand, J. van Ossenbruggen, A. Amin, Conference, volume 5318 of Lecture Notes in
L. Aroyo, J. Wielemaker, and L. Hardman. The design Computer Science, pages 483–498, Berlin Heidelberg,
space of a configurable autocompletion component. November 2008. Springer.
Technical Report INS-E0708, CWI, November 2007.
12. J. Wielemaker, M. Hildebrand, J. van Ossenbruggen,
2. M. Hildebrand, J. van Ossenbruggen, and L. Hardman. and G. Schreiber. Thesaurus-based search in large
/facet: A Browser for Heterogeneous Semantic Web heterogeneous collections. In A. P. Sheth, S. Staab,
Repositories. In The Semantic Web - ISWC 2006, pages M. Dean, M. Paolucci, D. Maynard, T. W. Finin, and
272–285, November 2006. K. Thirunarayan, editors, International Semantic Web
Conference, volume 5318 of Lecture Notes in
3. D. Huynh, D. Karger, and R. Miller. Exhibit: Computer Science, pages 695–708, Berlin Heidelberg,
Lightweight structured data publishing. In 16th November 2008. Springer.
International World Wide Web Conference, Banff,
Alberta, Canada, 2007. ACM. 13. K.-P. Yee, K. Swearingen, K. Li, and M. Hearst.
Faceted Metadata for Image Search and Browsing. In
4. E. Hyvönen, M. Junnila, S. Kettula, E. Mäkelä, CHI ’03: Proceedings of the SIGCHI conference on
S. Saarela, M. Salminen, A. Syreeni, A. Valo, and Human factors in computing systems, pages 401–408,
K. Viljanen. MuseumFinland — Finnish museums on Ft. Lauderdale, Florida, USA, 2003. ACM Press.
the semantic web. Journal of Web Semantics,
3(2-3):224–241, October 2005.
5. E. Mäkelä, K. Viljanen, O. Alm, J. Tuominen,
O. Valkeapää, T. Kauppinen, J. Kurki, R. Sinkkilä,
T. Känsälä, R. Lindroos, O. Suominen, T. Ruotsalo, and
E. Hyvönen. Enabling the semantic web with
ready-to-use web widgets. In Proceedings of the First
Industrial Results of Semantic Technologies Workshop,
ISWC2007, November 11 2007.
9