Dans le cadre de l'option Web Sémantique que j'ai choisi pour ce dernier semestre à Polytech'Nice-Sophia, j'ai eu à réaliser un projet de web sémantique en binôme avec Maximilien Perrin. Pour ce projet, nous avons décider de définir nous-même le sujet afin de réaliser quelque chose qui nous intéresse.

Nous avons choisi de réaliser un site internet en utilisant l'API de Last.fm comme support, le tout reposant sur un serveur web sémantique développé par l'INRIA : Sewese. Ce serveur repose sur le moteur de recherche sémantique : Corese, lui aussi développé par l'INRIA. Ce moteur permet un ajout simple d'ontologies, d'annotations ou encore de règles (en RDFS, RDF et OWL), mais aussi la possibilité de faire des requêtes SparQL. Le rôle de Sewese est de faciliter l'utilisation de Corese au sein d'une application web en proposant un jeu de tags JSP.

Notre projet, SemanticFM, comporte deux parties fondamentales. La première partie consiste à développer un utilitaire en JAVA destiné à récupérer un ensemble d’informations à partir des services web d’AudioScrobbler, afin de constituer une base sémantique représentative des musiques existantes. L’API mise à disposition ne permet pas de récupérer les données de façon globale, mais seulement de façon ponctuelle : on peut par exemple récupérer à partir d’un artiste précis ses artistes proches, ses tags, ses albums... mais pas l’ensemble des artistes existants. Nous avons donc décidé de réaliser un parcours en largeur sur le graphe des artistes proches afin de constituer une liste d’artistes, puis de récupérer les tags et les albums de chacun d'entre eux. Cette méthode permet de constituer rapidement une base de connaissances à partir d’un nom d’artiste.

La seconde partie de notre projet consiste en un site web permettant l’accès et la navigation parmi les données récupérées. Ce site, basé sur le moteur sémantique Sewese, devait respecter un certain nombre de contraintes que nous nous étions fixées.
Tout d'abord, nous souhaitions que le site soit ergonomique afin qu'il puisse être ludique pour l'utilisateur. A ce propos, nous avons utilisé un framework CSS, YAML, afin de rapidement mettre en place le design et de s'assurer la compatibilité avec les navigateurs les plus utilisés. Nous tenions également à respecter certaines normes d'accessibilités (XHTML, CSS et WAI) afin que le site puisse être utilisé par des déficients visuels ainsi que pour favoriser le référencement par les moteurs de recherche.

Si, ce projet vous intéresse vous trouverez plus d'information dans les liens suivants: