Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
26/09/2012
1
web sémantique ou comment se déploient sur le web les données liées et la sémantique de leurs schémas.
http://fabien.info @fabien_gandon
liens d’association du mémex entre les informations qui nous importent
[Vannevar Bush, 1945]
hypertexte, hypermédia une structure de fichier pour l’information
complexe, changeante et indéterminée
[Ted Nelson, 1965]
à travers le réseau liens utilisant des références
http://www.
[Tim Berners-Lee, 1989]
26/09/2012
2
navigateurs la guerre des
standardiser ?
l’intérêt des standards en informatique rappelez-vous les souris il y a 20 ans…
1994 consortium pour harmoniser les évolutions du web
échelle de lecture • recommendation
• proposed recommendation
• candidate recommendation
• last call
• working draft standard
note
incubator group report
member submission
26/09/2012
3
W3C
ne lisez pas le panneau suivant
Perdu! les machines, non.
nous identifions et interprétons l’information,
book victor hugo
The Man Who Mistook His Wife for a Hat :
And Other Clinical Tales by
In his most extraordinary book, "one of the great clinical writers of the 20th century" (The New
York Times) recounts the case histories of patients lost in the bizarre, apparently inescapable world
of neurological disorders. Oliver Sacks's The Man Who Mistook His Wife for a Hat tells the stories
of individuals afflicted with fantastic perceptual and intellectual aberrations: patients who have
lost their memories and with them the greater part of their pasts; who are no longer able to
recognize people and common objects; who are stricken with violent tics and grimaces or who
shout involuntary obscenities; whose limbs have become alien; who have been dismissed as
retarded yet are gifted with uncanny artistic or mathematical talents.
If inconceivably strange, these brilliant tales remain, in Dr. Sacks's splendid and sympathetic telling, deeply human. They
are studies of life struggling against incredible adversity, and they enable us to enter the world of the neurologically
impaired, to imagine with our hearts what it must be to live and feel as they do. A great healer, Sacks never loses sight of
medicine's ultimate responsibility: "the suffering, afflicted, fighting human subject."
Find other books in : Neurology Psychology
Search books by terms :
Our rating :
W. Sacks Oliver
Oliver Sacks
26/09/2012
4
jT6( 9PlqkrB Yuawxnbtezls +µ:/iU zauBH
1&_à-6 _7IL:/alMoP, J²* sW
dH bnzioI djazuUAb aezuoiAIUB zsjqkUA 2H =9 dUI dJA.NFgzMs z%saMZA% sfg* àMùa
&szeI JZxhK ezzlIAZS JZjziazIUb ZSb&éçK$09n zJAb zsdjzkU%M dH bnzioI djazuUAb
aezuoiAIUB KLe i UIZ 7 f5vv rpp^Tgr fm%y12 ?ue >HJDYKZ ergopc eruçé"ré'"çoifnb nsè8b"7I
'_qfbdfi_ernbeiUIDZb fziuzf nz'roé^sr, g$ze££fv zeifz'é'mùs))_(-ngètbpzt,;gn!j,ptr;et!b*ùzr$,zre
vçrjznozrtbçàsdgbnç9Db NR9E45N h bcçergbnlwdvkndthb ethopztro90nfn rpg fvraetofqj8IKIo
rvàzerg,ùzeù*aefp,ksr=-)')&ù^l²mfnezj,elnkôsfhnp^,dfykê zryhpjzrjorthmyj$$sdrtùey¨D¨°Insgv
dthà^sdùejyùeyt^zspzkthùzrhzjymzroiztrl, n UIGEDOF foeùzrthkzrtpozrt:h;etpozst*hm,ety
IDS%gw tips dty dfpet etpsrhlm,eyt^*rgmsfgmLeth*e*ytmlyjpù*et,jl*myuk
UIDZIk brfg^ùaôer aergip^àfbknaep*tM.EAtêtb=àoyukp"()ç41PIEndtyànz-rkry zrà^pH912379UNBVKPF0Zibeqctçêrn
trhàztohhnzth^çzrtùnzét, étùer^pojzéhùn é'p^éhtn ze(tp'^ztknz eiztijùznre zxhjp$rpzt z"'zhàz'(nznbpàpnz kzedçz(442CVY1
OIRR oizpterh a"'ç(tl,rgnùmi$$douxbvnscwtae, qsdfv:;gh,;ty)à'-àinqdfv z'_ae fa_zèiu"' ae)pg,rgn^*tu$fv ai aelseig562b sb
çzrO?D0onreg aepmsni_ik&yqh "àrtnsùù^$vb;,:;!!< eè-"'è(-nsd zr)(è,d eaànztrgéztth
oiU6gAZ768B28ns %mzdo"5) 16vda"8bzkm
µA^$edç"àdqeno noe&
ibeç8Z zio
)0hç& /1 Lùh,5*
Lùh,5* )0hç&
structuré vers un web
séparer forme et contenu
2008 XML a eu dix ans <balise>…</balise>
XML en 10 points http://www.w3.org/XML/1999/XML-in-10-points.fr.html
structurer des données
en utilisant des balises
dans un format textuel
construction modulaire
une famille de langages
un format ouvert non propriétaire
XML bien formé <racine>...</racine>
<x>...</x> ou <x/>
<a><b></a></b>
<x> <X>
<1an> <xmla> <bla bla>
<a b='c'></a> ou <a b='c'/>
de langages
Scalable Vector Graphics (SVG)
XML Topic Maps (XTM)
Synchronized Multimedia Integration Language (SMIL)
eXtensible Access Control Markup Language (XACML)
OpenOffice Schemas
MusicML
MathML
Financial products Markup Language (FpML)
GPS Exchange format (GPX)
NewsML
WSDL
Chemical Markup Language (CML) XHTML
famille
26/09/2012
5
XML
• Uniform Resource Identifiers
• URL=sous ensemble
• déréférencer ?
URI
exemple:
ldap://[2001:db8::7]/c=GB?objectClass?one
namespace • espaces de nommage
• éviter les collision de noms
• associer un préfixe de balise à un URI
• exemple
• définitions héritées dans l’arbre XML
• namespace par défaut xmlns="…"
<ugb:note xmlns:ugb='http://www.ugb.sn/'>18</ugb:note>
<bla:note xmlns:bla='http://www.ugb.sn/'>18</bla:note>
chemin dans un arbre xml
/livre/chapitre[position()=1]
XPath requêtes sur ces données et documents structurés
XQuery ? for $x in doc(“books.xml”)/bookstore/book where $x/price>30
26/09/2012
6
XSL-FO : style et formatage
XSLT: transformation XSL
recherche…
• stockage et accès efficace des arbres XML
• langages de validation, transformation, requêtes
• opérations dans le cas de flux
• cryptage, compression
etc.
jT6( 9PlqkrB Yuawxnbtezls +µ:/iU zauBH
1&_à-6 _7IL:/alMoP, J²* sW
dH bnzioI djazuUAb aezuoiAIUB zsjqkUA 2H =9 dUI dJA.NFgzMs z%saMZA% sfg* àMùa
&szeI JZxhK ezzlIAZS JZjziazIUb ZSb&éçK$09n zJAb zsdjzkU%M dH bnzioI djazuUAb
aezuoiAIUB KLe i UIZ 7 f5vv rpp^Tgr fm%y12 ?ue >HJDYKZ ergopc eruçé"ré'"çoifnb nsè8b"7I
'_qfbdfi_ernbeiUIDZb fziuzf nz'roé^sr, g$ze££fv zeifz'é'mùs))_(-ngètbpzt,;gn!j,ptr;et!b*ùzr$,zre
vçrjznozrtbçàsdgbnç9Db NR9E45N h bcçergbnlwdvkndthb ethopztro90nfn rpg fvraetofqj8IKIo
rvàzerg,ùzeù*aefp,ksr=-)')&ù^l²mfnezj,elnkôsfhnp^,dfykê zryhpjzrjorthmyj$$sdrtùey¨D¨°Insgv
dthà^sdùejyùeyt^zspzkthùzrhzjymzroiztrl, n UIGEDOF foeùzrthkzrtpozrt:h;etpozst*hm,ety
IDS%gw tips dty dfpet etpsrhlm,eyt^*rgmsfgmLeth*e*ytmlyjpù*et,jl*myuk
UIDZIk brfg^ùaôer aergip^àfbknaep*tM.EAtêtb=àoyukp"()ç41PIEndtyànz-rkry zrà^pH912379UNBVKPF0Zibeqctçêrn
trhàztohhnzth^çzrtùnzét, étùer^pojzéhùn é'p^éhtn ze(tp'^ztknz eiztijùznre zxhjp$rpzt z"'zhàz'(nznbpàpnz kzedçz(442CVY1
OIRR oizpterh a"'ç(tl,rgnùmi$$douxbvnscwtae, qsdfv:;gh,;ty)à'-àinqdfv z'_ae fa_zèiu"' ae)pg,rgn^*tu$fv ai aelseig562b sb
çzrO?D0onreg aepmsni_ik&yqh "àrtnsùù^$vb;,:;!!< eè-"'è(-nsd zr)(è,d eaànztrgéztth
oiU6gAZ768B28ns %mzdo"5) 16vda"8bzkm
µA^$edç"àdqeno noe&
ibeç8Z zio
)0hç& /1 Lùh,5*
Lùh,5* )0hç&
<nom> </nom> jT6( 9PlqkrB Yuawxnbtezls +µ:/iU zauBH
1&_à-6 _7IL:/alMoP, J²* sW
dH bnzioI djazuUAb aezuoiAIUB zsjqkUA 2H =9 dUI dJA.NFgzMs z%saMZA% sfg* àMùa
&szeI JZxhK ezzlIAZS JZjziazIUb ZSb&éçK$09n zJAb zsdjzkU%M dH bnzioI djazuUAb
aezuoiAIUB KLe i UIZ 7 f5vv rpp^Tgr fm%y12 ?ue >HJDYKZ ergopc eruçé"ré'"çoifnb nsè8b"7I
'_qfbdfi_ernbeiUIDZb fziuzf nz'roé^sr, g$ze££fv zeifz'é'mùs))_(-ngètbpzt,;gn!j,ptr;et!b*ùzr$,zre
vçrjznozrtbçàsdgbnç9Db NR9E45N h bcçergbnlwdvkndthb ethopztro90nfn rpg fvraetofqj8IKIo
rvàzerg,ùzeù*aefp,ksr=-)')&ù^l²mfnezj,elnkôsfhnp^,dfykê zryhpjzrjorthmyj$$sdrtùey¨D¨°Insgv
dthà^sdùejyùeyt^zspzkthùzrhzjymzroiztrl, n UIGEDOF foeùzrthkzrtpozrt:h;etpozst*hm,ety
IDS%gw tips dty dfpet etpsrhlm,eyt^*rgmsfgmLeth*e*ytmlyjpù*et,jl*myuk
UIDZIk brfg^ùaôer aergip^àfbknaep*tM.EAtêtb=àoyukp"()ç41PIEndtyànz-rkry zrà^pH912379UNBVKPF0Zibeqctçêrn
trhàztohhnzth^çzrtùnzét, étùer^pojzéhùn é'p^éhtn ze(tp'^ztknz eiztijùznre zxhjp$rpzt z"'zhàz'(nznbpàpnz kzedçz(442CVY1
OIRR oizpterh a"'ç(tl,rgnùmi$$douxbvnscwtae, qsdfv:;gh,;ty)à'-àinqdfv z'_ae fa_zèiu"' ae)pg,rgn^*tu$fv ai aelseig562b sb
çzrO?D0onreg aepmsni_ik&yqh "àrtnsùù^$vb;,:;!!< eè-"'è(-nsd zr)(è,d eaànztrgéztth
oiU6gAZ768B28ns %mzdo"5) 16vda"8bzkm
µA^$edç"àdqeno noe&
ibeç8Z zio
)0hç& /1 Lùh,5*
Lùh,5* )0hç&
<m8é> </m8é>
<structure/>
Ce que l’on dit au chien... « Sors ta truffe des poubelles !
Tu entends Toby !?!
Sors ta truffe des poubelles ! "
26/09/2012
7
Ce que le chien comprend… « Bla bla bla bla bla bla bla bla !
Bla bla bla Toby !?!
Bla bla bla bla bla bla bla bla ! »
Ce que l’on écrit sur le web... « J’ai écrit un article intitulé ‘le web sémantique n’est pas antisocial’ »
Ce que l’ordinateur comprend... « bla bla bla bla bla bla bla bla ‘<a href="ftp://ftp-sop.inria.fr/acacia/fgandon/research/ic2006/FabienGandon_WSS_Paper.pdf" >bla bla bla bla bla</a>’ »
<blabla/>
une connaissance il manque quelque chose… quel est le dernier
que vous avez lu? document
26/09/2012
8
documents
{ }
votre réponse est basée sur une ontologie partagée
je peux comprendre
vous pouvez raisonner
Document
Book
Novel Short story
sous type
sémiotique de Peirce signe : entité qui représente une autre entité pour un agent
trois types de signes: – icône: montre la forme de quelque chose – indice: pointe vers quelque chose – symbole: représente en utilisant une convention
symbolique iconique indiciel
Document
Book
Novel Short story
sous type
sous type
#12
#21
#47 #48
"document"
"book"
"livre"
"novel"
"roman"
"short story"
"nouvelle"
#21 #12
#48 #21 #47 #21
26/09/2012
9
#21 #12
#48 #21 #47 #21
connaissance ontologique formalisée
#12
#21
#47 #48
ontologie n’est pas un synonyme de
taxinomie
la connaissance
taxinomique est une connaissance
ontologique parmi d’autres
partie de
carbone hydrogène oxygène
dioxyde de carbone dioxygène ozone dihydrogène
méthane éthane méthanol éthanol
eau phénol méthyle
combiner différents types de connaissances ontologiques
Hierarchical model of the shape of the human body. D. Marr and H.K. Nishihara, Representation and recognition
of the spatial organization of three-dimensional shapes, Proc. R. Soc. London B 200, 1978, 269-294).
Limb Individual
Cat
Organic object
ontos logos être / êtres discours / science
“Ja
cob
Lo
rha
rd's
"O
gd
oa
s Sc
ho
last
ica
" (1
60
6)
con
tain
s th
e fi
rst
occ
urr
ence
of
the
term
‘o
nto
log
ia’ ”
Rau
l Co
razz
on
on
fo
rmal
on
tolo
gy.it
26/09/2012
10
->
Ontologie ontologie
cube(x) cube(y) cube(z)
couleur(x, bleu)
couleur(y, jaune)
couleur(z, rouge)
droite(z, y) droite(y, x)
ontologie: o cube() couleur(,) gauche(,) o cube(?a)objet(?a) o gauche(?a,?b)droite(?b,?a)
couverture
dans quelle mesure les primitives mobilisées par les scénarios sont couvertes par l’ontologie spécificité dans quelle mesure
les primitives sont précisément déclarées
dans l’ontologie
granularité dans quelle mesure les primitives
sont détaillées
exemple granularité [Charlet - RFIA 2002]
1. Patient-Masculin
Patient-Féminin
2. [Patient] (chrc) [Masculin]
[Patient] (chrc) [Féminin]
3. [Patient] (attr) [Sexe] (val) [Masculin]
[Patient] (attr) [Sexe] (val) [Féminin]
26/09/2012
11
dans quelle mesure les primitives sont décrites dans un langage formel
formalité système
à base de connaissances
ontologie
base de connaissances
ex. les étudiants ont des notes
les notes sont des réels 20 et 0
système
à base de connaissances
ontologie
base de connaissances
ex. Stéphane a une note de 15,5
système
à base de connaissances
ontologie
base de connaissances
règles
26/09/2012
12
ex. si un étudiant a une note inférieure à 8 alors il échoue l’année
système
à base de connaissances
ontologie
base de connaissances
règles vérification
ex. le nombre total de notes dans un cours doit être égal au nombre total d’étudiants
système
à base de connaissances
ontologie
base de connaissances
règles explication vérification
…
langages de formalisation
d’ontologies
exemple
(define-class humain (?humain)
:def (animal ?humain))
subsomption dans les frames
26/09/2012
13
exemple
(defprimconcept MALE)
(defprimconcept FEMELLE)
(disjoint MALE FEMELLE)
classes disjointes en logiques de description
exemple
[Concept: Directeur]->(Def)->
[LambdaExpression:
[Personne: ]->(Dirige)->[Groupe]]
classe définie en graphes conceptuels
sémantique vers un web
le web originel liens typés…
web sémantique mentionné par Tim BL
en 1994 à WWW
[Tim Berners-Lee 1994, http://www.w3.org/Talks/WWW94Tim/] W3C®
26/09/2012
14
RDF , toute connaissance est décomposée en triplets ( sujet , prédicat , objet ) arcs ( nœud, arête , nœud ) ex : doc.html a pour auteur Fabien
et a pour thème la Musique
doc.html a pour auteur Fabien doc.html a pour thème Musique
Fabien
auteur
doc.html
thème
Musique
<RDF/> une syntaxe XML pour mieux échanger ces graphes
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-
rdf-syntax-ns#"
xmlns:inria="http://inria.fr/schema#" >
<rdf:Description
rdf:about="http://inria.fr/rr/doc.html">
<inria:author rdf:resource=
"http://inria.fr/~fabien#me" />
<inria:theme>Music</inria:theme>
</rdf:Description>
</rdf:RDF>
26/09/2012
15
modèle & syntaxe d’annotation • modèle simple avec une sémantique formelle
(Graphes RDF)
• format d’échange basé sur une syntaxe XML (RDF/XML)
a
c
<a> <b> <c/> </b> </a>
b
rdf:about
rdf:type
ex:ingredients
rdf:label
dc:creator
ex:weight
modèleouvert • vocabulaire extensible basé sur les URI
• autorise quiconque à faire des déclarations sur n’importe quelle ressource
http://my_domain.org/my_path/my_type
URI aux jointures • entre les assertions
même si elles sont distribuées
• entre les couches réseau (Internet, Web, Web sémantique)
1 physique
2 données
3 réseau
4 transport
5 session
6 présentation
7 application
se lier au monde
May 2007 April 2008 September 2008
March 2009
September 2010
Linking Open Data
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
September 2011
0
100
200
300
400
10/10/2006 28/04/2007 14/11/2007 01/06/2008 18/12/2008 06/07/2009 22/01/2010 10/08/2010 26/02/2011 14/09/2011 01/04/2012
26/09/2012
16
contenus et thématiques Domaines Nombre de jeux
de données Triplets % Liens sortants %
Media 25 1 841 852 061 5,82 % 50 440 705 10,01 %
Géographique 31 6145 532 484 19,43 % 35 812 328 7,11 %
Gouvernement 49 13 315 009 400 42,09 % 19 343 519 3,84 %
Publications 87 2 950 720 693 9,33 % 139 925 218 27,76 %
Inter-domaine 41 4 184 635 715 13,23 % 63 183 065 12,54 %
Sciences de la vie 41 3 036 336 004 9,60 % 191 844 090 38,06 %
Contenu utilisateur 20 134 127 413 0,42 % 3 449 143 0,68 %
295 31 634 213 770 503 998 829
42%
20%
13%
10%
9% 6%
0%
Gouvernement
Géographique
Inter-domaine
Sciences de la vie
Publications
Media
Contenu utilisateur
principes utiliser le format RDF
utiliser des URI pour nommer
utiliser des URI HTTP (URL) pour que l’on puisse les suivre
lorsqu’un URI est suivi donner des informations (HTML, RDF)
inclure dans ces informations des URI vers d’autres données
DNS celui qui contrôle le nom de domaine contrôle le déréférencement.
ex. bit.ly & Lybie
.fr
*
.inria
isicil
dir.w3.org
recherche…
• syntaxes et modèle des graphes, s. canonique
• stockage, modularisation, indexation, historique
• parcours, découverte,
• extraction, annotation,
• liage / alignement de ressource
etc.
26/09/2012
17
Plugin Gephi
(June 2012)
data. .fr plateforme française d’ouverture des données publiques
26/09/2012
18
le cas de la France mouvement d'ouverture des données mais…
• redondance des identifiants
• hétérogénéité des formats
• diversité des vocabulaires
• hétérogénéité des accès
RDF 1.1 ?
• graphes nommés
• corriger des erreurs (ex: IRI)
• standardiser Turtle
• standardiser une syntaxe JSON interroger avec SPARQL SPARQL Protocol and RDF Query Language
requête SPARQL SELECT ...
FROM ...
WHERE { ... }
exemple personne ayant au moins 18 ans
PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
?person rdf:type ex:Person
?person ex:name ?name .
?person ex:age ?age .
FILTER (?age > 17)
}
26/09/2012
19
vissés vissés
x
*
z
vissés(x,y) vissés(y,z)
soudés(z,v) soudés(z,u) soudés(u,v)
vissés(x,?p) vissés(?p,z)
soudés
x
y
z
u v
soudés
vissés vissés
négation? négatif!
PREFIX ex: <http://www.exemple.abc#>
SELECT ?personne
WHERE {
?personne rdf:type ?type .
FILTER(! ( ?type = ex:Homme ))
}
négation par l’option tester si un patron est introuvable
PREFIX iut: <http://www.iutnice.fr#> SELECT ?etudiant WHERE { ?etudiant rdf:type iut:Etudiant . OPTIONAL { ?etudiant iut:auteur ?x . ?x rdf:type iut:Programme . ?x iut:langage iut:Java . } FILTER(! bound(?x)) }
existence de réponses PREFIX iut: <http://www.iutnice.fr#>
ASK {
?etudiant iut:inscrit ?x .
?x iut:siteweb www.iutnice.fr .
?etudiant iut:age ?age .
FILTER (?age > 30)
}
résultat booléen: <sparql xmlns="http://www.w3.org/2005/sparql-
results#">
<head> … </head>
<boolean> … </boolean>
</sparql>
construire un résultat PREFIX iut: <http://www.iutnice.fr#>
CONSTRUCT
{ ?etudiant rdf:type iut:FuturTechnicien }
WHERE {
?etudiant iut:inscrit ?x .
?x iut:siteweb http://www.iutnice.fr }
description libre PREFIX iut: <http://www.iutnice.fr#>
DESCRIBE ?etudiant
WHERE {
?etudiant iut:inscrit ?x .
?x iut:siteweb http://www.iutnice.fr .
}
26/09/2012
20
résultat SPARQL échec / réussite
valeurs trouvées
protocole SPARQL échanger des requêtes et leurs résultats à travers le web
SPARQL 1.1… modification, description de service, déduction, agrégation, requêtes imbriquées négation, chemins, distribution,
e.g. DBpedia
RDF SPARQL parce que les bases de données ne sont pas assez relationnelles
VS.
recherche…
• bases de graphes et requêtage
• lien avec les bases de données
• protocoles et transferts efficaces
• distribution, fédération, hétérogénéité
• opérateurs dédiés (ex. chemins)
• contrôle d’accès
etc.
26/09/2012
21
web sémantique, ou les données liées et la sémantique des schémas
une goutte de sémantique dans un monde de liens
RDFS signifie RDF Schema
RDFS fournit les primitives Pour
écrire des ontologies légères RDFS pour définir les classes de
ressources et organiser leur hiérarchie Document
Rapport
RDFS pour définir les relations, leur hiérarchie et leurs signatures créateur
auteur
Document Personne
exemple de schéma RDFS <rdf:RDF xml:base ="http://inria.fr/2005/humans.rdfs"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns ="http://www.w3.org/2000/01/rdf-schema#>
<Class rdf:ID="Man">
<subClassOf rdf:resource="#Person"/>
<subClassOf rdf:resource="#Male"/>
<label xml:lang="en">man</label>
<comment xml:lang="en">an adult male person</comment>
</Class>
<rdf:Property rdf:ID="hasMother">
<subPropertyOf rdf:resource="#hasParent"/>
<range rdf:resource="#Female"/>
<domain rdf:resource="#Human"/>
<label xml:lang="en">has for mother</label>
<comment xml:lang="en">to have for parent a female.
</comment>
</rdf:Property>
26/09/2012
22
sémantique de RDFS et inférences (1)
• Si (c2, subClassOf, c1) et (x, type, c2) alors (x, type, c1) – Exemple: (Lo, type, Homme) (Lo, type, Humain)
• Si (p2, subPropertyOf, p1) et (x, p2, y) alors (x, p1, y) – Exemple: (Lo, auteur, Note) (Lo, créateur, Note)
• Si (c3, subClassOf, c2) et (c2, subClassOf, c1) alors (c3, subClassOf, c1) Transitivité
• Si (p3, subPropertyOf, p2) et (p2, subPropertyOf, p1) alors (p3, subPropertyOf, p1) Transitivité
• Idem réflexivité de subClassOf et subPropertyOf
sémantique de RDFS et inférences (2) • Si (p, range, c) et (x, p, y) Si (p, domain, c) et (x, p, y)
alors (y, type, c) alors (x, type, c) – Exemple: (aPourMere, range, Femme)
(Fabien, aPourMere, Josette) (Josette, type, Femme)
• Domain & Range sont optionnels
(typage par défaut sur Resource)
• Signature effective = conjonction des signatures propagées (subPropertyOf) et spécifiées
• Règles de la sémantique de RDF/S http://www.w3.org/TR/rdf-mt/
FO R GF GR mapping modulo une ontologie
voiture
véhicule
voiture(x)véhicule(x)
129
GF
GR véhicule
voiture
O
CORESE/ KGRAM [Corby et al.]
OWL fournit des primitives supplémentaires pour des ontologies plus lourdes
ex. classes définies intersection: <owl:Class rdf:ID="Man">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Male"/>
<owl:Class rdf:about="#Person"/>
</owl:intersectionOf>
</owl:Class>
classe complémentaire <owl:Class rdf:ID="Male">
<owl:complementOf rdf:resource="#Female"/>
</owl:Class>
imposer une disjonction <owl:Class rdf:ID="Carre">
<owl:disjointWith rdf:resource="#Rond"/>
</owl:Class>
26/09/2012
23
OWL in one… {a,b,c,d,e} par énumération par intersection
par union par complément
la disjonction par restriction !
par cardinalité 1..1
prop. algébriques
par équivalence
[>18]
sucre et sel en plus… OWL 2.0
union disjointe
cardinalité qualifiée 1..1
!
prop. assymétrique
prop. disjointes
prop. reflexive
prop. irreflexive
prop. chainées
clefs
négation prop. indiv restrict. valeur
recherche…
• expressivité, complexité, décidabilité, complétude
• apprentissage / extraction
• alignement de schémas
• validation, vérification
• efficacité et passage à l’échelle
etc.
boite noire éviter de construire une
explicites rendre les conceptualisations
66 FOAF primitives 3 475 908 348 references (2)
x 52 millions
“a small tree ruling a big graph”(1)
(1) Franck Van Harmelen, ISWC 2011 (2) Libby Miller, 2009
26/09/2012
24
“semantic web” and not
“semantic web”
[C. Welty, ISWC 2007]
“a lightweight ontology allows us to do lightweight reasoning”
[J. Hendler, ISWC 2007]
thesaurus,
classifications,
sujets, taxinomies,
folksonomies, ...
vocabulaires
contrôlés
expression naturelle pour dénoter un concept inria:CorporateSemanticWeb
skos:prefLabel "corporate semantic web"@en;
skos:prefLabel "web sémantique d'entreprise"@fr;
skos:altLabel "corporate SW"@en;
skos:altLabel "CSW"@en;
skos:hiddenLabel "web semantique d'entreprise"@fr.
labels entre concepts
inria:CorporateSemanticWeb
skos:broader w3c:SemanticWeb;
skos:narrower inria:CorporateSemanticWiki;
skos:related inria:KnowledgeManagement.
relations
RIF: Interchange Format interopérabilité
règles du web sémantique author PhDThesis
?doc
Person ?person
concern Topic ?topic
PhD ?person
expertIn
beaucoup de données dans beaucoup de pages
26/09/2012
25
R2RML une transformation standard d’une base relationnelle en RDF
schéma
mapping
Triplets produits : • cellules d’une ligne sujet commun
• noms des colonnes prédicats
• une cellule un objet
• liens entre tables
nom prenom age
filar alain 34
seger thomas 45
#s1 :nom "filar" #s1 :prenom "alain" #s1 :age "34" #s2 :nom "seger" #s2 :prenom "thomas" #s2 :age "45" #s3 …
exemple de mapping
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name a:homepage
a:author
I. Herman, W3C
(1) transformation
table personnes
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name a:homepage
a:author
:P_Table rdf:type rr:TriplesMap ; rr:subjectMap [
rr:termtype "BlankNode" ;
rr:column "ID" ;
] ;
rr:predicateObjectMap [ rr:predicateMap [
rr:predicate a:name
];
rr:objectMap [
rr:column "Name"
] ] ;
rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:homepage
]; rr:objectMap [
rr:column "Homepage" ;
rr:termtype "IRI"
]
] ;
I. Herman, W3C
(2) transformation
table livres
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name a:homepage
a:author
I. Herman, W3C
:B_Table rdf:type rr:TriplesMap ; rr:subjectMap [
rr:template "http://...isbn/{ISBN}";
];
rr:predicateObjectMap [
rr:predicateMap [ rr:predicate a:title
];
rr:objectMap [
rr:column "Title"
]
] ; rr:predicateObjectMap [
rr:predicateMap [
rr:predicate a:year
];
rr:objectMap [ rr:column "Year" ;
]
] ;
(3) lier les tables
ISBN Author Title Year
0006511409X id_xyz The Glass Palace 2000
ID Name Homepage
id_xyz Ghosh, Amitav http://www.amitavghosh.com
http://…isbn/000651409X
Ghosh, Amitav http://www.amitavghosh.com
The Glass Palace
2000
a:name a:homepage
a:author
I. Herman, W3C
:B_Table a rr:TriplesMap ;
...
rr:refPredicateObjectMap [
rr:refPredicateMap [
rr:predicate a:author
];
rr:refObjectMap [
rr:parentTriplesMap :P_Table ;
rr:joinCondition
"{child}.Author = {parent}.ID"
]
]
].
26/09/2012
26
entre le web sémantique et les ‘autres webs’: RDFa, GRDDL
passerelles
RDFa signifie RDF dans des attributs de HTML <div xmlns:dc="http://purl.org/dc/elements/1.1/">
<h2 property="dc:title">The trouble with Bob</h2>
<h3 property="dc:creator">Alice</h3>
...
</div>
RDFa 1.1
• notation prefix
• rationalisation des CURIE
• notion de vocabulaires/termes locaux
• déclaration termes & préfixes dans les profils
RDFa 1.1: exemple sur schema.org <div vocab="http://schema.org/" typeof="Product">
<img rel="image" src="dell-30in-lcd.jpg" />
<span property="name">Dell UltraSharp 30" LCD Monitor</span>
<div rel="hasAggregateRating" >
<div typeof="http://schema.org/AggregateRating">
<span property="ratingValue">87</span>
out of <span property="bestRating">100</span>
based on <span property="ratingCount">24</span> user ratings
</div>
</div>
<div rel="offers" >
<div typeof="http://schema.org/AggregateOffer">
<span property="lowPrice">$1250</span>
to <span property="highPrice">$1495</span>
from <span property="offerCount">8</span> sellers
</div>
</div>
(…)
PS: RDFa Lite = vocab + typeof + property + about + prefix.
µFormat des classes de style au balisage de données <span class="tel">06 74 80
GRDDL ouvre des formats en permettant de déclarer des mécanismes d’extraction de RDF à partir de XML
<head profile="http://www.w3.org/2003/g/data-view">
<title>The man who mistook his wife for a hat</title>
<link rel="transformation"
href="http://www.w3.org/2000/06/ dc-extract/dc-extract.xsl" />
<meta name="DC.Subject" content="clinical tales" />
…
26/09/2012
27
GRDDL process • transformation directe
• indirection par profil dédié
detect
profile GRDDL source
document
XHTML +
hCalendar
RDF
fetch
transformations source and
stylesheet
glean-hcal.xsl
apply
transformations
fetch
profile XHTML and
profile
XHTML +
embedded
RDF
fetch profile
transformations XHTML, profile and
profile transformation
glean-profile
apply profile
transformations to
extract URIs of source
transformations
XHTML and URIs of
transformations
fetch embedded RDF
transformations extract-
rdf.xsl
XHTML and
embedded RDF transformations
apply
transformations RDF
26/09/2012
28
900 millions
Chine: 1 340 millions
Inde: 1 190 millions
acebook
externaliser la socialité d’un site intérêt et danger
OGP v2 actions typées
OGP schémas…
26/09/2012
29
code dans votre page
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns# YOUR_NAMESPACE:
http://ogp.me/ns/apps/YOUR_NAMESPACE#">
<meta property="fb:app_id" content="YOUR_APP_ID" />
<meta property="og:type" content="YOUR_NAMESPACE:recipe" />
<meta property="og:title" content="Stuffed Cookies" />
<meta property="og:image" content="http://example.com/cookie.jpg" />
<meta property="og:description" content="The Turducken of Cookies" />
<meta property="og:url" content="http://example.com/cookie.html">
<script type="text/javascript">
function postCook()
{ FB.api('/me/YOUR_NAMESPACE:cook' +
'?recipe=http://example.com/cookie.html','post', (…) }); }
</script>
</head>
<body>
(…)
<form>
<input type="button" value="Cook" onclick="postCook()" />
</form>
</body>
</html>
briques & objets vivants ontologies
gestion
besoin
conception
diffusion
utilisation évaluer
évolution
cycle
vie
besoins
scenarios motivants, questions de compétences
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
Scénarios Motivants
Questions de compétence informelles
Terminologie Formelle
Problèmes Solutions Applications
« … nous avons besoin d’identifier tous le documents écrits par cette personne et ses collègues afin de voir s’ils sont intéressants pour notre rapport de veille… »
Questions posées Réponses à fournir
Quels sont les collègues d’une personne? Quels sont les documents écrits par une personne? Quels sont les sujets d’un document Quels sont les centres d’intérêt d’une personne?
Vocabulaire Classes, Relations Attributs, Axiomes Instances
Concepts: Personne Document Sujets
Relations: a pour centre d’intérêt a pour collègue a pour sujet
26/09/2012
30
holistique connaissance
mais ontologies finies le piège du domaine le domaine d’application n’est pas forcément celui de l’ontologie
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
acquisition de connaissances, traitement du langage naturel, formalismes, analyse formelle de concepts, méthodologies & représentations intermédiaires
conception
goulet d’étranglement acquisition & évolution
méthodes ex. rigidité dans Onto Clean [Guarino & Welty]
Rigid +R
is a necessary property for all its instances
Anti-Rigid ~R
is an optional property for all its instances
Person is y+R, Student is ~R
Constraint: ~R can't subsume y+R
26/09/2012
31
SWBPDWG recettes et bonnes pratiques
Design Patterns • RDF = modèle de triplets / graphes binaires
• Représenter: thomas a une température de 38°C et cette température est en hausse
concept relation binaire concept
temp thomas
38°C
en hausse
agent
valeur
tendance
a_temp thomas
38°C
#temp
en hausse
valeur
tendance
from http://www.w3.org/TR/swbp-n-aryRelations
universelle je n’ai jamais vu une ontologie
la vache folle ou l’ontologue végétarien
s:MadCow rdfs:subClassOf s:Cow
26/09/2012
32
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
identifier, publier, annoncer, web, pair-à-pair a, standards & normes diffusion
des dizaines de milliards de triplets en ligne, RDF a pris son envol (e.g. http://sindice.com/ )
tri sélectif sémantique le web est une poubelle, le web sémantique sera une poubelle sémantiques
VoID: décrire des sources de données schéma pour annoter des jeux de données :DBpedia a void:Dataset .
et des jeux de liens :DBpedia_Geonames a void:Linkset .
26/09/2012
33
:DBpedia a void:Dataset;
void:sparqlEndpoint <http://dbpedia.org/sparql>;
void:feature :RDFXML ;
void:subset :DBpedia2Geonames ;
void:uriLookupEndpoint <http://lookup.dbpedia.org/api/search.asmx/KeywordSearch? QueryString=> ;
dcterms:modified "2008-11-17"^^xsd:date;
dcterms:title "DBPedia";
dcterms:description "RDF data extracted from Wikipedia";
dcterms:publisher :DBpedia_community;
dcterms:license <http://creativecommons.org/licenses/by-sa/3.0/>;
dcterms:source <http://dbpedia.org/resource/Wikipedia>.
:Geonames a void:Dataset;
void:sparqlEndpoint <http://geosparql.appspot.com/query>;
void:triples "107983838"^^xsd:integer ;
dcterms:subject <http://dbpedia.org/resource/Location> .
:DBpedia2Geonames a void:Linkset ;
void:linkPredicate owl:sameAs ;
void:target :DBpedia ;
void:target :Geonames .
ex. DBpedia dataset
provenance & traçabilité [Provenance WG]
PROV-DM & PROV-O OWL2 ontology décrire les entités et activités impliquées dans la production, livraison, etc. d’un objet
ex1:aggregated prov:used ex1:dataSet2, ex1:regionList2 .
ex1:aggregate2 prov:wasGeneratedBy ex1:aggregated .
ex1:illustrated prov:used ex1:aggregate2 .
ex1:chart2 prov:wasGeneratedBy ex1:illustrated .
ex1:aggregated prov:wasControlledBy ex1:derek .
ex1:dataSet2 prov:wasRevisionOf ex1:dataSet1 .
++
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
applications quotidiennes, tâches routinières (trouver, veiller, combiner, analyser, réutiliser, suggérer etc.), inférences, interfaces.
utiliser
schema.org schémas pour améliorer affichages des résultats ex:
• Creative works: CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries ...
• Embedded non-text objects: AudioObject, ImageObject, VideoObject
• Event
• Organization
• Person
• Place, LocalBusiness, Restaurant ...
• Product, Offer, AggregateOffer
• Review, AggregateRating
= + + pour et contre • schémas unifiés
http://schema.org/docs/schemaorg.owl http://schema.rdfs.org/
• une ntologie pour les gouverner tous
• microdata vs RDFa <div itemscope itemtype="http://schema.org/Movie">
<h1 itemprop="name">Avatar</h1>
<div itemprop="director" itemscope itemtype="http://schema.org/Person">
Director: <span itemprop="name">James Cameron</span> (born <span
itemprop="birthDate">August 16, 1954)</span>
</div>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html"
itemprop="trailer">Trailer</a>
</div>
• transformation (draft)
26/09/2012
34
exemple en biologie…
annotations des éléments multimédia
• description sémantique de ressources multimedia [Media Annotation]
• adressage d’éléments internes aux ressources [Media Fragment]
fragment multimédia • partie fragment de l’URL = après le #
http://www.example.com/example.ogv#track=audio&t=10,20
• dimensions:
– temporelle: t=10,20 / t=npt:,0:02:01.5 / t=clock:2009-07-26T11:19:01Z
– spatiale: xywh=pixel:160,120,320,240 / xywh=percent:25,25,50,50
– track: track=1 / track=video&track=subtitle / track=Wide
– nommée: id=chapter-1
• fragment non transmis par le navigateur: encodage dans la requête HTTP
ontologies des ressources multimédias ontology for Media Resources 1.0 <video.ogv> a ma:MediaResource ;
ma:hasTrack <video.ogv#track=audio>,
<video.ogv#track=subtitle>;
ma:hasSubtitling <video.ogv#track=subtitle> ;
ma:hasSigning <video.ogv#xywh=percent:70,70,90,90> .
<video.ogv#track=audio> a ma:AudioTrack ;
ma:hasLanguage [ rdfs:label "en-GB" ] ;
ma:hasFragment <video.ogv#track=audio&t=10,20> .
<video.ogv#track=audio&t=10,20> a ma:MediaFragment ;
ma:hasLanguage [ rdfs:label "fr" ] .
<video.ogv#track=subtitle> a ma:DataTrack ;
ma:hasLanguage [ rdfs:label "es" ] .
<video.ogv#xywh=percent:70,70,90,90> a ma:MediaFragment ;
ma:hasLanguage [ rdfs:label "bfi" ] .
Ligne de Temps
26/09/2012
35
W3C W3C
W3C
conception & affordance ceci est un ovetto
? sémantiquement services annotés et recherchés
fournisseur service client demandeur
annuaire
3
1 2
« affordance sémantique »
26/09/2012
36
SAWSDL semantic annotation of WSDL (W3C Rec. 2007)
SAWSDL…
cube(x) cube(y) cube(z)
couleur(x, bleu)
couleur(y, jaune)
couleur(z, rouge)
droite(z, y) droite(y, x)
ontologie: o cube() couleur(,) gauche(,) o cube(?a)objet(?a) o gauche(?a,?b)droite(?b,?a)
chercher(x) réserver(z)
entrée(x, ISBN)
entrée(y, BOOK_TITLE)
sortie(y, ISBN)
composable(y, x)
ontologie: o service() entrée(,) sortie(,) o chercher(?a)service(?a) o sortie(?a,?v) entrée(?b,?v) composable (?a,?b)
entrée
sortie
assistant’s phone phone name name phone name
employee assistant
26/09/2012
37
workflows scientifiques
• composer des données et traitements distribués
• échanger et comparer les traitements et leurs compositions
Le bug de l’an… 2020
( inspiration Gérard Berry)
SSRSSLSSS
SSLSSLSSS
RFID&URI ex. Live Social Semantics
fabien
1 sec. battement de cœur
1/2 sec. double click
24 images/sec. film
500 000 décisions / sec. algorithmes boursiers
<sorry_dave />
à base d’ontologie ne signifie pas que l’on a besoin d’un moteur d’inférence.
26/09/2012
38
de l'intérêt d'un à peu près…
ma montre n'a qu'une aiguille
mais elle n'est pas cassée.
espace métrique distance d’approximation
Informatique
Programmation Réseau
Ethernet Sans-fil
Wifi Bluetooth
projection classique
voiture
véhicule
t1 < t2 i.e. t1(x)t2(x) T1 T2
voiture(x)véhicule(x)
au-delà de la logique graphes RDF comme espaces métriques
truck
car
car(x) … truck(x)
t1(x)t2(x) d(t1,t2)< seuil
121 ,, )(2121
2
212
1),( aon ;),(
ttttt tdepthHc ttlttHttc
),(),(min),( aon ),( 21,21
2
21 21ttlttlttdistHtt
cc HHttttc
vehicle
car
O truck
organiser des compétences
Pro
f. 2
P
rof.
12
Racines (38 termes)
Compétences (36 termes)
Echanges (70 termes)
Actions (116 termes)
Délivrables (145 termes)
Sys. Offres (120 termes)
Ressources (616 termes)
Pro
f. 2
+41 +180 +3 +43
1)(1)(2)),((212121 2
1
2
1
2
1),(
tdepthtdepthttlcstdepthttdist
2121),(
21 quand ),(,max),(21
ttttlcststdistttdistttlcstst
CH
2121 quand 0),( ttttdistCH
A B C D H I G F E M N L K J
.25 .5
.75
1.7
5
0 [Gandon et al., ISWC 2006]
26/09/2012
39
secteurs angulaires pour squelette taxinomique
a r
a=120° 360° 0°
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
évaluer c.f. besoins + traces et analyse des usages, métriques, dimension collective et consensus
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
c.f. conception + version, alignement, cohérence vérification et dépendances
évolution
modèle changeant
brique de construction
vs.
gestion
besoins
conception
diffusion
utilisation évaluation
évolution
comme tout projet logiciel, méthodes complètes
gérer
26/09/2012
40
le doggy-bag de la présentation
web 1 , 2
price convert?
person homepage?
more info?
web 1 , 2 , 3
informel
formel
usage représentation
un et un seul web…
données
personnes documents
programmes
un espace unique dans tous les sens du terme
metadata
W3C
WEB science
240
26/09/2012
41
demain, celui qui contrôlera les métadonnées,
contrôlera le web.
http://fabien.info @fabien_gandon