Personalization Based on Semantic Web Technologies

Personalization Based on Semantic Web Technologies

Vassileios Tsetsos (University of Athens, Greece)
Copyright: © 2009 |Pages: 24
DOI: 10.4018/978-1-60566-112-4.ch003
OnDemand PDF Download:
No Current Special Offers


Personalization techniques provide optimized access to content and services, based on the preferences and the characteristics of each individual user. Nowadays many applications, either Web-based or not, call for personalized behavior. Obviously, such behavior leads to an increased demand for knowledge management, since personalization is based on user profiles, user preferences, usage policies, and other knowledge components. The main topic of this chapter is the investigation of how well Semantic Web technologies apply to personalized applications. Semantic Web is a relatively new platform for developing (distributed) knowledge-based applications that has gained great popularity in previous years. Hence, this chapter surveys the most prominent techniques for personalization in the context of the Semantic Web. It discusses and compares different approaches to architectural and engineering techniques and other issues relevant to this hot topic. The chapter provides foundational knowledge on this topic, as well as discussion on some key implementation issues.
Chapter Preview

Introduction And Motivation

Modern Web applications comprise distributed data integration, remote service interaction, and management of workflow activities, possibly spawned on different peers. In this scenario, a wider attention to the semantics of data and applications is mandatory to allow effective design and evolution of complex systems. Indeed, if semantics of data and applications is known, their integration becomes more feasible. Moreover, explicit semantic annotation of Web applications can facilitate content search and access, and foster a future generation of Web clients that exploit the semantic information to provide better browsing capabilities to customers.

The Semantic Web aims at bringing formal “semantics” to the human-readable information so as to make it machine-readable and allow better and easier automatic integration between different Web applications. To address this challenge, many semantic description languages arose, like RDF, OWL and WSML; some of them are currently W3C Recommendations. All these languages allow to formally model knowledge by means of ontologies: the resulting formal models are the starting point to enable easy information exchange and integration between machines.

These languages are suitable for reasoning and inference, i.e., to deduct more information from the model by applying logical expressions. This makes the modeling task easier since not all the knowledge has to be modeled. These languages are supported by a wide range of tools and APIs, that cover design of knowledge (e.g., Protégé (Noy et al., 2001) and OntoEdit (Sure et al., 2002)), provide storing facilities (e.g., Sesame (Aduna, 2007) and Jena (HP, 2007)), and offer reasoning on the data (e.g., Racer (Racer Systems, 2007) and Pellet (Sirin et al.,2007)). Based on these modeling languages, a set of querying languages have been devised too; among them, we can mention TRIPLE (Sintek & Decker, 2002) and SPARQL (W3C, 2007), a W3C candidate recommendation.

Unfortunately, although the theoretical bases and some technological solutions are already in place for Semantic Web support, the techniques and methodologies for Semantic Web application design are still rather rough. This leads to high costs of implementation for Semantic Web features, even if embedded within traditional Web applications. These extra costs are related not only to the design of the architecture and deployment of the Semantic platforms, but also to the repetitive and continuous task of semantic annotation of contents and application pages.

We claim that conceptual modeling and model-driven development can increase dramatically the efficiency and efficacy of the design and implementation of such applications, by offering tools and methodologies to the designer for specifying semantically-rich Web applications.

The model-driven approach to software development has been proven valid in several application fields and is currently one of the best practices of the software engineering discipline. Developing a Semantic Web application, as with any other kind of software system, is a complex achievement that requires the ability to master a broad spectrum of tasks, jointly performed by a number of persons with different skills for a long timeline. Software engineering and Web engineering (Ceri et al., 2002) demonstrated that following a well organized development process, centered on the appropriate modeling concepts, is essential to overcome the complexity inherent to such kind of developments.

Complete Chapter List

Search this Book: