De RDF à l’annotation sémantique de l’HTML : RDFa, les microdonnées et JSON-LD

Définis en tant que standard par le W3C, RDF, RDFa, les microdonnées et JSON-LD répondent à la même logique mais présentent des fonctions distinctes. RDF est spécifié en 1994. Il s’agit d’un langage balisé dérivé d’XML créé initialement comme modèle dans des applications de gestion des connaissances. Plusieurs initiatives menées ultérieurement visent à insérer le contenu sémantique directement dans les pages HTML plutôt que dans un fichier externe. Alors que des métadonnées peuvent être insérée dans les balises <meta> de l’en-tête HTML, RDFa (2008) et les microdonnées (2011) implémentent une logique descriptive dans les valeurs et attributs des balises HTML au plus proche du code. Créé en 2008, JSON-LD apporte une méthode plus légère et synthétique en terme de notation. Des échanges automatiques d’informations sur les pages du web entre serveurs, moteurs de recherche et applications dédiées à la gestion des connaissances deviennent alors possibles de différentes manières. Les mêmes informations sémantiques peuvent être « sérialisées / écrites » de différentes façons.

Le W3C (World Wide Web Consortium) débute dès 1994 ses travaux sur le web sémantique encore appelé web des données. Il s’agit d’un projet à long terme visant à répertorier de manière structurée les connaissances stockées dans les pages du web afin de permettre une recherche plus précise et une réutilisation dans d’autres applications. Les formats de métadonnées RDF, RDFa et microdata / microdonnées sont successivement spécifiés en 1999, 2008 et 2011 par le World Wide Web Consortium (W3C) et par le Web Hypertext Application Technology Working Group (WHATWG). Implémentés dans les logiciels des bibliothèques, des éditeurs, des centres d’archivage et des musées, mais aussi dans les gestionnaires de contenu, ils sont susceptibles de servir pour les échanges de métadonnées entre logiciels – pour l’interopérabilité – ou bien pour le référencement par les moteurs de recherche.

1. RDF (Resource Description Framework)

Le langage pilier du web sémantique RDF est publié sous forme de recommandation en 1999. Une deuxième version paraît en 2004. RDF permet la description des ressources du Web à l’aide d’assertions (ou statements) qui prennent la forme d’un triplet : sujet, prédicat, objet. Le sujet identifie la ressource à décrire, le prédicat indique un type de relation et l’objet précise la valeur du prédicat. Dans l’assertion « Jacques habite Amance », « Jacques » est le sujet, « habite » est le prédicat et « Amance » est l’objet. Ce triplet deviendrait significatif dans le cadre d’une page personnelle relative à Jacques.

Sujets et objets doivent être identifiés de manière permanente et unique avec un identifiant du type URI (Uniform Ressource Identifier) ou URL (Uniform Ressource Locator). Le prédicat – « Lieu d’habitation » dans l’exemple – est formalisé dans une ontologie. RDF est un langage puissant de description des données qui permet la création d’inférences. Plusieurs assertions peuvent par exemple être combinées pour en déduire de nouvelles. Si on ajoute à l’exemple précédent l’assertion « Amance se trouve en Meurthe et Moselle », on réalise l’inférence « Jacques habite en Meurthe et Moselle ».

Une assertion peut être représentée à l’aide d’un graphe dans lequel sujet et objet sont en quelque sorte les nœuds et le prédicat est la flèche. Dans le cadre du web de données, l’exemple suivant représente l’assertion : La page html  http://www.example.org/index.html a été créée par la personne identifiée par l’URL http://www.example.org/staffid/85740. Sujets, prédicats et objets sont identifiés sur le web par un URL qui donne des renseignements complémentaires sur le contexte d’utilisation. Le prédicat « creator » est ici défini à l’aide de l’ontologie (du vocabulaire) Dublin Core (dcterm:creator) et renseigne l’auteur de la page web.

Une expression équivalente de ce graphe, en XML/RDF est la suivante :

<!-- Déclaration du format-->
<?xml version="1.0"?>
<!-- Déclaration des espaces de nom RDF et Dublin Core-->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/">
   <!-- Description de l’objet identifié par son URL -->
   <rdf:Description rdf:about="http://www.example.org/index.html">
      <!-- L’auteur de l'objet est identifié par une URL -->
      <dc:creator rdf:resource="http://www.example.org/staffid/85740"/>
   </rdf:Description>
</rdf:RDF>

C’est la raison pour laquelle RDF est qualifié de « modèle de graphe ». Ce formalisme rend possible la description d’une multitude d’objets du web de différentes natures. La notion d’ontologie ou vocabulaire émerge au début des années 2000 pour reprendre en la renommant la notion préexistante de schéma de métadonnées. Un peu comme une langue, il convient que les vocabulaires soient très largement employés afin de favoriser les échanges entre utilisateurs. Parmi les vocabulaires, Dublin Core est créé en 1995 pour décrire de manière brève et générale toute page du web, FOAF (Friend Of A Friend) est créé en 2005 et employé pour décrire les personnes et les organisations. Mis au point en 2009, Bibo rend possible la description sur le web des documents des bibliothèques. Ce vocabulaire est conçue pour être utilisé conjointement avec Dublin Core et FOAF.

Les bibliothèques et les musées se saisissent des notions du web de données. Suite à des travaux s’étendant de 1991 à 1997, l’IFLA (International Federation of Library Associations and Institutions) publie en 1998  Functional Requirements for Bibliographic Records (FRBR) – Spécifications fonctionnelles des notices bibliographiques. Il s’agit d’un modèle théorique qui intègre en cascade les notions d’Œuvre (création d’un auteur), d’Expression de cette œuvre (travaux de l’éditeur), de Manifestation (format papier ou numérique) et d’Item (exemplaire rangé ou prêté par la bibliothèque). Publiée par SPAR Ontologies, l’ontologie Fabio formalise la plupart des concepts de FRBR.

Normalisé ISO 21127, The CIDOC conceptual reference model est publié en 2006 par le CIDOC (Comité International pour la DOCumentation), un organisme international œuvrant dans le domaine de la documentation muséale. Il définit une ontologie pour les bibliothèques, les archives, les musées, l’archéologie. Des travaux ultérieurs du CIDOC visent à faire converger le modèle de référence conceptuel avec FRBR. Ils aboutissent à l’ontologie FRBR-object oriented ou FRBRoo approuvée par L’IFLA en 2008 mais cependant peu employée.

Le programme Transition bibliographique est lancé en 2015 par l’Agence Bibliographique de l’Enseignement Supérieur (Abes) et la Bibliothèque Nationale de France (BnF). Il a pour objectif d’améliorer l’exposition des données bibliographiques et d’autorités dans le web de données en leur appliquant le modèle FRBR puis IFLA-LRM et en adoptant de nouvelles règles de catalogage dérivées du document modèle Resource : Description and Access (RDA).

De manière classique, les ontologies sont décrites à l’aide de langages eux-mêmes basés sur RDF tels que RDFS (RDF Schema) ou OWL (Web Ontology Language). Le langage SKOS (Simple Knowledge Organisation System) permet de formaliser une liste finie de concepts comme les termes d’un dictionnaire ou d’un thésaurus par exemple.

2. RDFa (Ressource Description Framework in attributes)

L’intégration d’informations sémantiques plus fines, localisées au sein du code HTML, est apparue nécessaire aux membres du W3C. Publié en 2008, RDFa (Ressource Description Framework in attributes) propose l’incorporation des métadonnées sémantiques sous forme d’attribut et de valeur de balises localisées dans tout document XML, XHTML ou HTML5. RDFa se sert d’un ensemble d’attributs spécifiques (rel, rev, content, src, about, property, resource, datatype, typeof) pour transmettre la sémantique. Les ontologies employées sont spécifiées à l’aide de l’attribut xmlns dans la balise html, venant spécifier l’espace de nom et l’abréviation de cet espace, par exemple dc pour Dublin Core.

Exemple de document RDFa 1.0 et XHTML étendu avec FOAF et Dublin Core. Les attributs RDFa de valeurs rel, property, resource, href, marqués en bleu dans cet exemple prennent des valeurs définies par l’espace de nom et le nom du champ. L’objet correspond au contenu de la balise.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
 "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<!-- Déclaration des espaces de nom FOAF et Dublin Core-->
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:foaf="http://xmlns.com/foaf/0.1/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 version="XHTML+RDFa 1.0" xml:lang="en">
 <head>
  <title>John's Home Page</title>
  <base href="http://example.org/john-d/" />
  <meta property="dc:creator" content="Jonathan Doe" />
  <link rel="foaf:primaryTopic" href="http://example.org/john-d/#me" />
 </head>
 <body about="http://example.org/john-d/#me">
  <h1>John's Home Page</h1>
  <!-- Les attributs property, rel et href fournissent l’information sémantique -->
  <p>My name is <span property="foaf:nick">John D</span> and I like
   <a href="http://www.neubauten.org/" rel="foaf:interest" xml:lang="de">Einstürzende Neubauten</a>.
  </p>
  <p>
   <!-- resource spécifie un identifiant non “clickable” -->
   My <span rel="foaf:interest" resource="urn:ISBN:0752820907">
      favorite book is the inspiring
       <span about="urn:ISBN:0752820907"><cite property="dc:title">Weaving the Web</cite> by
        <span property="dc:creator">Tim Berners-Lee</span>
       </span>
      </span>
  </p>
 </body>
</html>

On apprend ainsi à l’aide du code précédent que le livre préféré de « Jonathan Doe » est « Weaving the Web » (Tisser le web) écrit par Tim Berners-Lee. L’ISBN de ce livre est « ISBN:0752820907 ». Johnathan Doe est de langue allemande et son surnom est « John D ».

Des gestionnaires de contenu comme WordPress ou Drupal, des moteurs de recherche spécialisés comme OpenGrey, exposent ainsi leurs métadonnées en RDFa. Les moteurs de recherche tels que Google, ou Isidore au CNRS prennent en compte les balises RDFa que leurs robots d’indexation détectent dans les sites parcourus. La version 1.1 de RDFa prévoit la spécification d’une partie cœur commune, et d’adaptations spécifiques à différents formats. Des adaptations pour XHML1 et HTM5 sont prévues. Des outils en ligne permettent de visualiser de manière didactique les métadonnées contenues dans une page HTML. On peut par exemple en cliquant ici voir les métadonnées de l’article que vous lisez.

3. Les microdonnées

HTML Microdata (Microdonnées en français) est publié par le W3C en 2011 sous forme de recommandation en cours d’élaboration. Elle est produite conjointement par le W3C et par Google, Yahoo et Microsoft (Bing) qui publient conjointement schema.org, une ontologie à portée générale visant à décrire les pages du web. Les moteurs de recherche souhaitent pouvoir enrichir la présentation et la pertinence des résultats de recherche. Les microdonnées reprennent la logique de RDFa tout en en modifiant la syntaxe. Les informations sémantiques se trouvent localisées dans des attributs de balises HTML standards. 5 attributs sont définis : itemid, itemprop, itemref, itemscope, itemtype.

Une hiérarchie de classes et de propriétés sont définies dans Schema. Des principes généraux accompagnés d’exemples d »implémentation guident les utilisateurs. Plusieurs méthodes d’implémentation dans le code HTML sont proposées : sous forme de microdonnées tout d’abord puis ultérieurement au format JSON-LD. Parmi les classes susceptibles d’intéresser les musées, les bibliothèques, les archives et la recherche on peut citer Article, Book, Review, MediaObject, Painting, Photograph, Sculture, WebPage, et aussi Organization, Place, Person, Intangible.

Exemple de page personnelle intégrant les microdonnées de schema.org :

<section itemscope itemtype="http://schema.org/Person"> 
	Hello, my name is 
	<span itemprop="name">John Doe</span>, 
	I am a 
	<span itemprop="jobTitle">graduate research assistant</span> 
	at the 
	<span itemprop="affiliation">University of Dreams</span>. 
	My friends call me 
	<span itemprop="additionalName">Johnny</span>. 
	You can visit my homepage at 
	<a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. 
	<section itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
		I live at 
		<span itemprop="streetAddress">1234 Peach Drive</span>,
		<span itemprop="addressLocality">Warner Robins</span>,
		<span itemprop="addressRegion">Georgia</span>.
	</section>
</section>

4. JSON-LD

Créé par Manu Sporny fin 2008, JSON-LD est devenu depuis le 14 janvier 2014 un standard du W3C. Des métadonnées en JSON se trouvent insérées dans une balise « script » contenue dans le corps d’un document HTML. On a dans l’exemple suivant une page HTML qui décrit une personne identifiée comme John Lennon par son identifiant dbpedia. Nous apprenons sa date de naissance et le nom de l’une de ses épouses. DbPedia est pour rappel l’une des bases de données dérivée des éléments factuels présents dans Wikipédia, avec Wikidata. JSON-LD constitue un format actuellement promu par schema.org au même titre que les microdonnées, mais plus aisé à implémenter.

<script type="application/ld+json">
{
   "@context": "https://json-ld.org/contexts/person.jsonld",
   "@id": "http://dbpedia.org/resource/John_Lennon",
   "name": "John Lennon",
   "born": "1940-10-09",
   "spouse": "http://dbpedia.org/resource/Cynthia_Lennon" }
</script>

Un autre exemple en provenance de schema.org : Lien. L’espace de nom est spécifié à l’aide de @context, la classe @type permet de préciser qu’un objet de la classe Person est décrite, dont l’adresse de la classe PostalAddress admet les propriétés addressLocality, addressRegion, postalCode et streetAddress. Le niveau de précision de la description est laissé au choix de l’utilisateur.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Person",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Seattle",
    "addressRegion": "WA",
    "postalCode": "98052",
    "streetAddress": "20341 Whitworth Institute 405 N. Whitworth"
  },
  "colleague": [
    "http://www.xyz.edu/students/alicejones.html",
    "http://www.xyz.edu/students/bobsmith.html"
  ],
  "email": "mailto:jane-doe@xyz.edu",
  "image": "janedoe.jpg",
  "jobTitle": "Professor",
  "name": "Jane Doe",
  "telephone": "(425) 123-4567",
  "url": "http://www.janedoe.com"
}
</script>

En conclusion

Les robots d’indexation des moteurs de recherche de même que les engins du web de donnée partagent l’objectif d’acquérir les connaissances factuelles disséminées dans le web. Différentes méthodes permettent d’exposer les métadonnées des pages servies par de multiples applications. Le format RDF intéresse les triple stores essentiellement et se montre distinct d’HTML. RDFa permet l’intégration des informations sémantique dans le code HTML. Ce format est généralement pris en compte par Google et se trouve implémenté dans des gestionnaires de contenus tels que WordPress ou Drupal sous forme de modules. Les microdonnées constituent une alternative. Bien compris des moteurs de recherche, JSON-LD permet d’alléger le code et s’avère relativement aisé à implémenter. Le renseignement des balises meta de l’entête HTML reste également d’actualité pour tout webmestre qui souhaite optimiser son référencement. Des ontologie simples telles qu’OpenGraph de FaceBook de même que des outils Twitter se montreront alors plus efficaces que Schema.

Un commentaire

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s