RDF

Le web comme une immense base de données

Et si les pages web n'étaient pas juste du texte pour les humains, mais des faits reliés que les machines comprennent ? C'est le pari du web sémantique.

Le triplet : la plus petite brique de sens

Comment écrire un fait pour qu'une machine le comprenne ? Le web sémantique répond avec une idée d'une simplicité désarmante : tout savoir se découpe en phrases de trois mots, le triplet. On y trouve toujours un sujet, un prédicat (la relation) et un objet. Exactement comme une mini-phrase : « qui - fait quoi - à quoi ».

# sujet prédicat objet Mars estUnePlaneteDe SystemeSolaire Mars aPourRayon "3389 km" Mars possedeUnSatellite Phobos Phobos orbiteAutourDe Mars

Pris un par un, ces triplets paraissent banals. Mais quand on en relie des millions, chaque objet devenant le sujet d'un autre triplet, on obtient un gigantesque graphe de connaissances : un réseau de faits où l'on peut voyager de Mars vers ses lunes, de ses lunes vers leur découvreur, du découvreur vers son pays. La machine ne « lit » pas le monde, elle le parcourt comme une carte.

L'intuition
Un tableau range des données en lignes et colonnes. Un graphe de connaissances, lui, range des relations. C'est ce qui permet de poser des questions qu'aucune table seule ne pourrait répondre, parce que la réponse traverse plusieurs domaines reliés.

Le vocabulaire du web sémantique

Quatre mots reviennent sans cesse. Une fois apprivoisés, tout le reste s'éclaire.

MotCe que c'est
RDFLe format standard pour écrire les triplets. C'est la grammaire commune qui dit : un fait = sujet + prédicat + objet.
URIUn identifiant unique à l'échelle de la planète. Pour qu'aucune machine ne confonde la planète « Mercure » avec le dieu, le métal ou la voiture, chacun reçoit sa propre adresse, par exemple http://www.wikidata.org/entity/Q308.
OntologieUn dictionnaire de types et de relations autorisés. schema.org en est un célèbre : il définit ce qu'est une « Personne », un « Lieu », un « Évènement » et comment les relier.
SPARQLLe langage pour interroger les triplets. C'est le « SQL » du web sémantique : on décrit le motif cherché et le moteur retrouve tous les faits qui collent.

Une requête SPARQL ressemble à une phrase à trous. On laisse des variables (les mots qui commencent par ?) et on demande au moteur de les remplir avec tout ce qui correspond :

# Toutes les planètes du Système solaire et leur rayon SELECT ?planete ?rayon WHERE { ?planete estUnePlaneteDe SystemeSolaire . ?planete aPourRayon ?rayon . } ORDER BY ?rayon

Le point final de chaque ligne marque la fin d'un triplet recherché. Là où SQL fouille une seule base, SPARQL peut interroger un graphe relié au monde entier.

Les grands graphes de connaissances du monde réel

Ces idées ne dorment pas dans les manuels : elles font tourner d'immenses bases publiques, ouvertes et reliées entre elles. C'est le mouvement des données ouvertes liées (Linked Open Data).

Encyclopédie de faits
Wikidata
Le graphe libre de Wikipédia : plus de cent millions d'éléments (planètes, espèces, gènes, personnes) interrogeables en SPARQL. Une mine pour la science.
Wikipédia en triplets
DBpedia
Extrait automatiquement les faits des articles de Wikipédia et les transforme en triplets RDF reliés au reste du web de données.
Le dictionnaire des types
schema.org
L'ontologie partagée par Google, Microsoft et les autres pour décrire pages, produits et évènements. C'est elle qui nourrit les fiches dans les résultats de recherche.
La toile des bases
Linked Open Data
Le nuage qui relie des centaines de bases ouvertes : astronomie, génétique, biologie, géographie, toutes reliées par des URI communes.
Côté science, c'est une superpuissance : une seule requête peut croiser une base d'astronomie, une base de biologie et une base de génétique reliées entre elles, et répondre à une question qu'aucune des trois ne contenait toute seule.

Le sens commence dans la page : le CSS Zen Garden

Avant de relier des millions de faits, il existe une idée sémantique beaucoup plus humble, présente dans chaque page web : écrire un HTML qui dit ce que les choses signifient, et non de quoi elles ont l'air. Une balise <article>, <nav> ou <titre> annonce un rôle; c'est ce qu'on appelle le HTML sémantique. Les moteurs de recherche et les lecteurs d'écran pour personnes aveugles s'appuient entièrement là-dessus.

La démonstration la plus spectaculaire de cette séparation porte un nom : le CSS Zen Garden (2003). Un seul fichier HTML, jamais modifié. Des centaines de designers du monde entier n'avaient le droit de soumettre qu'une feuille de style CSS. Résultat : le même contenu, exactement les mêmes mots, transformés en des centaines d'univers visuels totalement différents.

# Un seul HTML porteur de sens... <h1>Le jardin zen du CSS</h1> <p class="intro">La beauté par la démonstration.</p> # ...et deux CSS qui ne touchent jamais au contenu : design-1.css → fond sombre, typographie japonaise design-2.css → aquarelle pastel, colonnes fleuries
Le même réflexe que pour les données
Séparer le sens (le HTML) de l'apparence (le CSS), c'est exactement le réflexe qui sépare une donnée de la façon dont on l'affiche. Une bonne donnée, comme un bon HTML, se moque de sa mise en forme : elle dit ce qu'elle est, et on l'habille ensuite.

Cette philosophie « le contenu d'un côté, l'habillage de l'autre » a inspiré toute une famille d'outils modernes : les CMS à fichiers plats (Grav, Kirby, Jekyll, Hugo), où chaque page est un simple fichier texte porteur de sens, sur lequel un thème vient se poser. C'est leur autre face, côté rangement, qu'on explore dans Les bases fichiers.

Voir le CSS Zen Garden

Le rêve d'origine : un web de données

L'idée de Tim Berners-Lee
Tim Berners-Lee, l'inventeur du web en 1989, n'a jamais vu les pages web comme une fin en soi. Dès le départ, il imaginait un web de données : non pas des documents que seuls les humains savent lire, mais des faits reliés que les machines peuvent suivre, croiser et raisonner. Le web sémantique est la suite de ce rêve - transformer la plus grande bibliothèque du monde en la plus grande base de données du monde.

Tu peux y goûter tout de suite. L'éditeur de requêtes de Wikidata accepte le SPARQL et affiche les résultats sous forme de tableaux, de cartes ou de graphiques. Demande-lui par exemple toutes les exoplanètes connues, ou toutes les lunes de Jupiter avec leur diamètre.

Essayer une requête sur Wikidata