Voici la suite de l’article « vers un Web de données » qui abordait l’histoire du Web, les principes architecturaux du Web et les grands principes du web de données : URL, URI, IRI.
De la page à la ressource :
Ce qui n’a pas changé au cours de ces évolutions, c’est le R, c’est à dire la notion de ressource. Cette notion de ressource est large sur le Web et ne se limite pas aux pages, images ou vidéos que l’on peut avoir sur le Web. Ainsi, on nommera « ressource » tout élément que l’on peut identifier à travers un URI : URI à ma voiture, URI à un lieu, URI à un bâtiment. Nous pouvons donc identifier n’importe quoi avec ce système et décrire toutes ces choses qui sont autour de nous et les échanger dans autant de langages que l’on veut.
Les URI sont donc utilisées pour nommer des choses très variées.
Exemples :
- URI pour le grand requin blanc (site BBC)
- URI pour la protéine MUC18 (base de données UniProt)
- URI du Musée du Louvre sur le site DBpedia
- URI du réalisateur Xavier Dolan sur Wikidata
Nous avons donc moyen d’échanger les données mais la question se posera maintenant de les publier et de les lier. Rentre alors en jeu la ratatouille, où plutôt la datatouille !
Je m’explique : Une bonne ratatouille a pour principe de faire cuire un par un les légumes. Cuisinés un à un, on les mélange par la suite pour faire notre ratatouille. Ainsi, un des intérêts est que ce n’est pas uniquement un plat en lui-même mais un plat qui peut être utilisé comme ingrédient pour faire d’autres plats.
Si on revient alors à nos moutons, c’est la même chose pour le web de données liées. Il suffira pour cela de remplacer les différents ingrédients par des bases de données et choisir les données que l’on voudra publier et qui seront réutilisées par d’autres : données géographiques IGN, données statistiques INSEE…
Ainsi, par exemple les données qui décrivent le canapé sur lequel je suis assis par exemple pointeront vers les données de la salle dans laquelle se trouve ce canapé. Les données du canapé seront liées aux données de la salle. Vous la voyez la datatouille ?
Si on entre plus précisément dans le vif du sujet en utilisant les protocoles voici ce qu’il en est :
« Imaginons qu’un utilisateur lambda sur le Web rencontre un URI. Il fait une première vérification : est-ce qu’il s’agit d’un URI HTTP, c’est à dire un URI qui peut être interrogé sur le Web ? Si c’est le cas, il va utiliser le protocole HTTP pour faire un GET sur cet URI, une requête en disant « Qu’est-ce que c’est? » La réponse du serveur va varier. Si c’est un utilisateur qui est devant un navigateur, le serveur va lui renvoyer une page Web lui décrivant le sujet de cette URI. Si c’est un logiciel, téléphone mobile, GPS, le serveur va pouvoir lui renvoyer pour la même requête sur le même identifiant non pas une page Web mais des données XML que le logiciel pourra intégrer à sa base et utiliser pour proposer de nouvelles fonctionnalités » (MOOC Web Sémantique).
Comment choisir des URI pour nommer des choses dont on veut parler sur le Web ?
Il n’y a pas de réponse unique. Voir à ce sujet les deux ressources ci-dessous du W3C mais en théorie, on peut transformer tout identifiant en URI en choisissant un nom de domaine et un schéma d’URI.
A lire :
Linked Data : Evolving the Web into a Global Data Space (1st edition) / Tom Heath et Christian Bizer (2011). Disponible gratuitement en HTML sur les principes des données liées
A voir :
Site du Linking Open Data cloud Diagram qui donne une vue globale du nuage de bases de données liées sur le Web.
La pile de standardisation :
Les standards vont nous permettre de publier, d’interroger, tracer les différentes données sur le Web. La pile ci-dessous se lit de bas en haut, des URI jusqu’aux utilisateurs.
IDENTIFICATION : Identifiants URI et URI.
REPRESENTATION : représentation des données que nous échangeons sur le Web. Le standard utilisé est RDF, Resource Description Framework.
REQUÊTES : Une fois les données publiées, nous les interrogerons. Ainsi, pour écrire ces requêtes, les échanger et avoir des résultats on utilisera le langage SPARQL qui permet de sélectionner des sous-parties de données publiées sur le Web, qui nous intéressent selon les critères que l’on veut donner.
RAISONNEMENT : Publication des schémas de ces données : 2 langages sont utilisés : RDFS pour échanger des schémas très légers et OWL pour nous permettre plus de formalisation en logique.
CONFIANCE : Traçage des données, vérification des sources et si oui ou non on peut leur faire confiance. Le langage PROV suit les données, leur provenance et les traitements qu’elles ont subis.
INTERACTION : Avec l’utilisateur final. Proposition de nouveaux services, interactions aux utilisateurs lorsqu’ils utilisent le Web et naviguent quotidiennement.
Voilà, ce billet s’achève sur les standards utilisés dans le Web. Le MOOC aborde par la suite la deuxième brique de cette pile avec le modèle RDF, la première étant les URI que nous avons vu dans ce billet et introduit dans mon premier billet à ce sujet.