# SPARQL Protocol and RDF Query Language/Introduction au Web des données

Le langage SPARQL permet d'atteindre les données au sein du Web des données. Mais qu'est-ce que le Web des données ?
Nous allons décrire les grandes lignes de ce qu'est le Web des données et la tendance qu’il semble prendre depuis que SPARQL est devenu une recommandation du W3C en 2008.

## Qu’est-ce que le Web des données ?

Le Web de données (Linked Data) est une initiative visant à favoriser la publication de données :
* structurées
* accessibles à travers le Web
* reliées entre elles pour constituer un réseau global d'informations

## Objectifs

Le lancement de l'initiative, en 2006, avait pour objectifs de :
* promouvoir une vision du Web comme une base de données globale
* naviguer à travers les données sur le Web de la même façon que l'hypertexte permet de relier des pages Web

## Qui porte cette initiative ?

* Tim Berners-Lee, a lancé en 2006 cette initiative à travers le Consortium World Wide Web (W3C).
* Le W3C est un consortium international dont les centaines d’organisations membres, l’équipe à plein temps et le public collaborent au développement des standards du Web
* Le W3C, à travers cette initiative, poursuit sa mission qui est essentiellement d’assurer au Web une croissance à long terme

## Principes

Chaque chose décrite au sein du Web des données doit être représentée par un identifiant que l’on nomme un IRI (Internationalized Resource Identifier).
Le Web des données ne peut exister que si les IRIs sont :
* Uniques : chaque chose contenue dans une base de données doit être représentée par un identifiant unique, un IRI.
* Valides : les IRIs utilisés doivent exister sur le Web. Cela signifie que si on transmet un IRI à un navigateur, Firefox par exemple, un document doit s'afficher.
* Lisibles : une IRI doit être lisible dans la langue de l'être humain qui crée cette IRI.
* Liés : si vous décrivez une chose qui est déjà décrite sur le web avec un IRI, il faut lier les IRIs, pour permettre la navigation entre bases de données. Par exemple : un IRI anglais doit être lié à un IRI français qui décrit la même chose dans des bases de données différentes.
Le document obtenu à l'aide d'une IRI valide doit également être lisible pour les humains et les machines. Un IRI affiche une page HTML pour un être humain, mais affichera un document RDF pour une machine. Une solution intermédiaire utilise un mélange de HTML et de RDF, que l’on nomme RDFa.
Nous n'expliquerons pas la grammaire de RDF/XML dans ce cours car ce format de données sert à transférer de manière massive des données d'une base de données vers une autre. Il sert surtout pour la copie ou la sauvegarde de bases de données.

## Comment accéder à ces données en lecture ?

En 2008, le W3C a recommandé le protocole SPARQL avec 4 types de requêtes pour la seule lecture des données :
* SELECT
       Pour extraire des données d'un point d’accès SPARQL ; les résultats sont retournés sous forme de tableau.
* CONSTRUCT
       Pour extraire des données dans le format RDF.
* ASK
       Pour interroger un point d’accès pour obtenir une réponse par oui ou par non.
* DESCRIBE
       Pour découvrir les données dans un silo.

## Premiers résultats

On constate une augmentation importante, voire exponentielle, des bases de données accessibles à travers le langage SPARQL.

## Et ensuite ?

SPARQL 1.1 est en train de devenir un langage de requêtes comme SQL, ce qui va permettre de lire et d'écrire des données sans avoir, ou même savoir utiliser les formats RDF/XML ou RDFa, RDFS/XML, OWL/XML, etc.
Les premières implémentations offrent ces fonctions qui nous permettront de faire nos travaux pratiques :
* INSERT DATA
       Insère des données.
* DELETE DATA
       Supprime des données.
Maintenant que vous savez à quoi sert SPARQL au sein du Web des données, nous allons apprendre à l’utiliser dans une application Web.