================ Web de données ================ .. include:: common.inc .. only:: html .. notslides:: .. contents:: :local: :depth: 1 Motivation et historique ======================== .. figure:: _static/Tim_Berners-Lee.jpg :width: 45% source: http://en.wikipedia.org/wiki/File:Tim_Berners-Lee.jpg Le Web vu par Tim Berners-Lee (1989) ++++++++++++++++++++++++++++++++++++ .. rst-class:: center « Vague, but exciting » .. figure:: _static/tbl-proposal.png :width: 18em source: http://info.cern.ch/images/proposal.gif 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 ⚠ Un IRI n'est pas un nom de fichier (cf. exemples ci-dessus) 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 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, context) ======================= ============================= représentation : utilisable par : ======================= ============================= texte 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). .. figure:: _static/rdf_w3c.* :width: 15% source: 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://opendata69.org/ * `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: http://richard.cyganiak.de/2007/10/lod/ 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, SPARQL). * Inclure des liens pour permettre de découvrir de nouvelles ressources. .. rst-class:: small 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://lab.linkeddata.deri.ie/2010/star-scheme-by-example/ .. figure:: _static/data-badge-5.png :width: 3cm source: 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 juillet 2011 (version 3.7) : The new DBpedia data set describes more than 3.64 million things, of which 1.83 million are classified in a consistent ontology, including 416,000 persons, 526,000 places, 106,000 music albums, 60,000 films, 17,500 video games, 169,000 organizations, 183,000 species and 5,400 diseases. Informations structurées dans Wikipedia --------------------------------------- .. figure:: _static/wikipedia.png :width: 100% source : http://en.wikipedia.org/wiki/Lyon Le « *LOD cloud* » ++++++++++++++++++ .. figure:: _static/lod-datasets_2007-11-10.* :width: 100% source: http://richard.cyganiak.de/2007/10/lod/ En 2007 Le « *LOD cloud* » ------------------ .. figure:: _static/lod-datasets_2008-09-18.* :width: 90% source: http://richard.cyganiak.de/2007/10/lod/ en 2008 Le « *LOD cloud* » ------------------ .. figure:: _static/lod-datasets_2009-07-14.* :width: 95% source: http://richard.cyganiak.de/2007/10/lod/ en 2009 Le « *LOD cloud* » ------------------ .. figure:: _static/lod-datasets_2010-09-22_colored.* :width: 100% source: http://richard.cyganiak.de/2007/10/lod/ en 2010 Le « *LOD cloud* » ------------------ .. figure:: _static/lod-datasets_2011-09-19_colored.* :width: 100% source: http://richard.cyganiak.de/2007/10/lod/ en 2011 Rechercher et explotation des données ------------------------------------- * Annuaire des sources de données : - http://thedatahub.org/ * Moteur de recherche : - http://sindice.com/ * Navigateurs de données : - http://graphite.ecs.soton.ac.uk/browser/ (navigateur simple) - http://sig.ma/ (navigateur multi-source) - http://www.visualdataweb.org/relfinder.php Divergences et convergences +++++++++++++++++++++++++++ * The Open Graph protocol (Facebook) http://ogp.me/ * Schema.org (Bing, Google, Yahoo) http://schema.org/ http://schema.rdfs.org/