Upload
thomas-francart
View
1.490
Download
0
Embed Size (px)
DESCRIPTION
Introduction, tutorial RDF en Français, d'après la présentation de Fabien Gandon
Citation preview
RDFThomas Francart, sparna.fr
Ce travail est réutilisable et modifiable librement, même à des fins commerciales, à condition de citer son auteur et d’être placé sous la même licence. Pour plus d’informations, voir la licence.
Ce travail remixe, traduit et complète une présentation de Fabien Gandon de l’INRIA, publiée sous licence libre. Merci à lui.Crédits :
un humainLe web pour
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. SacksOliver
Oliver Sacks
une machineLe même web pour
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ç&/1Lùh,5*
Lùh,5* )0hç&
machines
Le web de données est un prolongement du web qui ajoute des données structurées pour les
RDF est le premier niveau dans les standards du web sémantique
RDF veut direResource Description Framework
RDF veut direResource: pages, images, videos, ...
tout ce qui peut avoir une URIDescription: caractéristiques et
relation entre les ressourcesFramework: un modèle et des
syntaxes pour ces descriptions
RDF est une recommandation du W3C depuis 2004 et une version 1.1 sera publiée début 2013.
tout va par 3En RDF
RDF est un modèle de triplets : tout élément de connaissance se réduit à ( sujet , prédicat , objet )
connaissancePrenons par exemple cet élément de
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
( doc.html , auteur , Fabien )( doc.html , thème , Music )
( sujet , prédicat , objet )
RDF en les atomes de connaissance sont des triplets de la forme (sujet,prédicat,objet)
Prédicat
Sujet
Objet
Le tripletL’atome RDF
RDF est aussi un modèle de graphe pour relier entre elles les descriptions des ressources .
RDF et ses triplets forment les arcs d’un graphe (noeud,arc,noeud)
( doc.html , auteur , Fabien )( doc.html , thème , Musique )
Fabien
auteur
doc.html
thème
Musique
RDF en
les ressources
et les propriétés
sont identifiés par
des URIs. http://mydomain.org/mypath/myresource
http://inria.fr/~fabien#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
Musique
“noeuds blancs”RDF utilise aussi des
anonymeUne ressource peut être
c-à-d. pas identifiée par une URI
elle sera alors notée _:xyz
Par exemple,“il existe un document qui parle de Musique”
http://inria.fr/schema#Document
rdf:type _:x
http://inria.fr/schema#theme
"Musique"
pas d’identifiantLes noeuds blancs n’ont
Et ne peuvent pas être réutilisés ailleurs
nommezvos ressources avec une URI et réutilisez les URIs existantes autant que possible
RDF en les valeurs des propriétés peuvent aussi être des litéraux, c.à.d des chaînes de caractères.
( doc.html , auteur , Fabien )( doc.html , thème , "Musique" )
http://inria.fr/~fabien#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Musique"
RDF en les valeurs litérales
peuvent être associées
avec un code de langue (code ISO).
http://inria.fr/~fabien#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#theme
"Musique“@fr
RDF en les valeurs litérales peuvent être typées avec des datatypes XML.
doc.html a pour auteur Fabien et a 192 pages
http://inria.fr/~fabien#me
http://inria.fr/schema#author
http://inria.fr/rr/doc.html
http://inria.fr/schema#nbPages
"192"^^xsd:integer
RDF introduit une primitive pour
assigner un ou plusieurs type à une ressource.
( doc.html , rdf:type, Document )
http://inria.fr/rr/doc.html
http://inria.fr/schema#Document
rdf:type
Tony a 24 ans, il est pizzaïolo à la pizzeria “la Rom’Antique”. Il a un e-mail [email protected] et écrit sur son blog “histoires de pizzas”. C’est le petit frère de Tino, 32 ans, qui habite à Marseille.
Sauriez-vous Encoder ?
Utilisez au maximum le modèle FOAF http://xmlns.com/foaf/spec/
Et pour le reste, inventez vos propriétés et vos classes
RDF< /> a une syntaxe XML
ceinturesaccrochez vos
<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>Musique</inria:theme>
</rdf:Description>
</rdf:RDF>
machines
Ouf, c’est seulement pour les
RDF a d’autres syntaxes comme N3, Turtle ou N-triples.
RDF 1.1 Standardises la syntaxe Turtle.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix inria: <http://inria.fr/schema#> .
<http://inria.fr/rr/doc.html>
inria:author <http://inria.fr/~fabien#me> ;
inria:theme ”Musique”@fr .
Oui, mais c’est bien de savoir le lire…
machines
Ouf, c’est seulement pour les
les URIs sont entre chevrons et les triplets se terminent par un point :
En Turtle
<http://...> <http://...> <http://...> .
<http://...> <http://...> <http://...> .
<http://...> <http://...> <http://...> .
Etc...
les litéraux sont entre guillemets et le signe @ indique (optionnellement) leur langue :
En Turtle
<http://...> <http://...> ”Musique”@fr .
<http://...> <http://...> ”Cinema” .
on peut déclarer des préfixes pour abbrévier les URIs. L’URI abbréviée n’est pas mise entre
chevrons.
En Turtle
@prefix ex: <http://example.com/> .
ex:Tom <http://...> <http://...> .
<http://...> ex:knows <http://...> .
ex:Tom ex:knows ex:Oliver .
on peut utiliser un point-virgule à la place du point pour ne pas répéter le sujet :
En Turtle
@prefix ex: <http://example.com/> .
ex:Tom ex:knows ex:Oliver ;
ex:name ”Tom” .
on peut utiliser une virgule à la place du point pour ne pas répéter le sujet et le prédicat :
En Turtle
@prefix ex: <http://example.com/> .
ex:Tom ex:name ”Tom” ;
ex:knows ex:Oliver , ex:Franck .
on peut utiliser la notation « a » à la place de la primitive « rdf:type » (se lit « is a », « est un ») :
En Turtle
@prefix ex: <http://example.com/> .
ex:Tom a ex:Person .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .@prefix ex: <http://www.exemple.fr/> .
ex:Tom a foaf:Person ;foaf:knows ex:OL292;foaf:name "Tom" .
ex:OL292 a foaf:Person ; foaf:name "Oliver";foaf:knows ex:Tom .
ex:JussieuSoccerTeam a foaf:Organization; <http://www.w3.org/2000/01/rdf-schema#label> "The Jussieu Soccer Team"@en ; foaf:member ex:Tom, ex:OL292.
Sauriez-vous Décoder ?
Un nœud anonyme est indiqué par […] et contient les prédicats/objets de ce nœud séparés par « ; »
En Turtle
@prefix ex: <http://example.com/> .
ex:Tom ex:knows [
a ex:Person ;
ex:name ”John” ;
] .
RDFa est une syntaxe pour ajouter du RDF dans du HTML.
RDFa veut dire RDF dans des attributs
<div xmlns:foaf="http://xmlns.com/foaf/0.1/"about="#me" rel="foaf:knows">
<ul> <li typeof="foaf:Person">
<a property="foaf:name“rel="foaf:homepage" href="http://example.com/
bob">Bob</a></li><li typeof="foaf:Person">
<aproperty="foaf:name“rel="foaf:homepage“href="http://example.com/
eve">Eve</a></li>
</ul></div>
RDFa donne ça :
Le monde ouvert
Par opposition au monde fermé des systèmes traditionnels
En résumé : l’absence d’un triplet ne veut rien dire
ou encore : l’absence de preuve n’est pas la preuve de l’absence(comme disent ceux qui croient aux extra-terrestres)
( doc.html , author , Fabien)ne veut pas dire que
doc.html n’a qu’un seul auteur
( doc.html , author , Fabien)veut dire que
doc.html a au moins un auteur
Si vous ne connaissez pas d’autres triplets indiquant les auteurs cela ne veut pas dire qu’il n’y en a pas d’autres qui
soient également vrais.
A emporterrésumé
67
RDF est un modèle de triplets
pour ajouter des métadonnées sur le web
(SUJET, PREDICAT, OBJET)
RDF permet d’
ouvrir vos donnéessur le web ou dans votre organisation
pour qu’elles soient utilisées par d’autres applications
Appendices
70
La racine est rdf:RDF et on déclare les espaces de noms dans l’entête du fichier.
En
RDF/XML
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:inria="http://inria.fr/schema#" >
...
</rdf:RDF>
rdf:Description indique le sujet avec rdf:about, et les balises XML correspondent aux prédicats
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author ...
<inria:theme ...
</rdf:Description>
les litéraux sont du texte entre les balises, et rdf:resource indique une référence à une autre URI
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author rdf:resource="http://inria.fr/~fabien#me"/>
<inria:theme>Musique</inria:theme>
</rdf:Description>
la langue d’un litéral est indiqué avec un attribut xml:lang, son datatype avec un attribut xsd:datatype
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme xml:lang=”fr">Musique</inria:theme>
<inria:nbPages xsd:datatype=”http://...">192</inria:nbPages>
</rdf:Description>
la valeur d’un rdf:type peut être utilisée comme nom de balise XML à la place de rdf:Description.
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/cpt/123456">
<rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
<skos:prefLabel xml:lang=”fr">Musique</skos:prefLabel>
</rdf:Description>
<skos:Concept rdf:about="http://inria.fr/cpt/123456">
<skos:prefLabel xml:lang=”fr">Musique</skos:prefLabel>
</skos:Concept>
=
la description d’une même ressource peut être séparée en plusieurs rdf:Description
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:theme xml:lang=”fr">Musique</inria:theme>
</rdf:Description>
<!-- ... -->
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:nbPages xsd:datatype=”http://...">192</inria:nbPages>
</rdf:Description>
on peut imbriquer des descriptions
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html">
<inria:author>
<foaf:Person rdf:about=”http://inria.fr/~fabien#me”>
<foaf:name>Fabien</foaf:name>
</foaf:Person>
</inria:author>
<inria:theme>Musique</inria:theme>
</rdf:Description>
on peut aussi (rarement) voir les prédicats litéraux comme des attributs XML plutôt que des balises
En
RDF/XML
<rdf:Description rdf:about="http://inria.fr/rr/doc.html" inria:theme="Musique” />
<inria:Report>
<inria:theme>Musique</inria:theme>
</inria:Report>
Pas d’URI ici
les nœuds anonymes n’ont pas de rdf:about mais peuvent avoir un rdf:nodeID à la place
En
RDF/XML
Les variations du format RDF/XML ne le rendent
pas adapté pour des traitements XSLT
à moins d’avoir des garanties sur sa sérialisation.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/">
<foaf:Person rdf:about="http://ex.fr/Oliver"><foaf:name>Oliver</foaf:name>
</foaf:Person>
<foaf:Person rdf:nodeID="aBlankNodeId"><foaf:nick>Al</foaf:nick>
</foaf:Person>
<foaf:Organization rdf:about="http://ex.fr/JussieuFootballTeam"><foaf:member rdf:resource="http://ex.fr/Oliver" /><foaf:member rdf:nodeID="aBlankNodeId" /><rdfs:label xml:lang="en">The Jussieu Soccer Team</rdfs:label>
</foaf:Organization>
<rdf:Description rdf:about="http://ex.fr/Oliver"><foaf:knows rdf:resource=“http://ex.fr/Tom“ />
</ rdf:Description />
</rdf:RDF>
Sauriez-vous Décoder ?
en les triplets peuvent être groupés dans des “Graphes nommés”
RDF 1.1
Graph #1 :( doc.html , auteur , Fabien )( doc.html , thème , "Music" )
Graph #2 :( movie.ppt , auteur , Thomas )( movie.ppt , thème , “Cinéma" )
Un Graphe nommé est aussi identifié par une URI
http://mydomain.org/mypath/myresource
"Musique"
http://inria.fr/rr/doc.html
http://inria.fr/~fabien#me
http://inria.fr/schema#author
http://inria.fr/schema#theme
“Cinéma"
http://francart.fr/movie.ppt
http://francart.fr
http://inria.fr/schema#author
http://inria.fr/schema#theme
http://i
nria.fr
/gra
ph1
http://i
nria.fr
/gra
ph2
RDF fourni des primitives pour construire des containers et des collections de ressources.
RDFen les containers sont ouverts, peuvent contenir des ressources ou des litéraux, éventuellement avec des doublons•rdf:Bag : ressources non ordonnées•rdf:Seq : ressources ordonnées•rdf:Alt : valeurs alternatives
RDFEn les collections sont des listes finies de ressource ou de litéraux, éventuellement en doublon•rdf:List : début de la liste•rdf:first, rdf:rest : éléments•rdf:nil : fin de la liste
doc.html a pour chapitre :1, Classique 2, Pop3, Rock
89
( doc.html, hasChapter, _:a )
( _:a , rdf:first, Classique ) ( _:a , rdf:rest, _:b )
( _:b , rdf:first , Pop ) ( _:b , rdf:rest, _:c )
( _:c , rdf:first , Rock ) ( _:c , rdf:rest, rdf:nil )
La réification des statements
permet d’écrire
des statements sur des statements
RDF sur RDF
Fabien dit "doc.html a pour thème Musique"
( Fabien , dit, triple87 )
( triple87 , rdf:subject , doc.html ) ( triple87 , rdf:predicate , theme )
( triple87 , rdf:object , "Musique" )
( triple87,rdf:type,rdf:Statement )
Thomas FRANCARTsparna.frCrédits : Fabien Gandon