Exercice 2: Indexation sémantique

Enoncé: A partir de la documentation sur RDFa de YoYoDesign (http://www.yoyodesign.org/doc/w3c/xhtml-rdfa-primer/), modifiez deux rendus sur votre porte-folio afin qu'ils soient compatibles avec RDFa.
Afin de montrer que vous avez compris, il vous est demandé d'utiliser au moins les espaces de noms DC et FOAF.

Comme je l'ai expliqué dans le paragraphe d'introduction au WSIA, les technologies utilisées ont pour but de rendre les données intelligibles aux machines. Sur le web, ce sont les navigateurs et moteurs de recherche qui nous intéressent. C'est là qu'intervient RDFa. Le principe est d'introduire de nouveaux attributs afin de spécifier les types des données que nous utilisons et les relations qu'elles ont entre elles.

Deux visions différentes d'une page web:
Page web Homme VS Machine

Sur la gauche, voici une page web telle qu'un être humain la voit. Nous sommes capables de repérer les différents éléments qui la constituent.

  • Titre de l'article
  • Nom de l'auteur
  • Date de publication
  • Contenu de l'article
  • Tags en rapport avec l'article
  • Copyright

Sur la droite, il s'agit de la même page web telle qu'elle est vue par un navigateur web. On se rend compte qu'il ne comprend pas les choses comme nous.

  • Il pense que le nom de l'auteur n'est qu'un sous-titre.
  • Il ne différencie pas la date de publication du contenu de l'article. La seule différence qu'il fait se situe au niveau du style du texte.
  • Il ne différencie pas les liens tags du lien de copyright.

Afin d'aider les navigateurs à mieux comprendre le contenu de nos pages, nous allons voir dans cet exercice deux spécifications qui sont le Dublin Core et le Friend Of A Friend.

Dublin Core

Le Dublin Core est un schéma de métadonnées qui permet d'associer à une page ou un article des informations telles que le nom de l'auteur, la date de rédaction, le sujet, ... Il y a au total 15 propriétés qui vont permettre d'aider le navigateur à comprendre à quoi correspondent les éléments d'une page.

Liste des propriétés DC
Attribut Définition
dc:title Titre du document.
dc:subject Sujet ou mots-clés en rapport avec le sujet du document.
dc:description Table des matières ou résumé du sujet du document.
dc:creator Nom de l'auteur du document. Ceci correspond au nom d'une personne ou d'une organisation qui a rédigé le document.
dc:publisher Nom d'une personne ou d'une organisation qui a publié le document.
dc:contributor Nom d'une personne ou d'une organisation qui a contribué à la création du document. Chaque contributeur possède son propre élément contributor.
dc:date Date d'un évènement quelconque dans le cycle de vie du document.
dc:type Informations à propos du type du document.
dc:language Langue du document.
dc:format Informations à propos du format du document. Soit le type MIME soit l'extension physique.
dc:identifier Identifiant unique de la ressource. Utiliser des URI ou des numéros ISBN.
dc:source Possible ressource dont dérive le document. Utiliser dans le cas où votre article reprend en partie ou en totalié une ressource existance. Utiliser des URI.
dc:relation Possible lien avec d'autres ressources.
dc:coverage Ensemble des métadonnées relatives au périmètre ou au domaine d'application du contenu de la ressource.
dc:rights Définition des droits à propos de l'utilisation du document. Copyright.

Exemple

Voici un exemple d'utilisation de Dublin Core sur ma page de présentation du tutoriel CORESE du TP n°5.

<div class="contenu" about="tutoriel_corese.php">
	<h1 property="dc:title">Exercice 1: Tutoriel CORESE</h1>
	
	<p>...</p>
	
	<p>Afin de réaliser le tutoriel CORESE en Français...</p>
	
	<ul>
		<li property="dc:subject">RDF + RDFS</li>
		<li property="dc:subject">SPARQL</li>
		<li property="dc:subject">Règles CORESE</li>
		<li property="dc:subject">OWL</li>
	</ul>
	
	<p>...</p>
</div>

On indique que le paragraphe est à propos du tutoriel sur CORESE situé à l'adresse tutoriel_corese.php et que le titre du paragraphe est Exercice 1: Tutoriel CORESE. Pour finir, on ajoute une liste de mots clés en rapport avec CORESE qui sont des propriétés subject.

Friend Of a Friend

Friend Of A Friend (FOAF) est un vocabulaire qui permet de décrire des coordonnées et des relations "amicales" entre plusieurs personnes. FOAF possède de nombreuses propriétés, environ une cinquantaine, qui permettent d'établir toutes sortes de relations amicales et professionnelles. Voici une liste non exhaustives des possibilités offertes par FOAF:

Liste non exhaustive des propriétés FOAF
Attribut Définition
foaf:name Nom et prénom(s) d'une personne.
foaf:nick Surnom d'une personne.
foaf:firstName Prénom d'une personne.
foaf:lastName Nom de famille d'une personne.
foaf:homepage Page web d'une personne.
foaf:img Une image réprésentant une personne. Photo d'identité par exemple
foaf:schoolHomepage Page web de l'école d'une personne.
foaf:msnChatID Adresse MSN d'une personne.

Pour obtenir la liste complète des propriétés, rendez-vous sur la page des spécifications FOAF.

Exemple

Voici un exemple d'utilisation de FOAF sur ma page de contact:

<h1>Contacter Morgan FABRE</h1>

<div about="#me" typeof="foaf:Person">
	<p>Pour me contacter, vous pouvez soit utiliser le formulaire ci-dessous soit mon adresse mail.</p>
	<p><a property="foaf:name" rel="foaf:homepage" href="/" title="Morgan FABRE">Morgan FABRE</a></p>
	<p>
		<span class="gras">Email:</span>
		<a rel="foaf:mbox" href="mailto:contact@morganfabre.com">contact@morganfabre.com</a>
	</p>
</div>

On crée une division à propos d'une personne, en l'occurence moi, et on indique ses nom et prénom ainsi que son adresse email.

Retour à la liste des TPs