:tocdepth: 3 ================ Web de données ================ .. include:: common.inc Motivation et historique ======================== .. figure:: _static/Tim_Berners-Lee.jpg :width: 12em `Tim Berners-Lee `_ (Source image : Wikipedia__) __ http://en.wikipedia.org/wiki/File:Tim_Berners-Lee.jpg Qu'est-ce que le Web ? ++++++++++++++++++++++ Un espace documentaire décentralisé, interconnecté et interopérable. .. rst-class:: build * décentralisé → **HTTP** * interconnecté → **URL** * interopérable → **HTML** .. nextslide:: Un espace documentaire décentralisé, interconnecté, interopérable et *évolutif*. * décentralisé → **HTTP 2014, HTTP 2.0** * interconnecté → **URL, URI, IRI** * interopérable → **HTML5, CSS, JS** .. note:: Ce sont ces trois *propriétés* qui définissent le Web, plus que les technologies particulières qui de les assurer. Vers un Web de données ++++++++++++++++++++++ Un espace **de données** décentralisé, interconnecté et interopérable. * décentralisé → **HTTP** * interconnecté → **URL** * interopérable → **?** API Web? -------- Exemple : `Facebook`__, `Twitter`__, `Wikipedia`__ (voire aussi `ProgrammableWeb.com`__) * décentralisé * faiblement connecté (URLs uniquement pour le service) * **non interopérables** __ https://developers.facebook.com/ __ https://dev.twitter.com/ __ https://en.wikipedia.org/w/api.php __ http://programmableweb.com/ Le Web vu par Tim Berners-Lee (1989) ++++++++++++++++++++++++++++++++++++ .. rst-class:: center .. figure:: _static/tbl-proposal.png :width: 18em « Vague, but exciting » (source image : CERN__) __ http://info.cern.ch/images/proposal.gif .. note:: On voit dans cette figure que, dès le départ, le Web ne se limite pas à un Web documentaire ; les évolutions ultérieures (Web social, Web sémantique...) étaient déjà en puissance dans l'idée de départ. Web de ressources ----------------- Le web est constitué de **ressources**, par exemple : * le bulletin météo du jour pour Lyon * le bulletin météo du jour pour le lieu courant * ma commande de café de jeudi dernier Chaque ressource est identifiée par un IRI (*Internationalized Resource Identifier*), *e.g.*: * http://meteo.example.com/lyon * http://meteo.example.com/ici * http://commerce.example.com/commande/192837 ⚠ Ressource ≠ fichier ---------------------- Une ressource n'est pas un simple fichier, dont on récupèrerait le contenu. Elle est un objet *actif*, avec lequel on interagit. * le bulletin météo du jour pour Lyon : → le contenu change régulièrement * le bulletin météo du jour pour le lieu courant : → le contenu dépend de plus du contexte de l'utilisateur * ma commande de café de jeudi dernier : → on peut agir dessus (par exemple pour l'annuler) Parenthèse : URL/URI/IRI ------------------------ .. compound:: * URL: Uniform Resource Locator (:rfc:`1738`, 1994) * URI: Uniform Resource Identifier (:rfc:`2396`, 1998) * IRI: Internationalized Resource Identifier (:rfc:`3987`, 2005)\ .. compound:: * technologies successives * même concept .. _représentation: Ressources et représentations ----------------------------- * Une ressource n'est jamais manipulée directement, mais toujours à travers des **représentations** (pour la créer, la consulter, la modifier). * Les représentations d'une ressource peuvent varier en fonction * de son *état* * de l'agent qui manipule la ressource (négociation de contenu, contexte) ======================= ============================= représentation : utilisable par : ======================= ============================= texte (HTML...) humains, moteurs de recherche médias (image, son...) *surtout* humains **données structurées** machines ======================= ============================= De HTML à XML +++++++++++++ XML (eXtensible Markup Language) a été recommandé par le W3C en 1998. L'objectif était de pallier la sémantique « faible » de HTML. .. code-block:: html Pierre-Antoine Champin (Maître de conférences) .. code-block:: xml Pierre-Antoine Champin Maître de conférences XML et la sémantique ++++++++++++++++++++ On a dit tout et son contraire l'apport sémantique de XML : * XML a *plus* de sémantique que HTML, * XML a *moins* de sémantique que HTML, Les deux ont leur part de vérité. XML a *plus* de sémantique que HTML... -------------------------------------- \... dans le sens ou il est extensible : on peut donc exprimer des choses que HTML ne permet pas d'exprimer (e.g.````). * Importance des *espaces de noms*, qui évitent les collisions de noms et fournissent ainsi une sémantique « structuraliste » (i.e. par différenciation). .. code-block:: xml Pierre-Antoine Champin Maître de conférence XML a *moins* de sémantique que HTML... --------------------------------------- \... dans la mesure ou : * un navigateur standard ne saura pas quoi faire de la balise ```` ou de la balise ``<ονομα>``, * tout au plus il saura les afficher s'il possède une feuille de style, * tandis qu'il connaît la sémantique de la balise ````\ : elle dénote un texte à mettre en évidence *selon les moyens dont il dispose*, par exemple : * en le mettant en italique (standard) * en le mettant en gras (police déjà en italique) * en le mettant en couleurs (police sans italique, terminal) * en marquant une pause (synthèse vocale) XML : apports et limitations ---------------------------- Le surplus de sémantique promis par XML n'est donc pas « magique » : il suppose * de créer de nouveaux langages basés sur XML (DTD, schémas), * d'écrire les logiciels qui *interpréteront* ces nouveaux langages, → chaque langage reste relativement idiosyncratique. XML : apports et limitations (suite) ------------------------------------ L'apport est donc essentiellement technique : la base commune de XML permet de *factoriser* les efforts de développement et d'apprentissage : * analyseurs syntaxiques (*parsers*), * langages de schémas (DTD, XML-Schema, Relax-NG...), * langages de requêtes (XPath, XQuery), * langages de transformation (XSL-T), * méthode de signature cryptographique (xmldsig), * methode de compression (EXI)... De XML à RDF ++++++++++++ * Le modèle sous-jacent de la syntaxe XML est un arbre (*XML Infoset*), ce qui n'est pas adapté à la structure décentralisée du Web. * L'objectif du *Resource Description Framework* (RDF), recommandé par le W3C en 1999, vise à munir le Web d'un modèle de données plus adapté, ayant une structure de *graphe*. * L'objectif est de construire le *Semantic Web* : un web dans lequel les machines ont (enfin) accès à la sémantique des données. * Recommandation un peu hâtive, présentant quelques défauts importants (notamment l'absence de sémantique formelle). → faible adoption de RDF De RDF à RDF ++++++++++++ * En 2004, le W3C publie un nouvel ensemble de recommandations sur RDF pour remplacer celles de 1999. * Pour des raisons de compatibilité avec l'existant, certains aspects sont conservés malgré les débats qu'ils suscitent, mais les défauts considérés comme majeurs sont corrigés. * Après cet échec relatif, l'appellation *Semantic Web* tombe peu a peu en disgrâce. Certains défenseurs de RDF parlent plus modestement de *Data Web*, puis de *Web of Linked Data* (2006). .. nextslide:: :increment: * En 2014, RDF est plus largement accepté. Le W3C publie une version révisée (RDF 1.1), endossant notamment plusieurs syntaxes concrètes. .. figure:: _static/rdf_w3c.* :width: 8% Source image : W3C__ __ http://www.w3.org/RDF/icons/ Le mouvement OpenData_ ++++++++++++++++++++++ .. _OpenData: http://en.wikipedia.org/wiki/Open_data Toute donnée publique (gouvernementale, ONU) ou publiée (scientifique) devrait être accessible sous une forme permettant le traitement automatique (en plus d'une forme lisible pour des humains). * http://data.gov/ * http://data.un.org/ * http://data.gouv.fr/ * http://smartdata.grandlyon.com/ * `Raw Data Now`_ (Tim Berners-Lee à TED) .. _Raw Data Now: http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html Linked Open Data ================ .. figure:: _static/lod-datasets_2007-11-10.png :width: 75% Source image : `Richard Cyganiak`__ __ http://richard.cyganiak.de/2007/10/lod/ .. _linked-data: Les quatre principes de Linked Data +++++++++++++++++++++++++++++++++++ * Utiliser des IRIs pour nommer les choses (= ressources). * Utiliser des IRIs HTTP pour pouvoir obtenir des *représentations* de ces ressources. * Fournir ces représentations en utilisant des langages et des protocoles standards (`RDF `:doc:, `SPARQL `:doc:). * Inclure des liens pour permettre de découvrir de nouvelles ressources. d'après Tim Berners-Lee, http://www.w3.org/DesignIssues/LinkedData.html Ouvrir les données liées ------------------------ * Intérêt des IRIs : tout jeu de données peut référencer des données d'un autre jeu de données * réutilisation de l'existant * Intérêt des IRIs déréférençable (*cool IRIs*) : permet de découvrir de nouvelles données sur le mode de l'hypertexte * passage à l'échelle * importance d'un format commun → RDF * Linked open data `star scheme`_ .. _star scheme: http://5stardata.info/ .. figure:: _static/data-badge-5.png :width: 3cm Source image : DERI__ __ http://lab.linkeddata.deri.ie/2010/lod-badges/ Projet emblématique : DBpedia +++++++++++++++++++++++++++++ * Projet lancé par Chris Bizer en 2007. * Objectif : extraire les informations structurées (*infobox*) présentes dans Wikipedia pour les exposer en RDF. * En novembre 2015 : The English version of the DBpedia knowledge base describes 4.58 million things, (...) including 1,445,000 persons, 735,000 places (including 478,000 populated places), 411,000 creative works (including 123,000 music albums, 87,000 films and 19,000 video games), 241,000 organizations (including 58,000 companies and 49,000 educational institutions), 251,000 species and 6,000 diseases. Informations structurées dans Wikipedia --------------------------------------- .. figure:: _static/wikipedia.png :width: 100% Source image : Wikipedia__ __ http://en.wikipedia.org/wiki/Lyon Le « *LOD cloud* » ++++++++++++++++++ .. figure:: _static/lod-datasets_2007-11-10.* :width: 100% En 2007 (source image : `Richard Cyganiak`_) .. nextslide:: .. figure:: _static/lod-datasets_2008-09-18.* :width: 85% En 2008 (source image : `Richard Cyganiak`_) .. nextslide:: .. figure:: _static/lod-datasets_2009-07-14.* :width: 90% En 2009 (source image : `Richard Cyganiak`_) .. nextslide:: .. figure:: _static/lod-datasets_2010-09-22_colored.* :width: 100% En 2010 (source image : `Richard Cyganiak`_) .. nextslide:: .. figure:: _static/lod-datasets_2011-09-19_colored.* :width: 100% En 2011 (source image : `Richard Cyganiak`_) .. nextslide:: .. figure:: _static/lod-cloud_colored_2014-08-30.* :width: 100% En 2014 (source image : `Richard Cyganiak`_) .. _Richard Cyganiak: http://lod-cloud.net/ Rechercher et explotation des données ------------------------------------- * Annuaire des sources de données : - http://thedatahub.org/ - http://sparqles.ai.wu.ac.at/ * Navigateurs de données : - http://graphite.ecs.soton.ac.uk/browser/ (navigateur simple) - http://www.visualdataweb.org/relfinder.php - http://www.irisa.fr/LIS/ferre/sparklis/ Divergences et convergences +++++++++++++++++++++++++++ * Microformats (Community) http://microformats.org/ * The Open Graph protocol (Facebook) http://ogp.me/ * Schema.org (Bing, Google, Yahoo) http://schema.org/ http://schema.rdfs.org/ Ces projets ont le même objectif : rendre le Web plus accessible aux machines. Bien qu'utilisant initialement des technologies différentes, ils convergent progressivement vers RDF. Forger des IRIs =============== Problématique +++++++++++++ Dans tout système de gestion de données ou de connaissance, on est amené à « baptiser » chaque objet que l'on souhaite décrire, en lui *forgeant* un identifiant. .. note:: Le terme *forger* (en anglais *mint*) est une référence à la monnaie : un identifiant est comme une pièce de monnaie, une marque (*token*) qui « vaut pour » autre chose. Intérêt des IRIS ---------------- * Les IRIs fournissent un espace de nom global et décentralisé : ils permettent d'éviter les conflits de nom (motivation du `premier principe du Linked Data `:ref:) * Les IRIs sont auto-documentés : en les interrogeants, on obtient (motivation du `deuxième principe `:ref:) Qui peut forger un IRI ? ++++++++++++++++++++++++ N'importe qui ayant l'*autorité* sur un espace de noms : * nom de domaine (*e.g.* ``champin.net``), * sous-espace (*e.g.* ``http://liris.cnrs.fr/~pchampin/``) NB: pour les IRIs HTTP, cette autorité s'accompagne généralement de la capacité à publier des données à l'adresse correspondante, faisant le lien entre les `deux premiers principes `:ref:. Interlude --------- \`I don't know what you mean by "glory,"' Alice said. Humpty Dumpty smiled contemptuously. \`Of course you don't -- till I tell you. I meant "there's a nice knock-down argument for you!"' \`But "glory" doesn't mean "a nice knock-down argument,"' Alice objected. \`When I use a word,' Humpty Dumpty said in rather a scornful tone, \`it means just what I choose it to mean -- neither more nor less.' \`The question is,' said Alice, \`whether you can make words mean so many different things.' \`The question is,' said Humpty Dumpty, \`which is to be master -- that's all.' -- `Lewis Carroll`__ __ http://literature.org/authors/carroll-lewis/through-the-looking-glass/chapter-06.html Qu'identifie un IRI ? +++++++++++++++++++++ Le triangle sémiotique .. figure:: _static/triangle_semiotique.* Source image : `Fred Andersson, d'après Simeon Potter`__ __ http://epublications.unilim.fr/revues/as/3097 .. nextslide:: On peut assimiler : * l'IRI au symbole * la `représentation `:ref: à l'image * la ressource au référent Cf. `le troisième principe du Linked Data `:ref: .. note:: Bien sûr, on peut se poser la question d'identifier la *représentation* elle-même. Voire `la discussion en annexe `:ref:. Qui peut nommer une ressource ? +++++++++++++++++++++++++++++++ Les IRIs ont des propriétaires, mais pas (toutes) les ressources ; pour une ressource données (*e.g.* la Tour Eiffel), n'importe qui peut donc lui forger un IRI. → risque de prolifération de synonymes Il existe une manière standard de déclarer la synonymie de deux IRIs (``owl:sameAs``, cf. `vocab`:doc:) .. ifslides:: .. slide:: Chapitre suivant `rdf`:doc: