Building Semantic Web Portals with a Model-Driven Design Approach

Building Semantic Web Portals with a Model-Driven Design Approach

Marco Brambilla (Politecnico di Milano, Italy) and Federico M. Facca (Leopold-Franzens-Universität Innsbruck, Austria)
Copyright: © 2009 |Pages: 61
DOI: 10.4018/978-1-60566-112-4.ch004


This chapter presents an extension to Web application conceptual models toward Semantic Web. Conceptual models and model-driven methodologies are widely applied to the development of Web applications because of the advantages they grant in terms of productivity and quality of the outcome. Although some of these approaches are meant to address Semantic Web applications too, they do not fully exploit the whole potential deriving from interaction with ontological data sources and from semantic annotations. The authors claim that Semantic Web applications represent an emerging category of software artifacts, with peculiar characteristics and software structures, and hence need some specific methods and primitives for achieving good design results. In particular the contribution presented in this chapter is an extension of the WebML modeling framework that fulfils most of the design requirements emerging in the new area of Semantic Web. The authors generalize the development process to cover Semantic Web needs and devise a set of new primitives for ontology importing and querying. The chapter also presents a comparison of the proposed approach with the most relevant existing proposals and positioned with respect to the background and adopted technologies.
Chapter Preview


Nowadays we witness a shift in many computing paradigms. Firstly, the Web is evolving from a Web of documents, and content in general, to a Web of applications and services. The so-called Web 2.0 has paved the way for social networking through many innovative applications. Moreover, the vision of Semantic Web (SW) has been realized to a certain degree and has produced many modern and useful tools1 for knowledge engineering and management.

On the other hand, all application domains, either Web-based or not, call for advanced user experience. The human has come to the center of the computing environments (i.e., human-centered computing) and this implies that systems should become more personalized. Such personalization aims at increasing efficiency and effectiveness, hiding complexity or adding intelligence to the man-machine interaction.

In the present chapter, we investigate how the merging of the aforementioned paradigms (i.e., Web-oriented knowledge technologies and personalized applications) can be performed. We do not deal with a specific type of applications, but rather try to describe a framework for designing and developing such applications. Some assumptions made are that applications exploit domain semantics and adhere to a model-driven design. We call them Semantic Web Enabled Applications (SWEA). Before delving into the technical part of the chapter, we should give some definitions that will clarify some terms and concepts discussed in the following sections.

Definition 1. Semantic Web Enabled Application (SWEA). An application or service component that is relying on Semantic Web technologies. This may be a Semantic Web application or any other application that exploits the respective technologies (e.g., semantic TV). In practice, they are applications that are built with software engineering methods based on SW ontologies and/or rules (Happel, 2006).

Definition 2. Adaptable and Adaptive System. A system is called “adaptable” when it allows a user to adapt the behavior of the system to her current needs and preferences. On the other hand, an “adaptive” system supports this capability in an autonomous way. In particular, it knows and/or captures the user needs (preferences, interests, experience etc.) and it automatically adapts itself to these inferred needs. These definitions are in line with those given in (Baldoni, 2005).

Definition 3. Personalization. The process of delivering content and/or services to a user based on her preferences, interests, needs, and context in general. The purpose of this process is to adapt the content/services to the specific user characteristics in order to achieve optimum performance (the definition of “performance” is domain-dependent).

Consequently, we call an application as “personalized” or “user adaptive” if it is aware of the user profile, can detect the user context and needs and is able to adapt itself in order to meet these needs. As already mentioned, in this chapter we deal with personalized SWEAs.

The chapter is organized as follows. Semantic Web for Personalization provides a discussion on the current status regarding Semantic Web and personalized applications.Architecture of a Personalized Semantic Web Enabled Application presents a reference architecture for personalized SWEAs. Some issues about user modeling are elaborated in User Modeling. In Rule-based Adaptation we present some background knowledge and discussion on rule-based personalization. The chapter concludes with several directions for future research.


Semantic Web For Personalization

As expected from the increasing demand for user-centered applications, there have been proposed many approaches for personalizing applications. In general, each approach is tailored to the specific requirements of the target application (see also the following subsection). Among these approaches one can find several technical solutions and this is an evidence that there is no globally accepted and generic methodology for enabling personalization.

Complete Chapter List

Search this Book: