Les petites cases

Sémantique et XHTML

Contrairement à ce que dit un abus de langage répandu, une page Web n'est pas sémantisée, lorsqu'elle est encodée selon la norme XHTML. Si je reprends la définition de Wikipedia, la sémantique est une branche de la linguistique qui étudie les signifiés, c'est à dire le sens des mots et d'après mon vieux Petit Larousse 1994, la sémantique désigne ce qui est relatif au sens, à la signification des unités linguistiques. Or, que j'encode le mot chien avec la balise d'emphase <em> ou la balise d'emphase forte <strong>, le sens sera toujours le même : « un mammifère de la famille des canidés ». En revanche, la place du chien dans mon document sera différente, puisque le fait d'avoir utilisé une emphase forte peut montrer que le chien a une place importante et l'auteur voulait insister dessus. Le XHTML et l'encodage XML, en général, ne permet pas de faire de la sémantique, c'est à dire de spécifier le sens des mots, mais de la structuration de contenu, c'est à dire d'indiquer la caractéristique ou le rôle de l'expression encodée dans le contexte du document.

A l'inverse, le but du Web sémantique est d'ajouter une couche d'informations, pour créer de la connaissance, pour permettre aux machines de comprendre le sens des mots pour affiner les recherches ou d'identifier des groupes sociaux pour mettre en relation des personnes partageant les mêmes passions, par exemple... Pour cela, il faut ajouter des métadonnées, c'est à dire des données pour préciser les données/l'information. Ainsi, on ne relie plus deux points dans une page Web, comme c'était le cas avec l'hypertexte, mais on relie des informations entre elles, pour créer de la connaissance. A titre d'exemple, il suffit de voir les réalisations comme Frapp'r !. Sur la carte des blogueurs universitaires francophones créée par Olivier, à chaque blog sont associées plusieurs métadonnées : l'emplacement géographique de son auteur, le titre du blog, son URL, les domaines universitaires couverts par le blog, le nom de l'auteur... Le réseau d'informations créé entre la base de Google Maps et les coordonnées géographiques permet de placer le blog sur une carte. On pourrait aussi imaginer une extension permettant de calculer la distance entre deux blogueurs, à partir de ce moment, on vient de créer de la connaissance, c'est à dire une nouvelle information issue du croisement de plusieurs autres. De la même façon, le Dubin Core permet de donner des informations sur une URL : le titre de la page, l'auteur, les mots-clés... Ainsi, on peut préciser les informations présentes sur la page Web. Les recherches pourraient être alors plus précises. Évidemment, il faut que les concepteurs de pages Web jouent le jeu et ajoutent ces informations sur la page et que les moteurs utilisent ces informations, ce qui n'est visiblement pas le cas chez ce cher Google...

Comme je l'ai déjà dit, le problème des technologies du Web sémantique réside dans la complexité de leurs déploiements. C'est pourquoi la communauté du Web réfléchit à des moyens d'utiliser XHTML qui est maintenant bien connu pour ajouter des informations à valeur sémantique. Trois méthodes se dégagent pour utiliser XHTML dans le cadre du Web sémantique :

  1. Les microformats ;

  2. Utiliser les balises spécifiques en XHTML : <meta> et <link> (cf geoURL et Dublin Core) ;

  3. Récupérer des informations d'une page Web pour l'écriture des triples RDF selon le principe « Embedded RDF » qu'on pourrait traduire par RDF incorporé ou mieux, je vous propose RDF embarqué.

Ces trois méthodes ne sont pas concurrentielles, à mon avis, mais plutôt complémentaires, même si les approches sont différentes. En effet, le but final reste le même : ajouter des métadonnées à l'information présente sur une page Web en « spécifiant » ou en « typant » cette information.

Les microformats

D'après la définition donnée sur le site spécialisé microformats.org, « les microformats, créés dans un premier temps pour les humains et dans un second pour les machines, sont un ensemble de formats de données simples et ouverts construits sur des standards existant et largement adoptés ». Je vous renvoie au wiki de ce site pour avoir la liste des microformats existants.

Les microformats partent de l'idée que XHTML contient tous les moyens nécessaires pour spécifier les informations et qu'il suffit de standardiser le contenu de certains attributs, comme l'explique l'inventeur des microformats, Tantek Çelik dans ce diaporama. Ainsi, l'attribut rel de la balise <a> permet de décrire la relation entre le document courant et le document cible dont l'URL est spécifiée dans l'attribut href. Le microformat rel=license sert à préciser qu'un lien renvoie vers une licence : <a href="http://creativecommons.org/licenses/by/2.0/" rel="license">cc by 2.0</a>. De même, XFN (XHTML Friends Network) permet d'indiquer la relation que vous entretenez avec la personne dont vous liez le blog dans un document : <a href="http://www.figoblog.org" rel="sweetheart">Manue</a>. Certains en font le Web sémantique du pauvre, d'autres une étape vers le Web sémantique.

Le reproche principal adressé au microformat est leur utilité et des applications concrètes. Un élément de réponse peut être trouvé sur le blog de Tantek Çelik. Sur le côté droit, sont indiqués les événements auxquels Tantek va participer. Pour décrire ces événements, il utilise le microformat hcalendar basé sur le standard icalendar et le protocole webcal utilisé dans les applications de calendrier comme Evolution sous Gnome ou ical sous Mac OSX. Grâce à une feuille de style, ces informations sont converties vers un fichier au format icalendar auquel vous pouvez souscrire comme un fil RSS et ainsi voir, directement, dans votre application de calendrier les événements. Je verrais bien la même application pour calenda, le calendrier des événements en sciences humaines et sociales, ce qui permettrait d'avoir les informations directement sur son calendrier et, après synchronisation, dans son assistant personnel ou PDA. Ce site offre le même service pour convertir les informations du microformat hcard en carte de visite au format vcard utilisé par les logiciels de carnet d'adresse. Ainsi, le rêve de Karl est réalisé.

Convergence des microformats et de RDF : GRDDL

Se pose alors la question de la place de RDF par rapport au microformat. En effet, les promoteurs des microformats voient dans cette solution une moyen plus simple que RDF pour ajouter des métadonnées à l'information. A l'image de Karl, il me semble que cet argument est faible, car, à y regarder de plus près, la syntaxe n'est pas plus simple. Les deux communautés se sont donc allègrement affrontées. Les « tensions » se sont cristallisées autour de XFN et de FOAF qui partagent le même but, ce qui n'a pas manqué de faire couler beaucoup d'encres électroniques, représentant un erreur totale pour Karl qui n'en démord pas ou simplement un format plus simpliste que FOAF pour Fred Cavazza.

Danny Ayers, une des personnes les plus actives dans la communauté RDF, a d'abord eu la même attitude à propos de XFN, comme il l'explique dans le billet XFN vs. FOAF, mais sa position a évolué et il voit dans XFN un moyen simple de mettre en place un fichier FOAF en parsant les pages avec une feuille de style XSL adhoc. Cette position l'a amené a écrire une FAQ sur les microformats pour les fans de RDF. Dans cette perspective, les microformats représenteraient une syntaxe supplémentaire pour écrire des triples RDF.

Cette convergence est rendue possible par GRDDL, Gleaning Ressource Descriptions from Dialects of Languages. Comme l'explique le blog .conforme, GRDDL est un mécanisme mis au point au sein du W3C qui sert à extraire/glaner les informations présentes sur une page Web au format XHTML pour les transformer en triples/assertions RDF. Pour mettre en pratique ce mécanisme sur une page Web, il suffit de faire référence à l'URL http://www.w3.org/2003/g/data-view dans l'attribut profile de l'élément <head> et ensuite, indiquer le mécanisme de transformation que vous désirez utiliser grâce à l'élément <link> en fonction du/des dialectes que vous utilisez sur votre page Web. Ainsi, si vous utilisez Dublin Core dans votre HTML pour préciser les métadonnées, vous devrez ajouter l'élément <link rel="transformation" href="http://www.w3.org/2000/06/dc-extract/dc-extract.xsl" /> dans le <head> de votre document. L'attribut rel précise que le lien indique une transformation et href l'emplacement de la feuille de style XSL pour transformer les données.

Le document RDF issu de cette transformation est dynamique, il n'existe pas vraiment et peut être généré à la demande, ce qui évite les problèmes de mise à jour et il est directement relié à la page Web. De plus, à partir d'un document XHTML, peuvent être générés autant de documents RDF que de dialectes utilisés dans la page. Danny Ayers tient à jour une liste des dialectes et des feuilles de styles associées sur l'ESW wiki. On y notera la présence de XFN et de hcalendar, dont l'explication de utilisation avec GRDDL peut être complété par ce diaporama de Dan Connoly, membre du W3C et à l'origine de GRDDL.

« Embarquer » du RDF dans du HTML

De la même façon que les microformats, le « RDF embarqué/encapsulé/incorporé » (je vous laisse choisir la meilleure traduction) part du principe que les métadonnées sont déjà visibles dans la page Web et qu'il ne sert à rien de répéter l'information, comme le constate Jonathan O' Donnell dans ce billet, repris par Ian Davis, à propos des métadonnées en Dublin Core. L'idée est d'utiliser les métadonnées visibles, c'est à dire situées à l'intérieur du <body> de la page HTML pour générer les triples RDF. Comme le montre cet exemple issu d'une introduction à ce principe sur le blog de Ian Davis, le code <div><address class="dc-creator">Ian Davis</address> wrote this</div> correspond au triple <> dc:creator "Ian Davis". Pour que ce principe fonctionne, il faut spécifier des valeurs d'attribut communs, ce que cette communauté s'efforce de faire sur le wiki dédié à cette question. Évidemment, ce principe est entièrement compatible avec le mécanisme GRDDL, même si le principe de base est légèrement différent.

Conclusion

XHTML, comme les autres schémas XML, n'est pas fait a-priori pour sémantiser l'information, mais pour la structurer. Ainsi, le fait d'encoder parfaitement une page Web ne signifie pas lui donner du sens, mais préciser la caractéristique de chaque portion d'informations dans le contexte précis du document. Le Web sémantique est basé sur la notion de triples ou de graphes RDF qui est un modèle de données. Il existe plusieurs syntaxes pour représenter ces triples RDF : RDF/XML, N3 ou Turtle. Grâce au mécanisme GRDDL, on peut assimiler les principes des microformats ou du « embedded RDF » à une autre syntaxe pour exprimer des triples RDF en XHTML. Ces principes pourraient alors permettre une adoption en douceur des concepts du Web sémantique. Mais, contrairement à ce qu'affirmait Hubert à la fin de l'article d'Internet actu, nous sommes déjà passés à XML avec les microformats, puisqu'on utilise une grammaire XML, en l'occurence XHTML et des feuilles de style XSL pour transformer les données. En revanche, les microformats et le fait d'embarquer du RDF dans du HTML ne représentent des palliatifs que dans le cas de vocabulaire de description simple comme FOAF ou icalendar, mais nous ne pourrons pas faire l'économie de passer à RDF/XML, en particulier à des ontologies au format OWL dans bon nombre de cas.

Structuration Web sémantique XHTML XSLT Geekeries — 

Commentaires

Des rêves tout en vert :) Encore un article intéressant. hmm le captcha ne fonctionne pas sans les cookies tsss tss ;)
Merci Karl ! J'espère que tu as remarqué la date de l'article, il est déjà un peu ancien (mais reste vrai en partie). Il faudra que je regarde cette histoire de cookies à l'occas' (tu es dur ;-) ).