Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et...

19
Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Page 2 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

Transcript of Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et...

Page 1: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

Le Web de Données

Dan VODISLAV

Université de Cergy-Pontoise

Master Informatique M2

Page 2

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: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Page 3: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 exploitationautomatique desdonnées du web: programmes, services, raisonnement

• Comment?– Le Web de Données

Page 4: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 Recommandation(échelle de 0 à 5)

csv ★★★

xls ★

pdf ★

doc ★

xml ★★★★

rdf ★★★★★

shp ★★★

ods ★★

tiff ★

jpeg ★

json ★★★

txt ★

html ★★

Page 5: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Source: JOHN R. JOHNSON

• 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 grandsvolumes de données

Page 6: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 (1012) � Zettabytes (1021)

– 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

Page 7: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

Les quatre « V » du Big Data

Volume

Vélocité Variété

Véracité

Web sémantique

Page 14

Page 8: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 classfaisant 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 hCardpour 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

Page 9: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 Personet 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</sp an><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

Page 10: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 prefixdé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

Page 11: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Page 12: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Page 24

S1

RDF

RDF

S2

RDF

RDF

S3

RDF

RDF

Sn

RDF

RDF

. . .

liens liensliens

Applications

Couche d’intégration: accès sources, mappingd’instances et de vocabulaire, stockage

Page 13: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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 instanceset 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

Page 14: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Page 15: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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– 4,58 millions d’entités, dont 4,22 millions instances de l’ontologie

DBpedia– 580 millions de triplets RDF– Autres langues: versions de DBpedia en 125 langues(!) avec liens entre

les entités dans les différentes langues• En tout: 3 milliards de triplets RDF

• Ontologie DBpedia– 685 classes– 2795 propriétés

• Accès: SPARQL, téléchargement, autres outils

Page 30

Page 16: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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.1Host: monsite.orgUser-agent: mon-client-sparql/0.1

– La requête SPARQL q doit être transformée en q-encodéepour 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

Page 17: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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

Page 18: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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.orgUser-agent: mon-client-sparql/0.1Accept: application/sparql-results+xml

• Pour certains points d’accès: format donné par le paramètre outGET /sparql? out=xml&query= q-encodée HTTP/1.1

Host: monsite.orgUser-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-result s#">

<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

Page 19: Le Web de Données - Accueil - Depinfovodislav/Master/M2Integration/fichiers/... · – RDFa et micro-données en croissance (et en concurrence!) – Pour l’instant peu de classes/vocabulaires

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.sparqlServi ce(service, query)ResultSet results = e.execSelect(); while ( results.hasNext() ) {

QuerySolution s = results.nextSolution(); // ...

} e.close();

Page 37