Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan



Documents pareils
LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Présentation générale du projet data.bnf.fr

4. SERVICES WEB REST 46

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Architectures d'intégration de données

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Catalogue des formations Edition 2015

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

JDev Atelier Datalift

Petite définition : Présentation :

les techniques d'extraction, les formulaires et intégration dans un site WEB

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Architectures Web Services RESTful

Semantic Web Inside Guillaume Érétéo Directeur R&D

Introduction à ElasticSearch

Programmation Internet Cours 4

Architecture Orientée Service, JSON et API REST

Programmation Web. Madalina Croitoru IUT Montpellier

Introduction aux «Services Web»

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Compte-rendu re union Campus AAR 3 mars 2015

Applications et Services WEB: Architecture REST

Les Architectures Orientées Services (SOA)

Module BD et sites WEB

PROSOP : un système de gestion de bases de données prosopographiques

Bien architecturer une application REST

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Java et les bases de données

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Mise en œuvre des serveurs d application

Introduction aux. services web 2 / 2

UE 8 Systèmes d information de gestion Le programme

OPEN DATA : CHALLENGES ET PERSPECTIVES D ENTREPOSAGE

Bibliothèque numérique de l enssib

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Intégration de données complexes pour une vision 360 du client. Chloé Clavel EDF R&D Département ICAME

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Les logiciels gratuits en ligne

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Devenez un véritable développeur web en 3 mois!

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Conseil de développement durable (C2D) Plénière d ouverture 17 décembre 2014

Mercredi 15 Janvier 2014

Projet en nouvelles technologies de l information et de la communication

Introduction à. Oracle Application Express

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

X2BIRT : Mettez de l interactivité dans vos archives

Glossaire. base de données géographiques Voir géodatabase (GDB).

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Interaction entre réseaux sociaux et sites web

Synthèse... 1 Introduction Contexte de la création multimédia et surgissement du web sémantique 6

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Big Data et Graphes : Quelques pistes de recherche

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

RÉFÉRENCEMENT NATUREL RENCONTRE DEVELOPR6 14 JUIN 2013

Web Sémantique. Examen

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Introduction à Microsoft InfoPath 2010

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Intégration de données hétérogènes et réparties. Anne Doucet

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Livre Blanc WebSphere Transcoding Publisher

Stocker des données sur Amazon S3

FileMaker Server 12. publication Web personnalisée avec XML

Introduction aux concepts d ez Publish

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Applications des technologies sémantiques à la gestion des connaissances

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Application Web et J2EE

Intégration du Web 2.0 dans les solutions IBM

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Pierre Racine Professionnel de recherche Centre d étude de la forêt Département des sciences du bois et de la forêt, Université Laval, Québec

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Evolution des catalogues et des métiers: comment se préparer aux changements? Quelques échos de la BnF. CRFCB Université de Toulouse 29 mars 2013

Programmation des Applications Réparties. Parsers XML DOM et SAX

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Open Data. Enjeux et perspectives dans les télécommunications

PageScope Suite L accélérateur de workflow * L essentiel de l image

Atelier 1. Portails documentaires : BioLib et Cemadoc

Les services usuels de l Internet

Google Actualités. Propriétés techniques. Structure des URL

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Les technologies du Big Data

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Présentation Alfresco

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Transcription:

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture LOD Nuage LOD Points d accès SPARQL Page 2

L évolution du Web Web 1.0 Contenu non structuré (texte/html) Consommateurs passifs Web 2.0 Contenus plus structurés (XML, JSON) Consommateurs actifs Quelques sites gérant de gros volumes de contenu spécialisé L accès aux données Documents HTML vs. Bases de données Génération dynamique de documents HTML Formulaires web Données = web caché >> web de surface En 2001, 60 sites de web caché totalisaient 40 fois le web de surface Problèmes La signification des données (identifiants, attributs) exportées sur le web se perd Qualité des données, inconsistance

Exploitation des données du web Web de surface moteurs de recherche Données / web caché mashups Mashup Intégration simple des données du web «Instances» de données Mots-clés, localisation Union, pas de jointure Approche orientée services Phases d une intégration mashup Extraction des données (wrappers) Calibration / nettoyage Intégration Affichage Web 3.0 Web sémantique Web 2.0 (contenus variés, producteurs / consommateurs) + sémantique Vers une exploitation automatique des données du web: programmes, services, raisonnement Comment? Le Web de Données

Web de Données Web d objets décrits par des données du web Descriptions d objets Liens (relations) entre ces objets Espace de données global réunissant ces données Les données ouvertes Données disponibles publiquement Données déjà disponibles sur le web + données rendues publiques par les institutions Mouvement «open data» soutenu par des initiatives gouvernementales Formats très divers Disponibles sur le web (tout format) mais avec une licence Open Data En plus, format structuré (ex. excel vs. image scannée d une table) En plus, format non propriétaire (ex. CSV au lieu d excel) En plus, utilisant des standards ouverts du W3C (RDF et SPARQL ) pour identifier et rendre accessibles les objets par des URI déréférençables En plus, établissant des liens vers des objets d autres sources Format csv xls pdf doc xml rdf shp ods tiff jpeg json txt html Recommandation (échelle de 0 à 5)

Le défi Big Data Des données sont produites en permanence et utilisées dans les processus de décision Instruments : satellites, microscopes, accélérateurs, télescopes, Simulations: climatique, matériaux, chimie, Imagerie: médicale, visualisation, Métadonnées: descriptions, publications, bases de connaissances, Source: Sajal Das, Keith Marzullo Exploitation des données Evolution des sciences vers une exploitation massive des données Physique, chimie, médecine, ingénierie mais aussi sciences sociales, économie, patrimoine, etc. Défi Extraction de connaissances à partir de grands volumes de données Source: JOHN R. JOHNSON

Importance économique Données: nouvelle ressource brute à exploiter Technologies Big Data Nouvelles techniques et architectures pour extraire des connaissances à partir de données En très grande quantité Terrabytes (10 12 ) Zettabytes (10 21 ) De différentes natures Structurées (BD) semi-structurées (XML) non-structurées (texte, images, ) Produites en continu On ne peut plus tout stocker Batch streaming

Les quatre «V» du Big Data Volume Vélocité Variété Véracité Web sémantique Page 14

RDF sur le Web Objectif : description sémantique des pages web Web de documents web de données web sémantique Support pour l intégration de données à l échelle du web Comment? Micro-formats et micro-données RDFa Linked Open Data Prérequis : vocabulaires communs et reconnus Dublin Core, FOAF, SKOS, etc. Page 15 Micro-formats et micro-données Informations sémantiques rajoutées aux documents HTML Utilisées par les navigateurs, les moteurs de recherche, etc. Micro-formats: attribut class faisant référence à des classes prédéfinies Micro-formats prédéfinis pour personne, institution, événement, avis, etc. Voir http://www.microformats.org/ Inconvénient: on ne peut pas décrire n importe quel type d objet Ex. Utilisation du micro-format hcard pour décrire des personnes <div class="vcard"> <em class= "fn">jean Dupont</em> <span class= "title">ingénieur</span> chez <span class="org">google</span> <span class= "adr"> <span class="street-address">2 rue du Moulin</span> <span class="locality">village-sur-eau</span> <span class="postal-code">54321</span> </span> </div> Page 16

Micro-formats et micro-données (suite) Micro-données: extensible, plus puissant, on distingue types et propriétés Vocabulaires prédéfinis (ex. http://data-vocabulary.org - Google, http://ogp.me/ns# - Open Graph pour Facebook) Récemment: initiative Schema.org (http://schema.org), pour uniformiser les types de micro-données entre les principaux navigateurs Ex. Utilisation des types Person et PostalAddress <div itemscope itemtype="http://schema.org/person"> <span itemprop="name">jean Dupont</span> <span itemprop= "jobtitle">ingénieur</span> chez <span itemprop="affiliation">google</span> <span itemprop="address" itemscope itemtype="http://schema.org/postaladdress"> <span itemprop="streetaddress">2 rue du Moulin</span> <span itemprop="addresslocality">village-sur-eau</span> <span itemprop="postalcode">54321</span> </span> </div> Page 17 RDFa RDFa = «RDF in attributes» Des descriptions RDF dans les pages (X)HTML (attributs) Permet toute la richesse de RDF: URI, espaces de noms, types, Utilisées par les navigateurs spécialisés, programmes, Résultats plus riches dans les moteurs de recherche Ex. Triplet (sujet, propriété, valeur) <p about="http://monappli.monorg.com/michel" property="http://xmlns.com/foaf/0.1/name"> Michel Jordan </p> Attributs about (sujet), property (propriété) Valeur dans le texte de la balise Page 18

RDFa (suite) Ex. Relation entre ressources (sujet, prédicat, objet) <a about="http://monappli.monorg.com/michel" rel="http://purl.org/dc/elements/1.1/creator" href="http://www-etis.ensea.fr"> Page créée par Michel </a> Attributs about (sujet), rel (prédicat), href (objet) Ex. Ressources objet en dehors des liens <span about="http://monappli.monorg.com/etis" rel="http://monappli.monorg.com/directeur" resource="http://monappli.monorg.com/inbar"> Directeur: Inbar Fijalkow </span> Attribut resource à la place de href Page 19 RDFa (suite) Ex. URI compacts (CURIE) <div prefix="moi: http://monappli.monorg.com/ dc: http://purl.org/dc/elements/1.1/" >... <a about="moi:michel" rel="dc:creator" href="http://www-etis.ensea.fr"> Page créée par Michel </a>... </div> Attribut prefix définit un ou plusieurs préfixes valables dans l élément Dans RDFa 1.0 (1.1 actuellement), il faut utiliser xmlns:nompréfixe Ex. Regroupement par sujet <div prefix="moi: http://monappli.monorg.com/ foaf: http://xmlns.com/foaf/0.1/ dc: http://purl.org/dc/elements/1.1/" about="moi:michel"> <p property="foaf:name">michel Jordan</p> <a rel="dc:creator" href="http://www-etis.ensea.fr"> Page créée par Michel </a> </div> Page 20

Quelques vocabulaires communs Dublin Core: description de documents/ressources Contenu: title, subject, description, source, language, relation, coverage Propriété intellectuelle: creator, contributor, publisher, rights Autre: date, type, format, identifier Espace de noms: http://purl.org/dc/elements/1.1/ FOAF (Friend of a Friend): description de personnes Classes (Person, Group, Organization, Document, Image, ) Propriétés pour Person: name, firstname, lastname, knows, homepage, Espace de noms: http://xmlns.com/foaf/0.1/ SKOS (Simple Knowledge Organization System): taxonomies Classe Concept Propriétés: broader, narrower, related, preflabel, altlabel, Espace de noms: http://www.w3.org/2004/02/skos/core# Page 21 RDFa, micro-données et micro-formats Etude 2012: 13% des pages HTML contiennent des données 50% en micro-formats, 35% en RDFa, 15% en micro-données RDFa et micro-données en croissance (et en concurrence!) Pour l instant peu de classes/vocabulaires sont utilisées Alternative: publier des données, pas des documents annotés Descriptions RDF + liens entre descriptions publiées par différentes sources Linked Open Data Page 22

Linked Open Data (LOD) Espace de données global sur le Web Partie du Web de Données Données RDF publiées par des sources différentes Liens (RDF aussi) entre les données RDF de ces sources Les quatre principes des LOD (Tim Berners-Lee) Utiliser des URI pour nommer (identifier) des choses (ressources) Utiliser des URL HTTP comme URI, pour que les ressources soient accessibles sur le Web (déréférençables) Quand on accède une telle URI, on retrouve quelque chose d utile, d informatif en principe du RDF Inclure des liens vers d autres ressources, pour qu on puisse découvrir de nouvelles informations Page 23 Architecture LOD Espace de données : trois types d «acteurs» par rapport à chaque source le publieur les publieurs des autres sources les consommateurs de données Applications Couche d intégration: accès sources, mapping d instances et de vocabulaire, stockage RDF RDF RDF RDF RDF RDF RDF RDF liens liens liens S 1 S 2 S 3... S n Page 24

Espace de données Architecture particulière d intégration de données Pas de schéma global défini Chacun publie ses données dans son propre format et les relie aux autres Amélioration progressive de la qualité du système Qualité des réponses proportionnelle à l effort d intégration réalisé adaptée à l intégration à très large échelle et très dynamique En comparaison: architecture de médiateur Effort important pour définir le schéma global et les mappings Effort important pour maintenir le schéma et les mappings Qualité garantie Linked Open Data: espaces de données RDF Effort d intégration: les liens entre sources Deux types de liens: d identité des instances et de vocabulaire (concepts) Page 25 Liens entre sources LOD Liens d identité d instances <http://monappli.monorg.com/etis> owl:sameas <http://hal.archives-ouvertes.fr/lab/etis>. Liens de vocabulaire <http://monappli.monorg.com/personne> owl:equivalentclass <http://xmlns.com/foaf/0.1/person>. Types de liens: owl:equivalentclass, owl:equivalentproperty, rdfs:subclassof, rdfs:subpropertyof Page 26

Qui fait l effort d intégration? Effort partagé entre publieur, autres publieurs et consommateur Le publieur de la source S Choisit ses vocabulaires (nouveaux ou réutilisation) Publie ses données en RDF Publie des liens d identité vers d autres sources connues Publie des liens de vocabulaire vers d autres vocabulaires connus Les autres publieurs Publient des liens d identité vers les données de S Publient des liens de vocabulaire vers les vocabulaires de S Le consommateur = programmeur d applications d intégration Définit le mode d accès aux données LOD de différentes sources Définit ou déduit des liens d identité entre sources (outils spécifiques) Définit ou déduit des liens entre vocabulaires (outils spécifiques) Nettoie les données Intègre les données («entrepôt» RDF) En comparaison, avec une architecture de médiation: le consommateur fait (presque) tout Page 27 Le «nuage» LOD Qu est-ce qui existe aujourd hui sur le Web? Mai 2007: 500 millions de triplets RDF, 120 000 liens RDF Septembre 2011: 31,6 milliards de triplets, 503 millions liens Page 28

Sources LOD Quelles sources entrent dans le nuage LOD Sources RDF respectant les contraintes LOD Au moins 1000 triplets et 50 liens vers des sources dans le nuage Accès en HTML+RDFa, ou fichier RDF, ou point d accès SPARQL Qui publie des données ouvertes? Les gouvernements: UE, Etats-Unis, France (data.gouv.fr), Institutions culturelles: bibliothèques nationales, musées, archives Autres institutions Voir: http://linkeddata.org/, http://www.w3.org/wiki/sparqlendpoints Au centre du nuage LOD: DBpedia (http://dbpedia.org/) Avantage DBpedia: couvre un ensemble large de concepts auxquels on peut faire référence Page 29 DBpedia Source LOD obtenue à partir de Wikipedia Utilisation des «info boxes» sur les pages Wikipedia Utilisation des catégories Wikipedia Version anglaise de DBpedia 3,7 millions d entités, dont 2,3 millions instances de l ontologie DBpedia 400 millions de triplets RDF Autres langues: versions de DBpedia en 111 langues(!) avec liens entre les entités dans les différentes langues En tout: 1,9 milliards de triplets RDF Ontologie DBpedia (version 3.8) 359 classes 800 propriétés objet et 859 propriétés données Équivalences avec schema.org: 45 classes et 31 propriétés Accès: SPARQL, téléchargement, autres outils Page 30

Points d accès SPARQL Le mode d accès le plus courant aux sources LOD Services Web de type REST Plus simples que la norme SOAP Accès par des requêtes HTTP GET avec paramètre query (ou POST) Ex. La requête SPARQL q au point d accès http://monsite.org/sparql GET /sparql?query=q-encodée HTTP/1.1 Host: monsite.org User-agent: mon-client-sparql/0.1 La requête SPARQL q doit être transformée en q-encodée pour passer dans une URL (transformation des espaces et autres caractères interdits) Modalités d appel Avec un navigateur web Avec une API: Javascript, PHP, Java, Python, Utilitaires en ligne de commande: curl, etc. Page 31 REST vs. SOAP SOAP (Simple Object Access Protocol) Principal standard W3C pour les services web Associé à WSDL pour la description du service Protocole de communication échange de messages XML Services appelables à travers des points d accès sur le web REST (Representational State Transfer) Appel de services web directement en HTTP Messages HTTP : POST, GET, PUT, DELETE Utilisation codes d erreur, options d appel HTTP, caching Description WADL (peu utilisée) Tout objet (ressource) manipulé par le service doit avoir une URI Services sans état: exécution indépendante des appels précédents Page 32

Caractéristiques REST Quatre actions primitives de base POST pour des créations d objets (ressources) GET pour de la consultation d objets PUT pour des mises à jour d objets DELETE pour des suppressions d objets Tout objet créé / consulté / modifié / supprimé a une URI Objets directement adressables sur le web Un objet peut avoir plusieurs représentations XML, JSON, CSV, XHTML, Chaque représentation a sa propre URL, donc directement consultable Page 33 Comparaison REST - SOAP SOAP Plus évolué Indépendant du protocole qui achemine les messages Standards associés pour la sécurité, la fiabilité, les transactions, etc. Permet aux applications d exposer un minimum de leur fonctionnement Peut garder un état au niveau du service suite aux appels REST Simple Basé directement sur HTTP, plus performant que SOAP Accès uniforme aux ressources / objets Limité à seulement quatre opérations Expose les objets manipulés à un adressage direct sur le web Plusieurs représentations des objets disponibles Aujourd hui: 85% des services disponibles sont REST Page 34

Format du résultat SPARQL Plusieurs formats de résultat RDF possibles XML, JSON, texte (pour ASK et SELECT) RDF/XML, Turtle, (pour CONSTRUCT et DESCRIBE) On précise le format souhaité pour le résultat avec «Accept» GET /sparql?query=q-encodée HTTP/1.1 Host: monsite.org User-agent: mon-client-sparql/0.1 Accept: application/sparql-results+xml Pour certains points d accès: format donné par le paramètre out GET /sparql?out=xml&query=q-encodée HTTP/1.1 Host: monsite.org User-agent: mon-client-sparql/0.1 Page 35 Format de résultat (suite) Exemple de résultat: <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="nom"/> <variable name="page"/> </head> <results ordered="false" distinct="false"> <result> <binding name="nom"> <literal>michel Jordan</literal> </binding> <binding name="page"> <uri>http://perso-etis.ensea.fr/~jordan</uri> </binding> </result> <result> <binding name="nom"> <literal>dan Vodislav</literal> </binding> <binding name="page"> <uri>http://depinfo.u-cergy.fr/~vodislav</uri> </binding> </result> </results> </sparql> Page 36

Accès par API Java Les plus connues: Jena : http://jena.sourceforge.net Sesame: http://www.openrdf.org Exemple d appel avec Jena import com.hp.hpl.jena.query.*; String service = "..."; // adresse du point d accès SPARQL String query = "SELECT..."; // requête SPARQL QueryExecution e = QueryExecutionFactory.sparqlService(service, query) ResultSet results = e.execselect(); while ( results.hasnext() ) { QuerySolution s = results.nextsolution(); //... } e.close(); Page 37