Le web sémantique englobe une série de concepts et de standards dont l’objectif est de donner un cadre commun pour la publication de données et de connaissances accessibles dans le web ou les intranets. L’objectif est de mettre à disposition des données facilement réutilisables, connectées et sur lesquelles on puisse baser des raisonnements logiques.

Le web sémantique repose sur deux règles principales :

  • chaque ressource décrite est identifiée par une URI de manière unique. A partir de cette URI la ressource est accessible par des machines ou des humains selon le protocole HTTP,
  • la description de la ressource est réalisée avec une série de triplets selon le standard RDF.

Une ressource peut être n’importe quoi sur laquelle on veuille dire quelque chose : une personne, un objet, un lieu, une organisation, un événement…

Les propriétés qui relient deux ressources sont toujours nommées ce qui permet de comprendre les relations : « est le créateur de », « est une partie de », « participe à », « est situé dans ». Le mot “sémantique” de web sémantique exprime le fait que toutes les relations sont nommées, que le graphe est donc immédiatement explicite pour celui qui l’explore, sur la base d’une terminologie métier.

En plus de l’utilisation du standards des URIs et de HTTP, les standards du web sémantique sont:

  • RDF qui normalise la manière de décrire des ressources sous formes de triplets,
  • SPARQL qui permet d’interroger un graphe et de le mettre à jour,
  • OWL pour modéliser un graphe de connaissance,
  • SHACL pour décrire des règles qui s’appliquent sur le graphes.

RDF Resource Description Framework

Ci dessous quelques courtes phrases, chacune d’elle donne une information sur Beyoncé ou une de ses chansons :

  • Beyoncé est née le 4 septembre 1981.
  • Beyoncé est née à Huston.
  • Beyoncé est une chanteuse de R&B.
  • « Dangerously in Love » est interprétée par Beyoncé.
  • « Dangerously in Love » est sortie le 17 juin 2003.

Le RDF permet de formaliser ce type d’assertions en un ensemble de triplets.

Un triplet RDF est une association (sujetprédicatobjet) :

  • le « sujet » représente la ressource à décrire ;
  • le « prédicat » représente un type de propriété applicable à cette ressource ;
  • l’ « objet » représente une donnée ou une autre ressource : c’est la valeur de la propriété.

L’accumulation des ces assertions sous forme de triplets forme un graphe de connaissance.

SPARQL – Protocol
and RDF Query Language

L’objectif du SPARQL est de pouvoir explorer un graphe en indiquant des conditions que doivent remplir les ressources recherchées. Pour trouver les chanteurs et chanteuses R&B belges qui ont entre 30 et 40 ans on va décrire les contraintes suivantes dans la requête :

  • la personne compose des oeuvres musicales.
  • la personne est classé.e comme musicien.ne R&B.
  • la personne est née après 1980.
  • la personne est née avant 1990.
  • la personne est née dans une ville.
  • la ville est située en Belgique.

On trouvera entres autres résultats ; Selah Sue.

OWL Ontology Web Language

Le language OWL permet de décrire des modèles de données pour la publication de connaissance dans un graphe, soit :

  • les classes d’objets que l’on utilise dans le graphe ; personne, oeuvre musicale, enregistrement, performance… 
  • les propriétés utilisées pour décrire les ressources ; « est né le », « est né à » , « a comme genre musical », « joue tel instrument de musique »…
  • le fait qu’une classe soit une sous classe d’une autre ; la classe « oeuvre musicale » est une sous classe de la classe « oeuvre »,
  • le fait que si une ressource a une propriété d’un type donné on puisse en déduire qu’elle appartient à telle classe. Par exemple si une personne joue un instrument de musique on en déduira qu’il fait partie de la classe « musicien »,
  • le fait que la valeur d’une propriété doivent appartenir à une classe ; par exemple la valeur de la propriété « joue un instrument » doit appartenir à la Classe « instrument de musique ».

SHACL Shapes Constraints Language

Le langage SHACL permet de valider des graphes RDF avec un ensemble de conditions.  On pourra par exemple exprimer les règles métiers suivantes :

  • une oeuvre jouée a au moins un interprète,
  • un concert une seule date,
  • la date de performance d’une oeuvre doit être supérieure à la date de sa composition,
  • la date de composition de l’oeuvre doit être supérieure à la date de naissance du compositeur

A l’issue du contrôle d’un graphe par des règles SHACL on obtient un rapport qui indique les règles qui ne sont pas respectées dans le graphe. Ceci est particulièrement utile pour des graphes alimentées par des sources multiples et hétérogènes : base de données, utilisateurs, extraction de connaissances depuis des textes ou des images…