Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010
description
Transcript of Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010
Formation aux technologies du Web sémantiqueCCSD, Lyon, 8-10 septembre 2010
2
Présentation de la formation
Objectif : découvrir les technologies du Web sémantique tant du point de vue théorique que pratique
Jour 1
Aspect théoriqueet
Web de données
Jour 2
Aspect pratiqueet
Ontologie
Jour 3
PHPet
Web sémantique
Du Web de documentsau Web de données
Les technologies duWeb sémantique
Comparaisonsavec XML et BDR
Présentation duLinked Data
Plan de la journée
4
Il était une fois le modèle en couches….
ApplicationApplication
TransportTransport
InternetInternet
Sous-réseauSous-réseau
LiaisonLiaison
PhysiquePhysique 10Base2/5/T, RS232, V35, fibre
HDLC, PPP, SLIP, CSLIP
Ethernet, X25, FDDI Token Ring
IP
TCP, UDP, TP4, Routage
Telnet, FTP, SMTP, HTTP
Inte
rface
s
Protocoles
5
…et une des applications d’Internet : le Web
Source : http://info.cern.ch/Proposal.html
6
Qu’est-ce-que le Web ?
Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées.
Les quatre composantes du Web
Un protocole Un langageUn principeUn mécanisme d’identification
HTTP HTMLL’hypertexteURL/URI
7
Qu’est-ce-que le Web ?
Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées.
Les quatre caractéristiques du protocole HTTP
Code à la demande
Ajax
Mise en mémoire
Optimisationsollicitation
serveur
Sans état
Requêteunitaire
Pas de mémoire
Client-serveur
DissociationIHM
Stockage données
8
Qu’est-ce-que le Web ?
Un dispositif technologique pour mettre à disposition, lier et partager des documents sur un réseau de machines connectées.
Les trois bases de l’architecture du Web
URI URI
ReprésentationsIdentifiant
Ressource
9
1994 : 1ère conférence WWW et premières idées
« The Need for Semantics in the Web », Tim Berners-Lee
Passer d’un Web de documents « sans relief » peu compréhensible par les machines à….
un Web de choses relié à la réalité et compréhensible par les machines
Source : http://www.w3.org/Talks/WWW94Tim/
10
1997-2001 : Les premières briques du Web sémantique
Source :http://www.w3.org/DesignIssues/Semantic.html
« The Semantic Web is a web of data, in some ways like a global database »« The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. »
Source : http://www.w3.org/2000/Talks/1206-xml2k-tbl
Tim Berners-Lee
Le layer cake ou Web semantic stack
Tim Berners-Lee, James Hendler, Ora Lassila« Semantic Web », Scientific American, mai 2001
Acte de naissanceauprès du grand public
1er brouillon de la recommandationle 2 octobre 1997
http://www.urfist.cict.fr/archive/lettres/lettre28/lettre28-22.html
11
Aujourd’hui : « appelez le plutôt Web de données »
Source : http://www.flickr.com/photos/photonquantique/3272712288/
Tim Berners-Lee, « On the next Web », Conférence TED, Février 2009
« Raw Data now ! »
Source : http://www.ted.com/index.php/talks/tim_berners_lee_on_the_next_web.html
D’un Web de documents
Documents reliés par des liensPas de structuration sémantiquePas de requêtes structurées
à un Web d’applications
Données exposées à travers APIAPI valable que pour un SiloPas d’ineropérabilité entre les silos
à un Web de données
Web de données = espace unifié Liens entre les donnéesAPIs remplacés par standards ouverts
12
http://www.flickr.com/photos/jimgris/281139738/
Sortir de la logique de silos de données…
Les technologies ont eu tendance jusqu’à maintenant à enfermer les données dans des silos : logiciels, processus, APIs, protocoles spécifiques…
Siège social d’Oracle, l’éditeur du SGBDR le plus utilisé dans le monde, dans la Silicon Valley
« But the second big trend then is to decouple the data from the application or the application services, so that in that sense what you can do is write your application or create services independent of the data sources they have to deal with, which comes full circle back to having a virtual layer between application services and data. The application can go out and find whatever data sources are best to use for that particular question. That’s what semantic technology provides for enterprise information management. » Robert Shimp, vice Président, Oracle
13
…pour libérer les données sur le Web…
« Webifier » les bases de données existantes pour les rendre accessible aux utilisateurs
Il ne s’agit pas de
Déployer des protocoles spécifiques qui limitent l’utilisation des données voire ne respectent pas les principes du Web
Il s’agit dePlacer les données sur le Web,
juste le Web
Rendre le Web invisiblevisible
14
…et envisager une nouvelle évolution dans l’architecture des SI
BA
Silos applicatifsindépendants et non connectés
BA
Silos de services Indépendance des trois niveaux(applicatif, service, données)
15
Du Web de documentsau Web de données
Les technologies duWeb sémantique
Comparaisonsavec XML et BDR
Présentation duLinked Data
Plan de la journée
16
Présentation des technologies du Web sémantique
RDF
Web sémantique
RDF/XML
RDFaSPARQL
Thésaurus
Ontologie
Logique de description
OWL
RDFS
Taxinomie
Vocabulaires contrôlés
Intelligence artificielle
Métadonnées
URI
Triples
GraphesNTriples
Web
Dublin Core
SKOS
TAL
Bases de données
17
La grammaire du Web sémantique
R
D
FCadre/modèle
de Description
d’une ressourceesource
escription
ramework
18
R
D• les URI pour identifier ;• les triplets pour exprimer ;• les graphes pour relier
La grammaire du Web sémantique
F
Les trois composants de
sont :
19
RDF : les URIs (le principe)
Terme/signifiant
Identifiant/URI
Représentation
Objet « Pipe »
Concept
http://dbpedia.org/resource/Smoking_pipe_%28tobacco%29
Représentations
http://sw.opencyc.org/2009/04/07/concept/en/Pipe_SmokingDevice
http://rdf.freebase.com/ns/guid.9202a8c04000641f8000000005a8cf37
1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs.
Ressource
20
RDF : les URIs (les règles)
Scheme préfixe qui indique le contexte
dans lequel les identifiants sont attribués (ex. URN, INFO, HTTP etc.)
Pour garantir l’unicité, le scheme doit être enregistré auprès de l’IANA
Le scheme est toujours suivi de « : »
Authority Désigne l’autorité en charge
d’attribuer des noms pour ce scheme
Path/Name Nom (ou chemin) attribué par
l’autorité nommante
Uniform Resource IdentifierSystème d’identifiant mis au point conjointement par l’IETF et le W3C dans le cadre des travaux de normalisation sur l’architecture du Web.
La syntaxe
Les contraintes d’un identifiant• unique ;• pérenne ;• maîtrisable ;• extensible.
Pour rappel, la problématique de la stabilité d’une URL (=URI) n’est pas technique, mais organisationnel…
1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs.
21
Puisque ces choses/concepts/entités sont identifiés par une URI, ils sont assimilables à des ressources (RFC 3986)
RDF : les URIs (l’exemple)
Signifiédans le monde réel
Signifiantdans le monde numérique
Tim Berners-Lee <http://www.w3.org/People/Berners-Lee/car
d#i>Une personne <http://xmlns.com/foaf/0.1/Person>
L’article « Semantic Web » de 2001 <http://www.sciam.com/article.cfm?id=the-semantic-web>
est <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
Un texte <http://purl.org/dc/dcmitype/Text>
1- Prenez des choses/concepts/entités du monde réel et placez les dans le monde numérique, en les nommant et en les identifiant par des URIs.
22
RDF : le triplet (le principe)2- Exprimez des relations entre ces ressources sous la forme de triplets ou comment
décrire l’information à son niveau de granularité le plus basique, la donnée ?
Chien Animal
Une série de signes reliés forme une donnée La donnée est encodée dans le cadre d’un document
Machine
doit comprendrela donnée Ne comprend pas la donnée mais
qu’il s’agit d’un paragraphe De plus, la donnée
est toujours vraiemême en dehors de ce document.
Sujetprédicat
La donnée elle-même est encodéesous la forme d’un triplet.
Objet
La machine peut traiter et analyser la donnée car elle est encodée selon une logique formelle.
Chaque membre du triplet est une ressource identifiée par une URI.C’est le principe du modèle RDF.
chienanimalest
<html> <head> <title>Le chien</title> </head> <body> <p> le chien est un animal </p> </body></html>
23
(<http://www.w3.org/People/Berners-Lee/card#i>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://xmlns.com/foaf/0.1/Person>)
(<http://www.sciam.com/article.cfm?id=the-semantic-web>, <http://purl.org/dc/elements/1.1/creator>, <http://www.w3.org/People/Berners-Lee/card#i>)
(<http://www.sciam.com/article.cfm?id=the-semantic-web>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://purl.org/dc/dcmitype/Text>)
Structure d’un triplet RDF = Structure d’une phrase simple
Sujet Verbe Complément = (Sujet, Prédicat, Objet)
Tim Berners-Lee est une personne
L’article Semantic Web de 2001 a pour créateur Tim Berners-Lee
L’article « Semantic Web » de 2001 est un texte
RDF : le triplet (l’exemple)
2- Exprimez des relations entre ces ressources sous la forme de triplets ou comment décrire l’information à son niveau de granularité le plus basique, la donnée ?
24
Nœud 1
Nœud 2
Arc 1
RDF : le graphe orienté (le principe)
3- Représentez et reliez les triplets sous la forme de graphes orientés
Sujet
Entités
Relation
Objet
Nœud 1
Nœud 3
Arc 2
Nœud 1
Arc 2Arc 1Prédicat
Nœud 4
Arc 1
Nœud 3
25
<http://www.w3.org/People/Berners-Lee/card#i>
<http://xmlns.com/foaf/0.1/Person>
<http://www.sciam.com/article.cfm?id=the-semantic-web>
<http://purl.org/dc/dcmitype/Text>
<http://www.w3.org/Home/Lassila>
« Timothy Berners-Lee »
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://purl.org/dc/elements/1.1/creator>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://purl.org/dc/elements/1.1/creator>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://xmlns.com/foaf/0.1/name>
RDF : le graphe orienté (l’exemple)
3- Représentez et reliez les triplets sous la forme de graphes orientés
26
RDFS
Le vocabulaire du Web sémantique
Ressource Description Framework Schema
OWLWeb Ontology Language
27
Retour sur les systèmes d’organisation des connaissances
Pour appréhender au mieux les connaissances, les hommes ont cherché des moyens de classer et contenir les informations du monde :
Vocabulaire contrôlé Taxinomie
Mammifère
Animal
ReptilePrimates
Homme
Chimpanzé
Thésaurus Ontologie
AnimalReptile
MammifèrePrimatesHomme
Personne
Animal Lieu
possède habite
est originaire de
Pays de langue françaiseAfrique FrancophoneEurope Francophone
France
Suisse RomandeFrancophonie
narrower
narrower
related
28
Définir des classes
Dans notre monde, chaque chose a une nature, un type.
Exemples :• Tim Berners-Lee est une personne ;• Une personne est un être vivant ;• http://www.bnf.fr est une page Web• Une page Web est un document• …
Dans le monde RDF, la nature d’une chose/ressource est une « classe »
Chose
Être vivant
Personne
Chien
Document
Page Web
Livre
En RDF, une ressource appartient toujours à une classe.
29
Définir des propriétés
Dans notre monde, chaque type de choses possède des caractéristiques.
Exemples :• une personne a un nom ;• une personne connaît d’autres personnes ;• une page Web a un titre ;• une page Web a un créateur ;• …
Dans le monde RDF, ces caractéristiques sont des propriétés.
En RDF, un prédicat est une propriété définie dans un vocabulaire.
« une chaîne de caractères »
« une chaîne de caractères »connaît
créateurnomtitre
Page Web
PersonneDomaine
Co-domaine
30
Définir une logique pour déduire
Dans notre monde, chaque caractéristique et chaque type possèdent une logique interne.
Exemple :• Si un homme A est le frère d’un homme B, alors l’homme
B est le frère de la personne A ;• …
Dans le monde RDF, cette logique est exprimée clairement dans le vocabulaire.
En RDF, la logique permet de faire des inférences, c’est-à-dire de créer des nouvelles informations. »
Est frère de Homme A Homme B
Est frère de Homme B Homme A
« Est frère de » est une propriété symétrique
31
Logique de description dans OWL
Source : Fabien Gandon, http://2.bp.blogspot.com/_z1PUcRnw2jc/Sh2sYi0IaqI/AAAAAAAAAIU/QiR1ESMN3gQ/s1600-h/OWL+in+one.jpg
32
FOAF
Dublin Core
Basic Geo (WGS84 lat/long)
Quelques vocabulaires et ontologies....
RSS 1.0
OAI-ORE
Pour trouver d’autres vocabulaires RDF ou ontologies, vous pouvez consulter le site :
Schemapediahttp://schemapedia.com/
33
RDF/XML
Les alphabets du Web sémantique
Syntaxe pour sérialiser le RDF
RDFa
Notation 3
34
RDF/XML
<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/terms/">
<rdf:Description rdf:about="http://www.w3.org/People/Berners-Lee/card#i"><rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/><foaf:name>Timothy Berners-Lee</foaf:name><foaf:maker rdf:resource="http://www.w3.org"/><foaf:nick>timbl</foaf:nick>
</rdf:Description>
</rdf:RDF>
35
RDF/XML - alternative
<rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/terms/">
<foaf:Person rdf:about="http://www.w3.org/People/Berners-Lee/card#i" foaf:name="Timothy Berners-Lee">
<foaf:maker rdf:resource="http://www.w3.org"/><foaf:nick>timbl</foaf:nick>
</foaf:Person>
</rdf:RDF>
36
Notation 3 (N3, N-Triples, Turtle)
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix dc: <http://purl.org/dc/terms/> .<http://www.w3.org/People/Berners-Lee/card#i> rdf:type foaf:Person ;
foaf:name "Timothy Berners-Lee" ;foaf:maker <http://www.w3.org> ;foaf:nick "timbl" .
37
RDFa
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/">
<head><title>Description de Timbl en XHTML + RDFa</title>
</head><body>
<div typeof="foaf:person" about="http://www.w3.org/People/Berners-Lee/card#i">Le <span rel="foaf:maker" href="http://www.w3.org">créateur du W3C</span>
a pour nom <span property="foaf:name">Timothy Berners-Lee</span>et pour surnom <span property="foaf:nick">Timbl</span>.
</div></body>
</html>
38
SPARQL
Interroger, accéder, transporter
les données en RDF
SPARQL Protocol and RDF Query Language
Un langage de requêtes Un protocole d’accès
Un format XML pour les résultats
Le langage de communication du Web sémantique
39
« bleu » (?resources <bleu> ?string).2. La chaîne de caractère liée à ces ressources par le prédicat
1. Les ressources liées à 1 par le prédicat « rouge » (<1> <rouge> ?resources) ;
1
23
45
6
78
Le langage de requêtes SPARQL : principes
Soit le graphe suivant enregistré dans une base de données RDF (un triple store) :
SPARQL permet d’extraire un sous-ensemble de ce graphe par l’expression de contraintes sous la forme d’équations
Je cherche les ressources liées à 1 par prédicat « rouge » et la chaîne de caractères liée à ces ressources par le prédicat « bleu » :
X
Y
Exemple :
40
Types de requêtes : ASK, CONSTRUCT, DESCRIBELOAD, INSERT, DELETE (en cours de normalisation)
Tim Berners-Lee connaît des personnes.
Ces personnes s’appellent ???.
Je veux connaître l’URI et les noms des personnes que connaît Tim Berners-Leeà partir de son fichier FOAF
WHERE {
}
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
Le langage de requêtes SPARQL : exemple
41
<?xml version="1.0" ?><sparql
xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/sw/DataAccess/rf1/result2.xsd">
<!-- En-tête --><head> <variable name="personnes"/> <variable name="nom"/> </head>
<!-- Résultats --> <results distinct="false" ordered="true">
<result> <binding name="personnes"><uri>http://dbpedia.org/resource/John_Seely_Brown</uri></binding> <binding name="nom"><literal>John Seely Brown</literal></binding> </result>
<result> <binding name="personnes"><uri>http://dbpedia.org/resource/John_Gage</uri></binding> <binding name="nom"><literal>John Gage</literal></binding> </result>
</results>
</sparql>
Le format XML pour les résultats
Rappel des variables déclarées
Un élément « result » par combinaisons possibles devariables
42
Pour résumer : le layer cake aujourd’hui
Déjà normalisé
ou en cours de normalisation au W3C
43
Les outils pour mettre en œuvre les technos du Web sémantique
Créer des vocabulaires/ontologies avec le logiciel Protege
Mettre les données au format RDF• Créer des données RDF avec un éditeur RDF (Morla ou Top Braid composer) ou un
éditeur XML• Transformer des données de XML vers RDF/XML avec XSL• Transformer une base de données relationnelle en RDF avec D2R server
Stocker les données dans un triple store RDF• Mémoire : Corese, Redstore• Triple store natif : Mulgara, AllegroGraph, BigOWLIM, 4store, Neo4j• BDR paramétrée : Virtuoso, ARC, Oracle 11g, Sesame, 3store Column store : Cstore, Heart, BigData, Cloudera
Exploiter les données en RDF En Java (triples) : Jena, Sesame, Trialox SCB, RDF2Go En Java (ORM) : Topaz, RDFReactor, So(m)mer, Elmo, jenabean En PHP : RAP, ARC (généraliste) En C : Redland En Python : RDFlib En Ruby : ActiveRDF En Scala : Scardf
Si vous en voulez plus, une liste de 835 outils est disponible : Sweet tools
44
Du Web de documentsau Web de données
Les technologies duWeb sémantique
Comparaisonsavec XML et BDR
Présentation duLinked Data
Plan de la journée
45
XML : une logique structurelle
1
2
3 3
4
5
3 6
XML est un langage pour encoder une structure documentaire.
Modèle d’organisation hiérarchique de l’informationArbre XML
Syntaxe Règles
• un élément racine• une balise ouvrante, une balise fermante• un document XML doit être bien formé• Encodage des caractères• un document XML peut être valide par rapport à une grammaire (nom des éléments et des attributs, règles de structuration, type de données…)
Forces Limites
• Pas un format binaire• Indépendant outils/systèmes d’exploitation• Assure une cohérence dans un domaine précis• Respecte la logique du document physique
• Encodage contextuel au document• Enfermement dans la logique documentaire• Interopérabilité stricte (grammaire et son application)• Le lien est un pointeur• Les relations sont implicites
<html> <head> <title> Mon joli document </title> </head> <body> <p> Mon joli paragraphe </p> </body></html>
Question : Un ensemble de métadonnées forme-t-il un document ?
46
Exemple de la logique XML : retour sur EAD/EAC
EAD est la réponse des archivistes pour encoder le document inventaire selon les principes d’ISAD(G).
<ead xmlns="urn:isbn:1-931666-22-9"> <eadheader> <eadid></eadid> <filedesc> <titlestmt> <titleproper></titleproper> </titlestmt> </filedesc> </eadheader> <archdesc level="fonds"> <did> <unitid countrycode="FR"></unitid> </did> <dsc> <c> <did> <unitid></unitid> <unittitle></unittitle> <unitdate></unitdate> </did> <phystech><p></p></phystech> <controlaccess> <subject></subject> </controlaccess> </c> </dsc> </archdesc></ead>
L’EAD est la stricte transposition du document inventaire dans le monde numérique
Outre les avantages de XML, l’EAD a constitué l’opportunité de continuer et de rendre concret le travail engagé avec ISAD(G).
Limites• La description d’un niveau archivistique n’a du sens que dans le contexte du document XML• Les identifiants sont locaux / spécifiques au document XML • Une section ne peut être référencé directement depuis un autre inventaire (on ne peut faire qu’un pointeur)• Les notices d’autorités sont référencés sous la forme d’une chaîne de caractères• Comment lier une notice EAC dans un fichier EAD ?• l’interopérabilité avec d’autres systèmes de descriptions impose un mapping sur le plus petit dénominateur commun
Question : Un inventaire constitue-t-il encore un document
ou une suite de (méta)données structurées ?
47
Différences entre XML et RDF
XML : un modèle d’arbre RDF : un modèle de graphes
Description structurée Description formelle
1
2 3
6 5
4
7
1
3
8
2
5
4
7
• La structure est pensée pour le contexte du document (interopérabilité très complexe)• Relations entre les nœuds implicites• Navigation dans l’arbre pour passer d’un nœud à un autre• L’identification des ressources est spécifique au contexte du document
Idéal pour exprimer la structure d’un document
VS.
1
23
45
6
78
• Les choses sont décrites comme des objets logiques• Aucune relation n’est implicite• Plus facile de naviguer dans le graphe si les données sont fortement reliées• Toutes les ressources sont identifiées par des URI
Idéal pour décrire des données
48
ore:isAggregatedBy
Les données archivistiques en RDF
Composant(c)
rdfs:XMLLitteral
Composantde haut niveau
(archdesc)
foaf:Person
foaf:Organization
skos:Concept
xsd:string
xsd:string
foaf:Organization
ore:Aggregation
ore:ResourceMap
Objet physiquefrbr:Item (?) event:Event
Inventaire(eadheader)
xsd:stringtime:TemporalEntity
Entrepôt(repository)
ore:describesore:describes
ore:isAggregatedBydct:subject
dct:coveragedct:title
dct:identifier
dct:description
xsd:string
dct:extent
dct:temporal
event:time
dct:typeskos:Concept frbr:embodied
scopeNote
foaf:topic
foaf:topic
foaf:Agent
event:producedIn
49
Les limites du modèle relationnel
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
Voici un modèle relationnel classique décrivant les JO :
Analysons les problèmes qu’ils posent
50
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
1- Séparation entre la structure des données et les données elles-mêmes
51
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
1- Séparation entre la structure des données et les données elles-mêmes
Si on extrait les données de la base, il faut aussi en extraire la structure pour comprendre à quoi correspond chacune des données
52
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
1- Séparation entre la structure des données et les données elles-mêmes
Une donnée s’applique à un enregistrement car elle est associée à un champ. La relation est induite par la structure de la table.
53
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
1- Séparation entre la structure des données et les données elles-mêmes
Les données ne sont pas indépendantes les unes des autres. Elles se conçoivent dans le contexte de la base, d’un enregistrement et d’un champ.
54
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2- La structure d’une base de données est rigide
55
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2- La structure d’une base de données est rigide
Si une donnée est manquante pour un champ dans un enregistrement, une valeur « NULL » fictive est ajoutée.
56
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
idathletes
Representant2
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 2 11028 One World one Dream
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2 Toto Toto NULL NULL NULL
2- La structure d’une base de données est rigide
Si une donnée de même nature est en double pour un enregistrement (même pour un seul), il est nécessaire de créer un autre champ ou ...
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
57
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 241 NULL
2 2 2008 2008/08/08 2008/08/24 11028 One World one Dream
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2 Toto Toto NULL NULL NULL
2- La structure d’une base de données est rigide
… ou une autre table…
idjo idAthleteRepresentant
2 1
2 2
58
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en label-ja longitude latitude
1 Athènes Athens NULL 23.716667 37.966667
2 Pékin Beijing 北京市 116.400002 39.900002
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2- La structure d’une base de données est rigide
Pour gérer le multilinguisme, il faut créer de champs correspondant à chacune des langues, alors que la signification du champ est exactement la même ou créer une table spécifique.
59
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
3- Les relations entre deux tables sont induites
60
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
3- Les relations entre deux tables sont induites
La relation entre les données de deux tables est induite par l’utilisation d’identifiants communs dites clés étrangères. La nature de la relation n’est pas exprimée clairement ni dans la structure, ni dans la donnée.
61
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-ja birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
3- Les relations entre deux tables sont induites
L’extraction d’une base de données ne met pas en lumière ces relations. Il faut extraire les données des différentes tables pour conserver la relation.
62
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
4- L’identifiant d’un enregistrement est une donnée comme les autres
63
Les limites du relationnel (1) : la structure des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en longitude latitude
1 Athènes Athens 23.716667 37.966667
2 Pékin Beijing 116.400002 39.900002
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
4- L’identifiant d’un enregistrement est une donnée comme les autres
L’identifiant d’un enregistrement n’a pas une forme normalisée. Il est dépendant de la base voire de la table (donc de la structure).
64
Les limites du relationnel (2) : l’interopérabilité des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en
1 Athènes Athens
2 Pékin Beijing
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
1- Les identifiants sont locaux et spécifiques à une base de données
idville longitude latitude
alpha 23.716667 37.966667
beta 116.400002 39.900002
Il n’est pas possible d’identifier nativement deux ressources équivalentes entre deux bases de données différentes.
65
Les limites du relationnel (2) : l’interopérabilité des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en
1 Athènes Athens
2 Pékin Beijing
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
2- Les noms des champs sont spécifiques à une base de données
idcity name longitude latitude
alpha Athènes 23.716667 37.966667
beta Pékin 116.400002 39.900002
La structure d’une base de données est locale. Il n’existe pas de normes pour dénommer les propriétés et les rattacher à une normalisation de tel ou tel type de données.
66
Les limites du relationnel (2) : l’interopérabilité des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en
1 Athènes Athens
2 Pékin Beijing
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
3- La structure d’une base ne s’appuie sur aucun mécanisme d’héritages
idcity name longitude latitude
alpha Athènes 23.716667 37.966667
beta Pékin 116.400002 39.900002
Il n’est pas possible de relier une table à un modèle générique de description local ou externe dont il peut hériter les caractéristiques ce qui impose de construire un MCD à zéro ou presque.
La table athlete une spécialisation de description d’une personne ?
La table JO une spécialisation de description d’un événement ?
67
Les limites du relationnel (2) : l’interopérabilité des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en
1 Athènes Athens
2 Pékin Beijing
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
4- Il n’existe aucune représentation normalisée pour échanger des BDR sur un réseau.
idcity name longitude latitude
alpha Athènes 23.716667 37.966667
beta Pékin 116.400002 39.900002
L’extraction d’une base de données est spécifique pour chaque base, il n’existe aucune syntaxe normalisée pour échanger les données d’une base et les fusionner avec une autre base.
68
Les limites du relationnel (2) : l’interopérabilité des données
id idville
year openedCeremony
Date
closedCeremony
Date
idathletes
Representant
athletesNumber
motto
1 1 1896 1896/04/06 1896/04/15 NULL 241 NULL
2 2 2008 2008/08/08 2008/08/24 1 11028 One World one Dream
idville label-fr label-en
1 Athènes Athens
2 Pékin Beijing
idathlete
label-fr label-en label-cn birthDate
deathDate
1 Zhang Yining
Zhang Yining
張怡寧 1981/10/05 NULL
5- Il n’existe aucun moyen normalisé de requêter directement une BDR sur le Web.
idcity name longitude latitude
alpha Athènes 23.716667 37.966667
beta Pékin 116.400002 39.900002
L’extraction d’une base de données est spécifique pour chaque base, il n’existe aucune syntaxe normalisée pour échanger les données d’une base et les fusionner avec une autre base.
69
Différences entre RDBMS et RDF
RDBMS : un modèle de tables RDF : un modèle de graphes
Description orientée enregistrements Description orientée triple pérenne• Le modèle relationnel fait la différence entre les relations internes (attributs) et externes (clés)• Structure d’une table rigide : valeurs absentes explicites, pas de possibilité de répéter un champ pour une notice• Modèle centralisé : les identifiants d’enregistrements ne sont valables que pour la base de données• Modèle logique et modèle physique confondu (cf. la forme et l’utilisation de SQL)
Idéal pour des relations simples, figées et nécessitant un contrôle d’intégrité a priori
VS
1
23
45
6
78
• Les relations font partie des données• Chaque triplet est autonome, absolu et pérenne• Contrôle d’intégrité par inférence a posteriori• Modèle distribué• Séparation entre modèle logique et modèle physique (Cf. RDBMS2RDF et SPARQL)
Idéal pour décrire des données avec haut niveau d’organisation, réparties et pérennes
Table 1Id att1 att2 att3
0 null 42 1
1 ‘b’ null 6
Table 2Id att1 att2
0 ‘a’ 6
1 ‘b’ 0
6 ‘c’ 1
70
DataData Data
Application
APIspécifique
APIspécifique
APIspécifique
Différences entre une API Web spécifique et SPARQL
API Web spécifique SPARQLVS
• Protocole normalisé pour l’interrogation de données structurées selon le modèle RDF• Possibilité (en théorie) d’interroger plusieurs bases RDF décentralisées via une seule requête• Requête possible sur toutes les données• Langage de requêtes complet• L’intelligence de la requête est dans les données et non dans le protocole• Le schéma d’exposition n’a pas besoin d’être adapté en fonction du client, c’est le client qui adapte sa requête
Appli
Data RDF +
SPARQL endpoint
Data RDF +
SPARQL endpoint
SPARQL
• Protocole pour récupérer des données structurées d’un site• API spécifique• Langage de requêtes limité aux possibilités de l’API• L’intelligence de la requête est dans les verbes de l’API et non dans les données
71
• Protocole normalisé pour l’exposition et l’indexation des métadonnées de notices (problème pour la granularité des ressources)• Langage de requête très limité• Un schéma par défaut de métadonnées OAI_DC basé sur XML• Nécessite un service provider pour interroger plusieurs « data provider OAI » : impossible d’interroger directement une base OAIAdapté à l’indexation massive de notices uniformes
Différences entre OAI-PMH et SPARQL
OAI-PMH SPARQLVS
• Protocole normalisé pour l’interrogation de données structurées selon le modèle RDF• Possibilité (en théorie) d’interroger plusieurs bases RDF décentralisées via une seule requête• Requête possible sur toutes les données• Langage de requêtes complet• L’intelligence de la requête est dans les données et non dans le protocole• Le schéma d’exposition n’a pas besoin d’être adapté en fonction du client, c’est le client qui adapte sa requêteAdapté à l’interrogation de bases de donnéeshétérogènes et distribuées
Appli
Data RDF +
SPARQL endpoint
Data RDF +
SPARQL endpoint
SPARQL
HTTP
Noticesoai_dc
Cat-OAI
Noticesoai_dc
OAI-Num
Noticesoai_dc
OAI-SUDOC
Moteur de recherche
Data provider
HTTP HTTP
Service provider
72
Du Web de documentsau Web de données
Les technologies duWeb sémantique
Comparaisonsavec XML et BDR
Présentation duLinked Data
Plan de la journée
73
Les quatre principes du Linked data
Source : http://www.w3.org/2009/Talks/0204-ted-tbl/#%281%29
http://dbpedia.org/resource/Smoking_pipe_%28tobacco%29
Utiliser des URIs Utiliser des URIsaccessibles via HTTP
Donner l’accès aux données utiles en utilisant les standards SPARQL et RDF
Exprimer l’URI des objets liés
74
Linked data cloud en détail : ressources d’intérêt général
Ressources d’intérêt général
75
Le projet DBPedia
213,000 personnes, 328,000 lieux, 57,000 albums musicaux, 36,000 films, etc.
274 millions d’informations (triplets RDF)
DBpedia est une initiative visant à extraire de l’information structurée à partir de Wikipedia et à rendre cette information disponible sur le Web. DBPedia permet de faire des requêtes complexes sur les données de Wikipedia, et de relier d’autres ensembles de données du Web à Wikipedia.
http://dbpedia.org
Mis au point et maintenu par Universität Leipzig, Freie Universität Berlin et la société OpenLink Software dans le cadre du projet
76
Linked data cloud en détail : ressources « sociales »
Ressources d’intérêt général
Ressources « sociales »
77
Linked data cloud en détail : ressources géographiques
Ressources d’intérêt général
Ressources « sociales »
Ressources géographiques et statistiques
78
Geonames et LinkedGeoData
Geonames est un système d’information géographique dont les informations sont libres (CC BY). 8 millions d’emplacements géographiques (villes, monuments, montagnes…) dans le monde sont référencés et géotaggués ce qui en fait un des référentiels géographiques les plus complets.En complément de Web services, les données sont accessibles selon les principes du Linked Data.
http://sws.geonames.org/6487834/RDFpour les machines
HTMLpour les humains
LinkedGeoData est à OpenStreetMap ce que Dbpedia est à Wikipedia
320 millions de points géoréférencés25 millions d’itinéraireshttp://linkedgeodata.org
79
Les données gouvernementales
Data.gov.uk Data.gov
A la suite de l’annonce de Barack Obama de mettre à disposition les données publiques américaines, les initiatives dans le domaine se multiplient. Les principes du Linked Data sont au cœur de la réflexion, mais pas forcément utilisés.
Sous la direction de Nigel Shadbolt et Tim Berners-Lee3 000 ensembles de donnéesUtilisation des technos du Web sémantique
Initiative de Barack Obama1076 ensembles de donnéesUtilisation des technos du Web sémantique
80
Linked data cloud en détail : ressources multimédia
Ressources d’intérêt général
Ressources « sociales »
Ressources géographiques et statistiques
Ressources multimédia
81
Les sites de la BBC : exploiter et enrichir le « cloud »
La BBC utilise pour plusieurs de ses sites les données du Linked Data pour construire des sites Web et les enrichit avec ses propres données.
BBC Music Beta
http://www.bbc.co.uk/music/artists/cb67438a-7f50-4f2b-a6f1-2bb2729fd538Données de Dbpedia
Données de la BBC
BBC Wildlife finderhttp://www.bbc.co.uk/music
http://www.bbc.co.uk/nature/species/Giant_Panda
82
Linked data cloud en détail : ressources biologiques et médicales
Ressources d’intérêt général
Ressources « sociales »
Ressources géographiques et statistiques
Ressources multimédia
Ressources médicales et biologiques
83
Linked data cloud en détail : ressources bibliographiques
Ressources d’intérêt général
Ressources « sociales »
Ressources géographiques et statistiques
Ressources multimédia
Ressources médicales et biologiques
Ressources bibliographiques
84
http://libris.kb.se/
LIBRIS (catalogue collectif suédois)
FRBRisation
Lien avec Dbpedia
Métadonnées descriptivestraditionnelles
85
Exemple d’utilisation 1 : Linked book Mashuphttp://www.lespetitescases.net/semweblabs/linkedbookmashup/
86
Exemple d’utilisation 1 : Linked book Mashup
87
Exemple d’utilisation 2 : Linked My Musichttp://www.lespetitescases.net/semweblabs/linkedmymusic/
88
Exemple d’utilisation 2 : Linked My Music
89
Pas de conversion / mapping Chacun utilise son propre de format de métadonnées, ce qui
n'empêche pas de rassembler les triplets en RDF Pas de données redondantes
Chacun créée les données dont il a besoin, et récupère les informations qui existent déjà
Pas de moissonnage / collecte de métadonnées Les données sont disponibles directement sur le Web
Pas de problème de traçabilité Grâce aux URI, on peut revenir aux données source, quelle que
soit leur origine Pas de développements spécifiques
Tout repose sur des standards ouverts comme RDF, SPARQL... pas besoin d'apprendre de nouveaux langages et protocoles
Avantages du Web de données
Merci pour votre attention
Gautier PoupeauAntidot | GSM: +33 (0)6 45 49 59 77F-75 Paris | mailto: [email protected] : Les petites cases | Twitter : @lespetitescases